aspect oriented programming
Recently Published Documents


TOTAL DOCUMENTS

421
(FIVE YEARS 28)

H-INDEX

24
(FIVE YEARS 1)

Computing ◽  
2021 ◽  
Author(s):  
Carlos Sáenz-Adán ◽  
Francisco J. García-Izquierdo ◽  
Beatriz Pérez ◽  
Trung Dong Huynh ◽  
Luc Moreau

AbstractData provenance is a form of knowledge graph providing an account of what a system performs, describing the data involved, and the processes carried out over them. It is crucial to ascertaining the origin of data, validating their quality, auditing applications behaviours, and, ultimately, making them accountable. However, instrumenting applications, especially legacy ones, to track the provenance of their operations remains a significant technical hurdle, hindering the adoption of provenance technology. UML2PROV is a software-engineering methodology that facilitates the instrumentation of provenance recording in applications designed with UML diagrams. It automates the generation of (1) templates for the provenance to be recorded and (2) the code to capture values required to instantiate those templates from an application at run time, both from the application’s UML diagrams. By so doing, UML2PROV frees application developers from manual instrumentation of provenance capturing while ensuring the quality of recorded provenance. In this paper, we present in detail UML2PROV’s approach to generating application code for capturing provenance values via the means of Bindings Generation Module (BGM). In particular, we propose a set of requirements for BGM implementations and describe an event-based design of BGM that relies on the Aspect-Oriented Programming (AOP) paradigm to automatically weave the generated code into an application. Finally, we present three different BGM implementations following the above design and analyze their pros and cons in terms of computing/storage overheads and implications to provenance consumers.


2021 ◽  
Author(s):  
◽  
Stephen Frank Nelson

