Software systems evolve continuously and must be developed quickly to fit user requirements and new advances in technology. This has led the software engineering to propose several methods and approaches to overcome the development and maintenance of these software systems. In this regard, Agile Methodologies and Model-Driven Engineering (MDE) are two main approaches that have emerged in recent years and suggest a solution to some of the issues associated with Software systems developments. MDE focuses on software reuse through models and on generative approaches based on separation of concerns whereas Agile Methods promote the use of simpler models and best practices for programming to achieve quick feedback from clients within a development process. However, these two approaches have evolved separately and there are only a few works related to their combination. This paper presents a customized V development life cycle based on models which combines the two MDE variants: The MDA approach in the V left branch with the MBT approach to generate tests of the V right branch. In addition, we integrate this customized V life cycle in the agile Scrum methodology to facilitate the management of each Scrum sprint.
Agile methods (AM) and model-driven engineering (MDE) are two principal domains of software development. AM proposes best practices in information programming, while MDE focuses on technical part of software development. Both of these domains are in the way of improvement and evolution in order to facilitate the development of IT projects. However, these areas evolve separately despite the great number of researches that focus on improving development project' techniques. Thus, in this chapter the authors present an overview of their approach “Scrum with MoDAr-WA”, that aims to improve Scrum Agile methodology by combining two variants of MDE: model-driven architecture and mode-based testing with the V development lifecycle used to deal with sprint development in Scrum methodology. Then they present a comparison study between the standard Scrum process and Scrum with MoDAr-WA approach in order to highlight the authors' contribution to improve agile methodologies.
Model-driven engineering (MDE) uses models during the application development process. Thus, the MDE is particularly based on model-driven architecture (MDA), which is one of the important variants of the Object Management Group (OMG). MDA aims to generate source code from abstract models through several model transformations between, and inside the different MDA levels: computation independent model (CIM), platform independent model (PIM), and platform specific model (PSM) before code. In this context, several methods and tools were proposed in the literature and in the industry that aim to automatically generate the source code from the MDA levels. However, researchers still meet many constraints-model specifications, transformation automation, and level traceability. In this paper, we present a tool support, the model-driven architecture for web application (MoDAr-WA), that implements our proposed approach, aiming to automate transformations from the highest MDA level (CIM) to the lowest one (code) to ensure traceability. This paper is a continuity of our previous works, where we automate transformation from the CIM level to the PIM level. For this aim, we present a set of meta-models, QVT and Acceleo transformations, as well as the tools used to develop our Eclipse plug-in, MoDAr-WA. In particular, we used QVT rules for transformations between models and Acceleo for generating code from models. Finally, we use MoDAr-WA to apply the proposed approach to the MusicStore system case study and compare the generated code from CIM to the original application code.
Model Driven Engineering (MDE) and Agile Methods (AM) are two principal domains that are in the way of improvement and evolution in order to facilitate the realisation of IT projects. However, these areas evolve separately despite the great number of researches that focus on improving realisation project’ techniques. Thus, our approach aims to provide an approach that combines two variants of MDE, Model Driven Architecture approach and Model-Based Testing with the V development lifecycle used in every scrum Agile Methodology sprint to deal with system evolution. In order to well illustrate this approach, we apply it on Rental Car Agency System realisation using Scrum methodology with some requirements’ evolution.
Manage Testing is one of the most important and difficult phases in the development process. Indeed, it is a decisive step before deploying a product which aims to verify and validate whether the developed product satisfies customer requirements. This step becomes more and more difficult when we face evolutionary system requirement. Several works and approaches were proposed to deal with this issue but they do not describe any approach to well manage test phase in evolutionary software system. It is in this context that this paper proposes a new approach that resolves the problem of managing tests even in a system with evolutionary requirements. As our works are focused on Modeling Driven Development represented by its variant Model Driven Architecture, we will focus in this work on automating test generation from well known models as Model-Based Testing combined with development life cycle to deal with system evolutions. For this first work, we focus on V life cycle since it specifies different types of test needed to well test a system. In order to illustrate concepts used in our approach, we will present their application in a RentalCarAgency applications.
Model Driven Architecture (MDA) and Agile Methods (AM) are two principal domains that are in the way of improvement and evolution in order to facilitate the development of IT projects. However, these areas evolve separately despite the great number of research that focuses on improving project' development techniques. Thus, our proposal aims to provide a method describing how can Agile Methodologies benefits from MDA, and how MDA can automate activities within AM. In this paper, we present a state of the art of existing works that combine a Model Driven Architecture approach and Agile Methodologies. Then we present our analysis of this combination to identify with which Agile methods, the MDA approach is more adequate. We also propose our vision about how to combine MDA with the selected Agile Methodologies and evaluate the strengths and weaknesses of each methodology during its combination with MDA and finally we present a case study of Rental Car Agency.
Model transformation becomes a very important technique in software engineering as it helps to guarantee traceability between models and develop software applications quickly, In this context, the purpose of this work is an approach that allows generating UML Use Case Diagram (UCD) from Semantic Business Vocabulary and Business Rules (SBVR) which is a standard introduced by OMG that can be used to capture software requirements in structured English. The paper gives a set of rules that map SBVR element into UCD elements. This approach is a part of our works that focus on automating Model Transformations to generate the application code following standards of Model Driven Architecture approach. Particulary we use SBVR standard and UCD to model the Computation Independent Model (CIM) which is the first level of abstraction. The paper describes also an implementation of this approach as an Eclipse plug-in that automates the transformation rules defined using QVT language. In order to well illustrate our approach, we apply it on RentalCarAgency system.
The Model Driven Architecture is a specific variant of Model Driven Engineering that aims to separate different areas of concerns. This architecture is defined by three levels of abstraction, i.e. Computation Independent Model (CIM), Platform Independent Model (PIM) and Platform Specific Model (PSM) that defines the architecture of the generated code. The transition between these levels is realized throw Model Transformations which are the core of MDA. In this paper we will focus on the highest level of abstraction of MDA which is represented by Computation Independent Model and its transformation into the Platform Independent Model. Our approach is based primarily on OMG standards: UML diagrams (Unified Modeling Languages) and SBVR (Semantic Business Vocabulary and Business Rules). We represent the CIM level by an extension of Use Case Diagram to support Data Object elements, and SBVR standard, while after transformation the PIM level is modeled by Business Class Diagram and System Sequence Diagrams. The paper presents also the implementation of our approach which is an eclipse plug-in that allows to automatically transform models from CIM to PIM. We furthermore illustrate our approach with a case study of a car rental agency management
The Model Driven Architecture (MDA) approach introduces a clear separation of system requirements and their implementation. This approach uses models at the center of the development of software systems. The MDA approach is based on models transformations; in the literature, several works have summarized the MDA approach to the passage from PIM to PSM then to code. But very little works have contributed on CIM to PIM transformations. Thus, our proposal aims to provide a method of transforming CIM to PIM using QVT transformation rules and respecting the two levels aspects as specified by the Object Management Group (OMG). Our approach proposes to represent a CIM level by Business Use Case Diagram and Activity Diagram while after applying transformation rules, the PIM level is represented by Class Diagram and Sequence Diagram.
Model Transformations is the core of Model Driven Architecture; several works have been focused on transformations between the different models that compose the MDA approach: the Computation Independent Model (CIM), the Platform Independent Model (PIM) and the Platform Specific Model (PSM). In this paper, we propose a new method of transformations between CIM and PIM levels; this approach aims to automate transformations using rules which are described with QVT standard. In order to respect OMG specifications defined for each level, we choose to model CIM level by an extended version of UML UseCase Diagram to support DataObject element and to cover the functional and static aspects while dynamic one is represented by Activity Diagram. On the same level, we used SBVR standard to express system rules and requirements which are transformed to OCL constraints. PIM level is represented by Class Diagram and Sequence Diagram; this level is the result of a vertical transformation of CIM. This paper shows also an application of our approach on an e-library system.