Model-Driven Product Line Software Development Process

Author(s):  
Gary Rushton ◽  
Robert Baillargeon
Author(s):  
Petraq Papajorgji ◽  
Panos M. Pardalos

This chapter aims to present a new modeling paradigm that promises to significantly increase the efficiency of developing enterprise information systems. Currently, the software industry faces considerable challenges as it tries to build larger, more complex, software systems with fewer resources. Although modern programming languages such as C++ and Java have in general improved the software development process, they have failed to significantly increase developer’s productivity. Thus, developers are considering other paths to address this issue. One of the potential paths is designing, developing and deploying enterprise information systems using the Model Driven Architecture (MDA). MDA is a model-centric approach that allows for modeling the overall business of an enterprise and capturing requirements to developing, deploying, integrating, and managing different kinds of software components without considering any particular implementation technology. At the center of this approach are models; the software development process is driven by constructing models representing the software under development. Code that expresses the implementation of the model in a certain underlying technology is obtained as a result of model transformation. Thus, the intellectual investment spent in developing the business model of an enterprise is not jeopardized by the continuous changes of the implementation technologies. Currently there are two main approaches trying to implement MDA-based tools. One of the approaches is based on the Object Constraint Language and the other on Action Language. An example of designing, developing and deploying an application using this new modeling paradigm is presented. The MDA approach to software development is considered as the biggest shift since the move from Assembler to the first high level languages.


2010 ◽  
Vol 40-41 ◽  
pp. 1012-1015
Author(s):  
Yuan Yuan Zhang ◽  
Qin Gao ◽  
Heng Liang Wu

Model driven architecture (MDA) is an architecture specification of software development proposed by OMG in July 2001. MDA holds that the best way of software development is to enhance the level of abstraction of the system, isolate the design and implementation of the system, and separate the business conduct, so as to overcome the difficulties caused by the complexity of software. This paper presents the basic concept and core technology, and gives the software development process based on MDA.


Author(s):  
Andreza Vieira ◽  
Franklin Ramalho

The Model-Driven Development (MDD) approach shifts the focus on code to models in the software development process. In MDD, model transformations are elements that play an important role. MDD-based projects evolve along their lifecycle in a way that changes in their transformations are frequent. Before applying changes it is important to measure their impacts within the transformation. However, currently no technique helps practitioners in this direction. We propose an approach to measure the change impact in ATL model transformations. Based on static analysis, it detects the elements impacted by a change and calculates the change impact value through three metrics we defined. By using our approach, practitioners can (i) save effort and development time since the elements impacted with the change are automatically detected and (ii) better schedule and prioritize changes according to the impact value. To empirically evaluate our approach we conducted a case study.


Author(s):  
Yeshica Isela Ormeño ◽  
Jose Ignacio Panach ◽  
Nelly Condori-Fernández ◽  
Óscar Pastor

Nowadays there are sound Model-Driven Development (MDD) methods that deal with functional requirements, but in general, usability is not considered from the early stages of the development. Analysts that work with MDD implement usability features manually once the code has been generated. This manual implementation contradicts the MDD paradigm and it may involve much rework. This paper proposes a method to elicit usability requirements at early stages of the software development process such a way non-experts at usability can use it. The approach consists of organizing several interface design guidelines and usability guidelines in a tree structure. These guidelines are shown to the analyst through questions that she/he must ask to the end-user. Answers to these questions mark the path throughout the tree structure. At the end of the process, the paper gathers all the answers of the end-user to obtain the set of usability requirements. If it represents usability requirements according to the conceptual models that compose the framework of a MDD method, these requirements can be the input for next steps of the software development process. The approach is validated with a laboratory demonstration.


2014 ◽  
Vol 89 ◽  
pp. 320-349 ◽  
Author(s):  
Ana I. Molina ◽  
William J. Giraldo ◽  
Manuel Ortega ◽  
Miguel A. Redondo ◽  
César A. Collazos

2021 ◽  
Vol 1 (1) ◽  
pp. 36-47
Author(s):  
Andrianjaka Miary Rapatsalahy ◽  
Hajarisena Razafimahatratra ◽  
Thomas Mahatody ◽  
Mihaela Ilie ◽  
Sorin Ilie ◽  
...  

The final executable code should no longer be considered as a central element in a software development process but rather a naturally important component that results from a model transformation. The objective of the MDA (Model Driven Architecture) approach is to lift the lock of software development automation from the CIM (Computation Independent Model) requirements until the code of an application is obtained. Therefore, we have proposed in the framework of MDA an approach that consists of automatically generating object-oriented code from the CIM model represented by ReLEL (Restructuring extended Lexical Elaborate Language). ReLEL is a natural language-oriented model that represents both the client requirements and the conceptual level of a system. However, the MDA framework does not recommend the type of UML model that corresponds to each business activity. Consequently, automating the software development process from the CIM model specified by ReLEL becomes a complex task. Our strategy in this paper includes the instantiation of the ReLEL model in the Praxeme methodology, which models each of the company's concerns, grouped in a homogeneous whole, using the UML (Unified Modeling Language) and which considers the articulation of these aspects by adopting the MDA principle. To do this, we propose to automate the articulation that covers the intentional, semantic, logical, and software aspects of Praxeme. To validate our approach, we measure the coupling and cohesion of the UML class diagram obtained from the Java code generated from this article using the slicing technique. The results show that the coupling is weak, and the cohesion is strong. It can be deduced that the method proposed in this paper can produce a more reliable and efficient system. 


Author(s):  
Ediz Şaykol

Software development process generally includes requirement analysis, design, implementation, and testing phases. The overall process is called Software Development Life Cycle (SDLC). Each of these steps was executed sequentially in earlier times, i.e. the output of a step is used as the input to the following step. This sequential execution is called waterfall process, and since the total duration of SDLC has been increasing, more dynamic models need to be employed in today’s software engineering methodologies. V-Shaped model, Spiral model, Incremental or iterative software development model, are some examples of these methodologies. On the other hand, due to the increase in the total number of projects for a company and due to the product variability, reusability aspect has entered into the domain. This aspect gained importance in the recent years, leading to the execution of framework-based models and software product line engineering process. In this study, the above methodologies are analyzed from an economic perspective with respect to their cost models. Reusability will require upfront investment, but the gain will be higher as the number of common software items increases, which are determined in commonality/variability analysis phase. Improvements in SDLC might also require organizational changes to adapt new methodologies. These considerations are discussed along with the cost model analysis, and a cost-evaluation criterion is provided in the paper.


Sign in / Sign up

Export Citation Format

Share Document