22 research outputs found

    Join Point Designation Diagrams: Eine grafische Darstellungsweise für den Entwurf von Join Point Selektionen in der aspektorientierten Softwareentwicklung

    Get PDF
    Sharing knowledge about program specifications is a crucial task in collaborative software development. Developers need to be able to properly assess the objectives of the program specification in order to adequately deploy or evolve a piece of program. The specification of join point selections (also known as "pointcuts") in Aspect-Oriented Software Development (AOSD) is a piece of a program which frequently tends to grow quite complex, in particular if the join point selections involve selection constraints on the dynamic execution history of the program. In that case, readers of the pointcut specification frequently find themselves confronted with considerable comprehension problems because they need to inspect and realize an intricate and fragmented program specification in order to reconstruct the true objectives of the join point selection. This thesis presents Join Point Designation Diagrams (JPDDs) as a possible solution to the problem. JPDDs are a visual notation that provides an extensive set of join point selection means which are consolidated from a variety of contemporary aspect-oriented programming languages. JPDDs are capable of highlighting different join point selection constraints depending on the conceptual view on program execution which underlies the join point selection. With the help of these means, JPDDs are capable of representing complex join point selections on the dynamic execution of a program in a succinct and concise manner. JPDDs may be used by software developers of different aspect-oriented programming languages to represent their join point selections for the sake of an improved comprehensibility of the join point selections and – thus – for the sake of an easier communication between software developers. This thesis gives empirical evidence that JPDDs indeed facilitate the comprehensibility of join point selections. To do so, it conducts a controlled experiment which compares JPDDs to equivalent pointcut implementations in an aspect-oriented programming language. The experiment shows that JPDDs have a clear benefit over their codified counterparts in most of the case, while only in few cases no such benefit could be measured.Die Kommunikation und der Wissensaustausch zwischen Softwareentwicklern über Programmspezifikationen ist eine essentielle Notwendigkeit in großen Softwareprojekten. Softwareentwickler müssen den Sinn und Zweck eines (Teil)Programms richtig erfassen, bevor sie in der Lage sind, das (Teil)Programm richtig einzubinden bzw. weiterzuentwickeln. Join Point Selektionen in der aspektorientierten Softwareentwicklung (auch "Pointcuts" genannt) sind ein Beispiel für Programmspezifikationen, die schnell komplex werden – insbesondere dann, wenn sie Selektionsbedingungen enthalten, die sich auf die Laufzeitvergangenheit eines Programms beziehen. Die Spezifikationen solcher Join Point Selektionen sind oft schwer zu verstehen, da Softwareentwickler eine Vielzahl kleiner Spezifikationsfragmente und ihre Abhängigkeiten analysieren müssen, bevor sie den Sinn und Zweck einer Join Point Selektion erfassen können. Diese Dissertation präsentiert Join Point Designation Diagrams (JPDDs) als eine Lösung für das Problem. JPDDs sind eine grafische Notation, die eine Vielzahl von Selektionstechniken aus aktuellen aspektorientierten Programmiersprachen vereinigt. JPDDs ermöglichen es, unter Berücksichtigung gängiger konzeptioneller Sichten auf die Programmausführung relevante Selektionsbedingungen besonders hervorzuheben. Dabei stellen JPDDs Bedingungen, die sich auf die Laufzeitvergangenheit eines Programms beziehen, unzersplittert dar. JPDDs können von Softwareentwicklern unterschiedlicher Programmiersprachen benutzt werden, um ihre Join Point Selektionen zu spezifizieren und so das Verständnis der Join Point Selektionen – und damit die Kommunikation und den Wissensaustausch zwischen Softwareentwicklern – zu vereinfachen. Diese Dissertation weist mit Hilfe eines kontrollierten empirischen Experiments nach, dass JPDDs tatsächlich in der Lage sind, das Verständnis von Join Point Selektionen zu vereinfachen. Dazu werden JPDDs mit äquivalenten Pointcut-Spezifikationen in einer aspektorientierten Programmiersprache verglichen. Das Experiment zeigt, dass JPDDs in der Mehrzahl der Fälle vorteilhaft sind. Nur in wenigen Ausnahmen konnte kein Vorteil im Vergleich zu der aspektorientierten Programmiersprache beobachtet werden

    Enhancement Of Join Point Designation Diagrams (Jpdds) With Procedural Logic And Timing Constraint For Aspect-Oriented Modeling

    Get PDF
    Aspect-Oriented Software Development (AOSD) is a technology that helps achieve better Separation of Concern (SOC) by providing mechanisms to localize cross-cutting concerns. Aspect-Oriented Modeling (AOM) is a design technique in AOSD which attempts to separate crosscutting concerns in the earliest steps of software development. Queries on join points are an essential part of AOSD. Join point queries are necessary to identify all relevant points in a program at which aspectual adaptations need to take place. Finding appropriate means to designate such sets of relevant join points is a highly active field of research in AOSD. Join Point Designation Diagrams (JPDDs) are means that visualize join point queries graphically and separately from the adaptation specification. They provide a visual means to constrain the selection of join points based on static and dynamic, structural and behavioral context. Based on the latest researches on JPDDs, it has been lacking of support in procedural logic by JPDDs such as loops, alternative structures, and conditional branching between object interactions in the selection criteria of the join points. It causes some join points could not be modeled by JPDDs when join point specifications get complex in aspect-oriented programs. There is another issue in JPDDs which is lack of supporting timing constraints in the join points. There is no way or notation to visualize any timing constraint in a JPDD. Since time constraint is a major issue in real time systems, this lack of support makes a gap between real time system design and join point diagrams. In order to solve the stated problems, three new extension models are introduced in this research based on UML 2.0. Loop Condition Constraint Model (LCCM) and Alternative Constraint Model (ACM) are presented which aim to support procedural logic and reduce the redundancy of the message flows in JPDDs. Time Constraint Model (TCM) is introduced to fill the gap between real time systems and JPDDs. Some examples are used to evaluate the proposed models. Each example firstly is modeled by JPDDs without the proposed extensions and then is modeled by JPDDs with the proposed extensions. The results of the experiments showed that the proposed extensions are able to support the missing structures and eased the designation of join points. Introducing the proposed extensions in this thesis creates new opportunities in the join point selection research

    Aspect-Oriented Business Process Modeling Approaches: An assessment of AOP4ST

    Get PDF
    Aspect-oriented business process modeling (AOBPM) is an emerging discipline which has recently attracted the attention of researchers and professionals. In 2014, Amin Jalali reviewed the state of the art of AOBPM and proposed a framework to assess the available approaches. We have developed AOP4ST, an aspect-oriented process for the software development life cycle, which includes the business process modeling as its first phase, and which follows the Jalali’s recommendations. In this paper, we present the assessment of the AOP4ST’s business modeling capability by comparing it with all of the original proposals assessed by Jalali’s framework. Finally, we present ongoing work for the improvement of our approach on its AOBPM capabilities and its ability to detect and separate concerns at early stages of the development.Sociedad Argentina de Informática e Investigación Operativ

    On the footprints of join points : the blueprint approach

    Get PDF
    Aspect-oriented techniques are widely used to better modularize object-oriented programs by introducing crosscutting concerns in a safe and non-invasive way, i.e., aspectoriented mechanisms better address the modularization of functionality that orthogonally crosscuts the implementation of the application. Unfortunately, as noted by several researchers, most of the current aspect-oriented approaches are too coupled with the application code, and this fact hinders the concerns separability and consequently their re-usability since each aspect is strictly tailored on the base application. Moreover, the join points (i.e., locations affected by a crosscutting concerns) actually are defined at the operation level. It implies that the possible set of join points includes every operation (e.g., method invocations) that the system performs. Whereas, in many contexts we wish to define aspects that are expected to work at the statement level, i.e., by considering as a join point every point between two generic statements (i.e., lines of code). In this paper, we present our approach, called Blueprint, to overcome the abovementioned limitations of the current aspect-oriented approaches. The Blueprint consists of a new aspect-oriented programming language based on modeling the join point selection mechanism at a high-level of abstraction to decouple aspects from the application code. To this regard, we adopt a high-level pattern-based join point model, where join points are described by join point blueprints, i.e., behavioral patterns describing where the join points should be found

    Early aspects: aspect-oriented requirements engineering and architecture design

    Get PDF
    This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications

    Abstraction over non-local object information in aspect-oriented programming using path expression pointcuts

    Get PDF
    Aspect-oriented software development (AOSD) consists of a number of technologies that promise a better level of modularization of concerns that cannot be separated in individual modules by using conventional techniques. Aspect-oriented programming (AOP) is one of these technologies. It allows the modularization at the level of software application code. It provides programmers with means to quantify over specific points in the base application code, called join points, at which the crosscutting concern code must be triggered. The quantification is achieved by special selection constructs called pointcuts, while the triggered code that is responsible for adapting the selected join point is provided by special construct called advice. The selection and adaptation mechanisms in aspect-oriented programming depend heavily on the distinguishing properties of the join points. These properties can either be derived from the local execution context at the join point or they are considered to be non-local to the join point. Aspect-oriented systems provide a plenty of pointcut constructs that support accessing the local join point properties, while they rarely support the non-local properties. A large research effort has been achieved to extend current aspectoriented systems in order to solve the problem of non-locality. However, none of these proposals support the non-local object relationships. There are many situations where a good abstraction over nonlocal object information is needed, otherwise, the developers will be obliged to provide complex and error-prone workarounds inside advice body that conceptually do not reflect the semantics of join point selection and mix it with the semantics of join point daptation. Such recurrent situations occur when trying to modularize the object persistence concern. Object persistence, the process of storing and retrieving objects to and from the datastore, is a classical example of crosscutting concern. Orthogonal object persistence meets the obliviousness property of AOP: The base code should not be prepared upfront for persistence. This thesis addresses the shortcomings in current aspect-oriented persistence systems. It shows that the reason for such shortcomings is due to the lack of supporting non-local object information by the used aspect-oriented languages. To overcome this problem, this thesis proposes a new extension to the current pointcut languages called path expression pointcuts that operate on object graphs and make relevant object information available to the aspects. As an explicit and complete construct, a formal semantics and type system have provided. Moreover, an implementation of path expression pointcuts is discussed in the thesis along with its usage to show how the aforementioned problems are resolved

    Aspect-Oriented Business Process Modeling Approaches: An assessment of AOP4ST

    Get PDF
    Aspect-oriented business process modeling (AOBPM) is an emerging discipline which has recently attracted the attention of researchers and professionals. In 2014, Amin Jalali reviewed the state of the art of AOBPM and proposed a framework to assess the available approaches. We have developed AOP4ST, an aspect-oriented process for the software development life cycle, which includes the business process modeling as its first phase, and which follows the Jalali’s recommendations. In this paper, we present the assessment of the AOP4ST’s business modeling capability by comparing it with all of the original proposals assessed by Jalali’s framework. Finally, we present ongoing work for the improvement of our approach on its AOBPM capabilities and its ability to detect and separate concerns at early stages of the development.Sociedad Argentina de Informática e Investigación Operativ

    Aspect-oriented modeling of business processes

    Get PDF
    Concerns such as compliance, auditing, activity monitoring or accounting need to be addressed in the early stages of modeling and not only at the implementation or execution levels. AO4BPMN is an aspect-oriented extension of BPMN that facilitates the modularization of crosscutting concerns
    corecore