TL;DR: This paper investigates UML’s suitability as a modeling language for supporting Aspect-Oriented Modeling and adopts a terminology for AOP based on the core concepts presented in [8], with component, aspect, join point, crosscutting, and weaving as the main representatives for modeling elements.
Abstract: Aspect-oriented programming (AOP) is reaching maturity after almost a decade of research [9, 1, 7, 8, 10, 2]. The term AOP has been used in [6] to denote “the space of programmatic mechanisms for expressing crosscutting concerns”, including Kiczales et al. work as well as related work (adaptive programming, composition filters, subject-oriented programming and multi-dimensional separation of concerns). We use the term aspect-oriented modeling to denote the space of modeling elements for specifying crosscutting concerns at a higher level of abstraction. Aspect-oriented modeling (AOM) should be built upon a conceptual framework that we refer to as the aspect model [4]. We adopt a terminology for AOP based on the core concepts presented in [8] as the main representatives for modeling elements: component (base element), aspect (crosscutting element), join point, crosscutting, and weaving. It is quite natural to investigate UML’s suitability as a modeling language for supporting Aspect-Oriented Modeling. First, UML [3] is acquainted to be the industry-standard modeling language for specifying, visualizing, constructing, and documenting the artifacts of software systems for the software engineering community. Second, UML is a general purpose modeling language to be usable in a wide range of application domains. As such, it includes a rich set of modeling techniques for analysis and design as well as structural and behavioral modeling, organized into several complementary views, expressed as diagrams, to model a system. Third, UML is an extensible modeling language to facilitate domainspecific modeling. As such, there is a set of built-in extension mechanisms to extend or customize the UML for a specific domain or process. AOP represents a paradigm shift in terms of programming rationale and, consequently, in terms of high-level modeling. This way, any extension required on a modeling language to support aspects and crosscutting corresponds to the definition of a new language, with additional syntax, semantics and pragmatics; therefore, we are talking about not subsets of UML-related families of languages, but rather, supersets. In this context, using built-in extension mechanisms provided by the UML (such as stereotypes, tag values and constraints) to support AOM is rather a compromise solution to support the transition from pure OO models to OO models combined with aspect models (the paradigm shift), than
TL;DR: An industrial case study on the choice between metamodel extensions and profiles as well as the influence of the choice on the quality of products based on the extensions is presented.
Abstract: Effective usage of a general purpose modeling language in software engineering poses a need for language customization- adaptation of the language for a specific purpose. In the context of the Unified Modeling Language (UML) the customization could be done using two mechanisms: developing profiles and extending the metamodel of UML. This paper presents an industrial case study on the choice between metamodel extensions and profiles as well as the influence of the choice on the quality of products based on the extensions. The results consist of a set of nine prioritized industrial criteria which complement six theoretical criteria previously identified in the literature. The theoretical criteria are focused on the differences between the extension mechanisms of UML while the industrial criteria are focused on development of products based on these extensions. The case study reveals that there are considerable differences in effort required to develop comparable products using each mechanism and that the quality (measured as correctness of a product) is different for these comparable products by an order of magnitude.
TL;DR: A model-driven approach to support the automated generation of HLA-based distributed simulations starting from system descriptions specified by use of SysML, the UML-based general purpose modeling language for systems engineering.
Abstract: The analysis and design of complex systems, which very often are composed of several sub-systems, takes advantages by the use of distributed simulation techniques. Unfortunately, the development of distributed simulation systems requires a significant expertise and a considerable effort for the inherent complexity of available standards, such as HLA. This paper introduces a model-driven approach to support the automated generation of HLA-based distributed simulations starting from system descriptions specified by use of SysML (Systems Modeling Language), the UML-based general purpose modeling language for systems engineering. The proposed approach is founded on the use of model transformation techniques and relies on standards introduced by the Model Driven Architecture (MDA). The method exploits several UML models that embody the details required to support two transformations that automatically map the source SysML model into a HLA-specific model and then use the latter to generate the Java/HLA source code. To this purpose, this paper also introduces two UML profiles, used to annotate UML diagrams in order both to represent HLA-based details and to support the automated generation of the HLA-based simulation code.
TL;DR: An approach to safety conscious chemical process design is described and illustrated and a general purpose modeling language (the PSSP language) is introduced capable of unified object oriented representation of reality and of knowledge integration on that basis.
TL;DR: This paper presents a UML/MARTE based methodology for executable RTE systems modeling and on the other hand, a framework and its underlying model transformations required to execute UML models conforming to the MARTE standard.
Abstract: The UML is now the most widespread language for systems modeling. However, this language has been designed as a general purpose modeling language that may lack for modeling constructs for specific domain, as for the real-time embedded (RTE) domain. In order to fill this lack, OMG has standardized a UML extension, called MARTE. This UML profile consists of specific concepts defined to cope with the specific concerns of the RTE domain. Of course, MARTE provides support for enabling model driven engineering (MDE) of RTE systems. The MDE development paradigm makes the model the first class citizen of development processes. Models need then to be productive. To achieve this purpose, providing methodology enabling model to be executable is a real challenge. The goal of this paper is then to present, on the one hand a UML/MARTE based methodology for executable RTE systems modeling and on the other hand, a framework and its underlying model transformations required to execute UML models conforming to the MARTE standard.