<p>Freshly created objects are a blank slate: their mutable state and their constant properties must be initialised before they can be used. Programming languages like Java typically support object initialisation by providing constructor methods. This thesis examines the actual initialisation of objects in real-world programs to determine whether constructor methods support the initialisation that programmers actually perform. Determining which object initialisation techniques are most popular and how they can be identified will allow language designers to better understand the needs of programmers, and give insights that VM designers could use to optimise the performance of language implementations, reduce memory consumption, and improve garbage collection behaviour. Traditional profiling typically either focuses on timing, or uses sampling or heap snapshots to approximate whole program analysis. Classifying the behaviour of objects throughout their lifetime requires analysis of all program behaviour without approximation. This thesis presents two novel whole-program object profilers: one using purely class modification (#prof ), and a hybrid approach utilising class modification and JVM support (rprof ). #prof modifies programs using aspect-oriented programming tools to generate and aggregate data and examines objects that enter different collections to determine whether correlation exists between initialisation behaviour and the use of equality operators and collections. rprof confirms the results of an existing static analysis study of field initialisation using runtime analysis, and provides a novel study of object initialisation behaviour patterns.</p>


2021 ◽  
Author(s):  
◽  
Stephen Frank Nelson

<p>Freshly created objects are a blank slate: their mutable state and their constant properties must be initialised before they can be used. Programming languages like Java typically support object initialisation by providing constructor methods. This thesis examines the actual initialisation of objects in real-world programs to determine whether constructor methods support the initialisation that programmers actually perform. Determining which object initialisation techniques are most popular and how they can be identified will allow language designers to better understand the needs of programmers, and give insights that VM designers could use to optimise the performance of language implementations, reduce memory consumption, and improve garbage collection behaviour. Traditional profiling typically either focuses on timing, or uses sampling or heap snapshots to approximate whole program analysis. Classifying the behaviour of objects throughout their lifetime requires analysis of all program behaviour without approximation. This thesis presents two novel whole-program object profilers: one using purely class modification (#prof ), and a hybrid approach utilising class modification and JVM support (rprof ). #prof modifies programs using aspect-oriented programming tools to generate and aggregate data and examines objects that enter different collections to determine whether correlation exists between initialisation behaviour and the use of equality operators and collections. rprof confirms the results of an existing static analysis study of field initialisation using runtime analysis, and provides a novel study of object initialisation behaviour patterns.</p>


Author(s):  
Olga Kucherіava ◽  
◽  
Nataliia Holeho

A new promising approach to program development has been considered – aspect-oriented programming, intended for automated adding to the target applications of crosscutting functionality. The article presents the application of an aspect oriented approach for creating logging in the e-commerce system


Author(s):  
Augusto Flávio A. A. Freire ◽  
Américo Falcone Sampaio ◽  
Luis Heustakio L. Carvalho ◽  
Otávio Medeiros ◽  
Nabor C. Mendonça

2021 ◽  
Vol 11 (1) ◽  
pp. 6719-6723
Author(s):  
H. Mestiri ◽  
I. Barraj ◽  
M. Machhout

The increasing complexity of the cryptographic modeling and security simulation of the Advanced Encryption Standard (AES) necessitate fast modeling and simulation security environment. The SystemC language is used in Electronic System Level (ESL) that allows cryptographic models to achieve high security and modeling simulation speed. Yet, the use of SystemC in the security simulation requires modifications of the original code which increases the modeling complexity. The Aspect-Oriented Programming (AOP) can be used in the cryptographic modeling and security simulations without any code modification. In this paper, a new AES SystemC model using the AOP technique is presented. A functional verification environment is proposed to test the functionality of the AES SystemC AOP model, the impact of AOP on simulation time, and the size of the executable files. The design of the AES model is developed with the weaving of all modules by AspectC++ which is an AOP language. The Simulation results show the efficiency of the proposed AES model and the uses of the AOP technique do not have a significant impact on simulation time or on the size of the executable file.


2020 ◽  
Vol 13 (5) ◽  
pp. 1031-1038
Author(s):  
Amandeep Kaur ◽  
Pritam Singh Grover ◽  
Ashutosh Dixit

Background: Aspect-oriented programming promises to enhance the extensibility and reusability of code through the removal of tangled and crosscutting code. Determining the degree of coupling for Aspect- Oriented Systems (AOSs) would assist in the quantification of various software attributes and hence improve quality. Objective: The research aims to present a novel Aspect-oriented System Coupling Metric (COAO), that calculates the coupling for the complete aspect-oriented system as a whole, based on the properties of elements and the relationships among them. Methods: The process of defining a metric essentially requires a clear, unambiguous definition of primary and relevant concepts related to Aspect-Oriented Programming. As such, first and foremost, novel definitions of basic concepts such as system, element, relation, module, and attribute are specified concerning Aspect- Oriented Programming. Subsequently, a metric for Aspect-Oriented System Coupling is proposed. Subsequently, the proposed metric is validated theoretically against Braiand properties for coupling of software systems. Finally, an illustration for calculation of the proposed metric is demonstrated using an exemplary aspect-oriented system. Results: The findings reveal that the proposed Aspect-Oriented Coupling metric conforms to the five Property- Based software engineering measurements given by Braiand et al. for coupling. This indicates that the proposed metric for the Aspect-oriented System Coupling metric COAO is a valid metric for measuring coupling in Aspect-oriented Software Systems. Conclusion: Results of validation along with the supportive illustration show that single metric to assess coupling for the complete Aspect-oriented Software System is theoretically sound and also easies the calculation of coupling of a software system.


Author(s):  
Jakub Flotyński

Abstract The main element of extended reality (XR) environments is behavior-rich 3D content consisting of objects that act and interact with one another as well as with users. Such actions and interactions constitute the evolution of the content over time. Multiple application domains of XR, e.g., education, training, marketing, merchandising, and design, could benefit from the analysis of 3D content changes based on general or domain knowledge comprehensible to average users or domain experts. Such analysis can be intended, in particular, to monitor, comprehend, examine, and control XR environments as well as users’ skills, experience, interests and preferences, and XR objects’ features. However, it is difficult to achieve as long as XR environments are developed with methods and tools that focus on programming and 3D modeling rather than expressing domain knowledge accompanying content users and objects, and their behavior. The main contribution of this paper is an approach to creating explorable knowledge-based XR environments with semantic annotations. The approach combines description logics with aspect-oriented programming, which enables knowledge representation in an arbitrary domain as well as transformation of available environments with minimal users’ effort. We have implemented the approach using well-established development tools and exemplify it with an explorable immersive car showroom. The approach enables efficient creation of explorable XR environments and knowledge acquisition from XR.


Sign in / Sign up

Export Citation Format

Share Document