Abstract-Metamodels evolve over time, as well as other artifacts. In most cases, this evolution is performed manually by stepwise adaptation. In MDE, metamodels are described using the MOF language. Often OCL constraints are added to metamodels in order to ensure consistency of their instances (models). However, during metamodel evolution these constraints are omitted or manually rewritten, which is time consuming and error prone.We propose a tool to help the designer to make a decision on the constraints attached to a metamodel during its evolution. Thus, the tool highlights the constraints that should disappear after evolution and makes suggestions for those which need adaptation to remain consistent. For the latter case, we formally describe how the OCL constraints have to be transformed to preserve their syntactical correctness. Our adaptation rules are defined using QVT which is the OMG standard language for specifying model-to-model transformations. I. INTRODUCTION Model Driven Engineering (MDE)[1] raises the abstraction's level of software development from code to models, with a great emphasis on focusing the developer concerns on the problem domain rather than on the underlying technologies. Metamodels are the definition of abstract syntax of languages. However, structural constructions of metamodeling languages do not allow to express completely the syntax of a language (e.g. context-sensitive properties). In consequence, to get coherent models, it is necessary to add constraints expressed using the Object Constraint Language (OCL) [2]. Moreover, metamodels evolve over time like other software artifacts [3], [4], due to several reasons: to be consistent with the evolution of the application domain scope, to improve or correct the abstract syntax of the language, etc. As a consequence, these changes may break consistency of related terminal models. The risks stem from the fact that constraints attached to metamodels are either omitted or manually rewritten, which is time consuming and error prone [4], [5].To address this problem, we propose an approach in order to assist designers in constraint adaptation during a stepwise evolution [6] of a metamodel. This approach consists in identifying the impact of a change, made at the metamodel, on its associated constraints. After each modification of the
Abstract. In order to ensure the quality of their software development process, companies incorporate best practices from recognized repositories or from their own experiences. These best practices are often described in software quality manuals that do not guarantee their implementation. In this paper, we propose a framework for the implementation of best practices concerning the design of the software architecture. We treat the case of architecture design activity because it's the basis of the software development process. Our framework enables on the one hand to describe best practices and on the other hand to check their application by designers. We present an implementation of our framework in the Eclipse platform and for an ADL dedicated to Web applications. Finally, we give an example of use from the context of our industrial partner. to direct the architect toward the subset of relevant models among those allowed by the language. In this sense, BPs help the architect to limit the area of choice thanks to a language restriction adapted to the project. They help to increase the e ectiveness of development in terms of quality and productivity.Additional BPs speci c to an application domain, a technology or a managerial and cultural context may also emerge from projects within companies. Properly used in a project, these best language practices constitute the expertise and the value-added of a company. This valuable capital of knowledge guarantees to a company the quality of its architectural models and thus allows to satisfy its customers, to stand out, and to solicit labels and certi cates [11]. In other words, to be competitive.Unfortunately, we show in section 2 of this paper that due to a lack of an adequate formalism to document this knowledge, companies that try to capitalize on this knowledge use informal documents, often incomplete, poorly referenced, and sometimes scattered. This leads to an inadequate and ine ective use and sometimes loss of best language practices. This loss decrease the quality of the designed architectures. We rely for that on a study conducted with an industrial partner that uses a dedicated ADL for Web applications. We propose a language (section 3) and a software platform (section 4) that allow respectively to document and to enact these BPs for any graphical ADL. In this way, we ensure the durability and reuse of knowledge, as well as a constant veri cation of the application of best language practices. We then show, in section 5, how this language can be used to document some BPs for web applications coming from our industrial partner. In the same section, we show also how these practices can be integrated in their ADL tool (AlCoWeb-Builder). Thus, this helps developers to respect the best language practices de ned in their own companies, without changing their working habits. Finally, we describe related work in section 6 before concluding in section 7. Problem StatementIn this section, we show the interest for a company to make productive its language practices. We rely ...
Nowadays information systems are increasingly distributed and deployed within the Internet platform. Without any doubt, the World Wide Web represents the de facto standard platform for hosting such distributed systems. The use of a multi-tiered architecture to develop such systems is often the best design decision to reach scalability, maintainability and reliability quality goals. Software in the presentationtier of this architecture needs in practice to be designed with structured and reusable library modules. In this paper, we present a hierarchical component model which allows developers to build (model, generate code and then reuse) this software level of rich Web applications. In this model, components can be connected via their interfaces to build more complex components. These architecture design models can be reused together with their corresponding code using an association mechanism. As shown in this paper this is a valuable feature in assisting developers to position their developed documents within the overall software design and thus enable maintaining the consistency between artifacts of these two stages of the development process.
In order to ensure the quality of their software development, companies incorporate best practices from recognized repositories or from their own experiences. These good practices are often described in software quality manuals that, in this form, do not guarantee their implementation. In this paper, we propose a framework for the implementation of best practices. We treat the case of modeling activities because they are becoming the main activity of software development processes. Our framework enables on the one hand to describe the good practices and on the other hand to check their application by the designers. We present an implementation of our framework in the Eclipse platform and some examples of use of our approach in the modeling of UML Class diagrams.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.