26 research outputs found

    Modelling of Aspects using Aspect-Oriented Design Language

    Get PDF
    The Aspect-composition is a vital step in aspect modelling. Aspects are composed with each other and with base constructs through pointcuts defined in the aspects. Design languages address this composition by providing composition techniques and directives. However, most of the contemporary design languages lack support for inter-aspect and inner-aspect compositions. Another problem is resolving aspect interference which arises as a result of a composition. Although some techniques have been proposed to overcome aspect interference at the implementation level, the problem needs attention at the modelling level. The eradication of interference and conflicts related to aspect composition at the modelling stage could ensure better implementation and fewer conflicts. This paper provides a composition strategy equipped with new design notations and diagrams to provide support for aspect compositions, as well as inneraspect compositions. The paper also provides a technique to prioritize aspect execution at the modelling stage to reduce aspect interference and aspect conflicts

    Framework for Heterogeneous Modeling and Composition

    Get PDF
    National audienceEmbedded and cyber-physical systems are becoming more and more complex. They are often split into subsystems and each subsystem can be addressed by a Domain Specific Modeling Language (DSML). A DSML efficiently specifies the domain concepts as well as their behavioral semantics. For a single system, several models conforming to different DSMLs are then developed and the system specification is consequently heterogeneous, \textit{i.e.}, it is specified by using heterogeneous languages. The behaviors of these models have to be coordinated to provide simulation and/or verification of the overall system. This thesis studies this coordination problem with the objective of enabling the execution and the verification of the heterogeneous systems, by relying on the behavioral composition of DSMLs. We are currently proposing a language named B-COoL (Behavioral Composition Operator Language) to specify the composition of DSMLs behavior. The aim of B-COoL is two-fold: to capitalize the coordination at the language level, and to enable the automatic generation of the coordination between models conforming to composed DSMLs

    Weaving Aspect Configurations for Managing System Variability

    Get PDF
    International audienceVariability management is a key concern in the software industry. It allows designers to rapidly propose applications that fit the environment and the user needs, with a certain Quality-of-Service level, by choosing adapted variants. While Aspect-Oriented Programming has been introduced for managing variability and complexity at the code level, the Software Product-Line community highlights the needs for variability in the earlier phases of the software lifecycle, where a system is generally described by means of models. In this paper, we propose a generic approach for weaving flexible and reusable aspects at a model level. By extending our generic Aspect-Oriented Modeling approach with variability, we can manage variability and complexity in the early phases of the software lifecycle

    Constraints: the Heart of Domain and Application Engineering in the Product Lines Engineering Strategy

    No full text
    International audienceDrawing from an analogy between features based Product Line (PL) models and Constraint Programming (CP), this paper explores the use of CP in the Domain Engineering and Application Engineering activities that are put in motion in a Product Line Engineering strategy. The start idea is simple: both CP and PL engineering deal with variables, and constraints that these variables must satisfy. Therefore, specifying a PL as a constraint program instead of a feature model, or another kind of PL formalism, carries out two important qualities of CP: expressiveness and direct automation. On the one hand, variables in CP can take values over boolean, integer, real or even complex domains (i.e., lists, arrays and trees) and not only boolean values as in most PL languages such as the Feature-Oriented Domain Analysis (FODA). Specifying boolean, arithmetic, symbolic and reified constraint, provides a power of expression that spans beyond that provided by the boolean dependencies in FODA models. On the other hand, PL models expressed as constraint programs can directly be executed and analyzed by off-the-shelf solvers. Starting with a working example, this paper explores the issues of (a) how to specify a PL model using CP, including in the presence of multi-model representation, (b) how to verify PL specifications, (c) how to specify configuration requirements and (d) how to support the product configuration activity. Tests performed on a benchmark of 50 PL models show that the approach is efficient and scales up easily to very large and complex PL specification

    Vers des Lignes de produits Flexibles

    Get PDF
    National audienceAfin de faire face à la complexité du logiciel due à la variabilité de ses environnements et de ses utilisations, l'ingénierie des lignes de produits permet d'important gains en termes de coûts et de qualité de développement en systématisant la réutilisation d'éléments communs. Néanmoins, les approches actuelles manquent de flexibilité dans la prise en compte des exigences particulières à un utilisateur. Nous illustrons ici comment, en utilisant des techniques d'ingénierie des modèles telles que la composition et la transformation et en les outillant dans l'environnement de métamodelisation Kermeta, il est possible de concilier flexibilité et efficacité lors de la dérivation de produits

    Enabling the Information Transfer between Architecture and Source Code for Security Analysis

    Get PDF
    Viele Softwaresysteme müssen so konzipiert und entwickelt werden, dass bestimmte Sicherheitsanforderungen gewährleistet sind. Die Sicherheit kann auf verschiedenen Sichten auf das Softwaresystem spezifiziert werden, die unterschiedliche Arten von Informationen über das Softwaresystem enthalten. Daher muss eine Sicherheitsanalyse auf einer Sicht von den Sicherheitseigenschaften auf anderen Sichten ausgehen. Eine Sicherheitsanalyse auf einer anderen Sicht kann zur Überprüfung dieser Annahmen verwendet werden. Wir stellen einen Ansatz vor, der den Informationstransfer zwischen einer statischen Architekturanalyse und einer statischen, gitterbasierten Quellcodeanalyse ermöglicht. Dieser Ansatz kann verwendet werden, um die Annahmen in einem komponentenbasierten Architekturmodell zu reduzieren. In diesem Ansatz werden Voraussetzungen entwickelt, unter denen Informationen zwischen Sicherheitsanalysen ausgetauscht werden können. Wir betrachten die Architektur- und Quellcode-Sicherheitsanalyse als Black Boxes. Daher basiert der Informationstransfer zwischen den Sicherheitsanalysen auf einem Megamodell, das aus dem Architekturmodell, dem Quellcodemodell und den Ergebnissen der Quellcodeanalyse besteht. Die Machbarkeit dieses Ansatzes wird in einer Fallstudie mit Java Object-sensitive ANAlysis und Confidentiality4CBSE evaluiert. Die Auswertung zeigt, dass Informationen zwischen einer Architektur- und einer Quellcodeanalyse übertragen werden können. Der Informationstransfer deckt neue Sicherheitsverletzungen auf, die mit nur einer Sicherheitsanalyse nicht gefunden werden

    Aspect-oriented model-driven code generation approach for improving code reusability and maintainability

    Get PDF
    Software development teams always need methods that can help in producing high-quality software with reduced development effort and delivery time. Model-Driven Engineering (MDE) as well as Aspect-Oriented Software Development (AOSD) techniques help in reducing the delivery time, and also positively contribute to quality of the produced software. Through the use of AOSD techniques in combination with MDE, an integration of excellent abstraction mechanisms of MDE and capabilities of AOSD with regards to modularity and composition of concerns can be perceived, which is expected to enhance the positive effects of both techniques. To this end, different integration approaches have appeared in literature, but aspect-oriented code generation has advantages over the other approaches. Consequently, a number of aspect-oriented code generation approaches have been offered, but all such approaches lack several features mandatory to materialize a workable integration of aspect technologies in the context of MDE. To address these issues, this research was conducted to present an approach for aspect-oriented model-driven code generation, which focuses on elaborating the conceptual relationship between design models and the implementation code, and exploits the same to obtain aspect-oriented code that is more reusable and maintainable. The key outcomes of this research are the elaboration of the conceptual mappings between elements of visual design and constructs of the code, mapping of the visual models to implementation-specific text-based models, and a technique for generation of aspect-oriented code. The applicability of the proposed approach is shown by the use of case studies, whereas the quality of the approach is measured using reusability and maintainability metrics. A comparison of the proposed approach with existing approaches substantiates its efficacy in terms of reusability and maintainability of code, showing an outperformance of other approaches by the proposed approach against 78% of the employed quality metrics

    Modularity and reuse of domain-specific languages:an exploration with MetaMod

    Get PDF
    corecore