TL;DR: In this article, the authors propose Framework-Specific Modeling Languages (FSMLs) as a special category of Domain-Specific Models that are defined on top of an object-oriented application framework.
Abstract: We propose Framework-Specific Modeling Languages (FSMLs) as a special category of Domain-Specific Modeling Languages that are defined on top of an object-oriented application framework. They are used to express models showing how framework-provided abstractions are used in framework-based application code. Such models may be connected with the application code through a forward and a reverse mapping enabling round-trip engineering. We also propose a lightweight and iterative approach to round-trip engineering. Furthermore, we present a proof-of-concept FSML for modeling the interaction of workbench parts within Eclipse. Finally, we identify a number of challenges, opportunities, and directions for future research on FSMLs.
TL;DR: FSMLs are proposed as a special category of Domain-Specific Modeling Languages that are defined on top of an object-oriented application framework to express models showing how framework-provided abstractions are used in framework-based application code.
Abstract: We propose Framework-Specific Modeling Languages (FSMLs) as a special category of Domain-Specific Modeling Languages that are defined on top of an object-oriented application framework. They are used to express models showing how framework-provided abstractions are used in framework-based application code. Such models may be connected with the application code through a forward and a reverse mapping enabling round-trip engineering. We also propose a lightweight and iterative approach to round-trip engineering. Furthermore, we present a proof-of-concept FSML for modeling the interaction of workbench parts within Eclipse. Finally, we identify a number of challenges, opportunities, and directions for future research on FSMLs.
TL;DR: In this paper, a formal definition of round-trip engineering and semantics of target changes in the context of partial and non-injective transformations is presented. But, as transformations in general are partial and not injective, they cannot be easily reversed to propagate changes.
Abstract: In a model-centric software development environment, a multitude of different models are used to describe a software system on different abstraction layers and from different perspectives. Following the MDA vision, model transformation is used to support the gradual refinement from abstract models into more concrete models. However, target models do not stay untouched but may be changed due to maintenance work or evolution of the software. Therefore, in order to preserve a coherent description of the whole system, it is necessary to propagate certain changes to a target model back to the source model. However, as transformations in general are partial and not injective, they cannot be easily reversed to propagate changes. This paper presents a formal definition of round-trip engineering and the semantics of target changes in the context of partial and non-injective transformations.
TL;DR: This paper presents a formal definition of round-trip engineering and the semantics of target changes in the context of partial and non-injective transformations.
Abstract: In a model-centric software development environment, a multitude of different models are used to describe a software system on different abstraction layers and from different perspectives. Following the MDA vision, model transformation is used to support the gradual refinement from abstract models into more concrete models. However, target models do not stay untouched but may be changed due to maintenance work or evolution of the software. Therefore, in order to preserve a coherent description of the whole system, it is necessary to propagate certain changes to a target model back to the source model. However, as transformations in general are partial and not injective, they cannot be easily reversed to propagate changes. This paper presents a formal definition of round-trip engineering and the semantics of target changes in the context of partial and non-injective transformations.
TL;DR: This presentation examines the nature of Web-centric systems, and will study the common architectural patterns that apply, and shows how these representations can be used in the lifecycle, supporting the notions of executable architectures and round trip engineering.
Abstract: The Web and its related technologies have made possible new means of access to and visualization of information As such, it has shaped the structure of systems in many domains, from enterprise, mission critical e-business to distributed, embedded systems Although experience with developing and deploying quality systems for the Web, by the Web and to the Web is a fairly recent activity, it appears that there are a relatively small number of canonical architectures that work It is possible and desirable to codify those architectural patterns in order to offer a vehicle for controlling the development of a Web system over its lifetime, and to accelerate the development of new Web systems The UML is well suited to representing these architectural patternsIn this presentation, we will examine the nature of Web-centric systems, and will study the common architectural patterns that apply We will also examine the dozen or so underlying mechanisms upon which these architectures build, and show how both these architectural patterns and design patterns can be represented in the UML We will conclude by addressing how these representations can be used in the lifecycle, supporting the notions of executable architectures and round trip engineering