Automate Model Transformation From CIM to PIM up to PSM in Model-Driven Architecture

Author(s):  
Yassine Rhazali ◽  
Asma El Hachimi ◽  
Idriss Chana ◽  
Mohammed Lahmer ◽  
Abdallah Rhattoy

The CIM, PIM, and PSM models are the main levels of the MDA approach. Model transformation is an important step in the MDA process. Indeed, in MDA there are two elementary transformation kinds: CIM to PIM transformation and PIM to PSM transformation. However, most searches propose approaches transforming PIM to PSM, since there are multiple points in common between PIM and PSM. Nevertheless, transforming CIM to PIM is rarely addressed in research because these two levels are mainly different. However, there is not a synthesis work that makes it possible to carry out a model transformation from CIM to PIM towards PSM until obtaining the code. This synthesis methodology allows controlling models transformation from CIM to PIM to PSM, indeed, up to obtaining code according the MDA. This approach makes it possible to limit the intervention of computer scientists in the life cycle of software development. Indeed, this methodology allows modeling only CIM, the business process, and then obtains the source code through successive semi-automatic transformations.

2018 ◽  
Vol 7 (1.8) ◽  
pp. 92
Author(s):  
G Ramesh

Computer Aided Software Engineering (CASE) has been growing faster in software industry. As part of it Model Driven Engineering (MDE) has been around for focusing on models and transforming them from one model to other model. The tool named Extensible Real Time Software Design Inconsistency Checker (XRTSDIC) proposed by us in previous paper supports UML modelling, design inconsistency checking and model transformation from UML to ERD to SQL. In this paper it is extended further to facilitate model transformation from PIM (UML class diagram) to PSM (source code). We proposed an algorithm and defined model transformation and consistency rules. The extended framework has provision for class relationship analysis and support for choosing different object oriented languages like C#, C++ and Java. While transforming the model, we used the concept of dialects. Dialect is the class with transformation functionality which has ability to adapt to syntax and semantics of chosen language. Different dialects are made available for different languages. Thus the proposed system is capable of transforming models and the prototype application we built and extended demonstrates the proof of concept. The empirical results revealed that the model transformation is consistent and accurate.


2021 ◽  
Vol 46 (2) ◽  
Author(s):  
N. V. Goryuk ◽  
◽  
I. M. Lavrovsky

The article analyzes the problem of identifying source code vulnerabilities in the context of software development. An analysis of existing technologies for detecting vulnerabilities in the source code. Methods and means of protection of detection of source code vulnerabilities on the basis of the Fortify Static Code Analyzer solution are investigated. The purpose, main functions and architecture of the Fortify Static Code Analyzer solution are defined. Based on the research conducted in the work, a variant of the process of static analysis of the security of the source code in the context of the software life cycle was developed. Recommendations for the use of static source security analysis technology have been developed.


2013 ◽  
Vol 14 (1) ◽  
pp. 19-30 ◽  
Author(s):  
Oksana Nikiforova ◽  
Konstantins Gusarovs ◽  
Olegs Gorbiks ◽  
Natalja Pavlova

Abstract In this paper an ability to apply the two-hemisphere model-driven approach for creation of the UML class diagram is discussed and the way to avoid the limitations of the approach is offered. The result of the proposed improvement of the twohemisphere model-driven approach is the increased number of elements of the UML class diagram available for automatic generation and several statements for semi-automatic transformation of business process diagram and the concept diagram into software components. As a result, the authors can ascertain that it is possible to apply the improved twohemisphere model-driven approach in practice in the real software development, and not only for academic purpose.


Author(s):  
Jorn Bettin

This chapter addresses the question of how to successfully create durable and scalable software architectures that enable the underlying design intent of a system to survive over a period of many years, such that no accidental dependencies are introduced as part of further software development and maintenance. The answer involves looking beyond object-orientation and traditional iterative software development. In order to prevent long-term design degradation, and in order to efficiently execute software development in the large, the introduction of dependencies between components needs to be actively managed, relying on a set of guiding principles for component encapsulation and abstraction. The guiding principles required turn out to be a natural extension to the principles of design by contract, they have a direct impact on the modular structure of software source code, and they form a foundation for model-driven approaches to software development.


Author(s):  
Harald Kühn ◽  
Marion Murzek ◽  
Gerhard Specht ◽  
Srdjan Zivkovic

Public and private organisations have a high rate of interaction, i.e. all their external business processes are de-facto inter-organisational. Besides traditional non-functional aspects, inter-organisational processes demand a high rate of interoperability. The authors present a model-driven development process explicitly considering interoperability levels as development process phases. Applying this development process has shown that it substantially raises the interoperability awareness for all associated actors. To further improve “common sense” between the involved actors, we use an integrated modelling language approach. For this, the metamodels of the used modelling languages are integrated using metamodel integration based on metamodel mappings and integration rules. The approach is demonstrated by integrating BPMN-based business process modelling and CCTS-based data modelling into a consolidated modelling language. Considering the integrated metamodel, the authors apply model transformation to re-use model information along the described development phases, e.g. business process definitions are used to generate skeletons for executable workflows and business document definitions are used to generate data model definitions and associated data schemata. The application of the model-driven development process, the metamodel integration as well as the model transformation is illustrated by a case study of electronic VAT statement transaction.


2018 ◽  
Vol 7 (4) ◽  
pp. 665-672
Author(s):  
Vasanthi Kaliappan ◽  
Norhayati Mohd Ali

Software development deals with various changes and evolution that cannot be avoided due to the development processes which are vastly incremental and iterative. In Model Driven Engineering, inconsistency between model and its implementation has huge impact on the software development process in terms of added cost, time and effort. The later the inconsistencies are found, it could add more cost to the software project. Thus, this paper aims to describe the development of a tool that could improve the consistency between Unified Modeling Language (UML) design models and its C# implementation using reverse engineering approach. A list of consistency rules is defined to check vertical and horizontal consistencies between structural (class diagram) and behavioral (use case diagram and sequence diagram) UML diagrams against the implemented C# source code. The inconsistencies found between UML diagrams and source code are presented in a textual description and visualized in a tree view structure.


Author(s):  
Vicente García Díaz ◽  
Edward Rolando Núñez Valdez ◽  
B. Cristina Pelayo García-Bustelo ◽  
Jordan Pascual Espada ◽  
Carlos Enrique Montenegro Marín

ResumenLa ingeniería Dirigida por Modelos es una aproximación de desarrollo en continua evolución. Prueba de ello sin los numerosos estándares que están surgiendo y la reciente aparición de herramientas que facilitan el trabajo con este reciente paradigma de la ingeniería del software. Al trabajar con modelos, un aspecto clave esla generación automática de código de menor nivel de abstracción. Sin embargo, la forma de llevar a cabo dicha generación no tiene en cuenta la evolución de los sistemas, y esa es la razón por la que el proceso es lento y repetitivo. En este trabajo se presenta una propuesta para generar código incrementalmente a partir de modelos, de forma que se minimice el impacto sobre aplicaciones que ya podrían estar en funcionamiento y se permita obtener la evolución exacta que han tenido los sistemas desde su origen.Palabras ClaveEvolución, matamodelos, modelo, generación de artefactos.Abstract The Model-Driven Engineering is a software development approach that continues evolving. In fact, there are some emerging standards and tools that facilitate working with this new paradigm of software engineering. Working with models, a key point is the automatic generation of source code of lower level of abstraction. However, the natural evolution of systems is not taken into account and that is the reason for which the process is usually slow and repetitive. In this work, we are going to show a proposal for incremental generation of source code from models. That way, we will minimize the impact on deployed applications and we will make the traceability of the evolution of systems. KeywordsArtifacts generation, evolution, metamodel, model. 


2017 ◽  
Vol 22 (1) ◽  
pp. 36-46
Author(s):  
Konstantīns Gusarovs ◽  
Oksana Ņikiforova

Abstract Model-Driven Software Development (MDSD) is a trend in Software Development that focuses on code generation from various kinds of models. To perform such a task, it is necessary to develop an algorithm that performs source model transformation into the target model, which ideally is an actual software code written in some kind of a programming language. However, at present a lot of methods focus on Unified Modelling Language (UML) diagram generation. The present paper describes a result of authors’ research on Two-Hemisphere Model (2HM) processing for easier code generation.


Author(s):  
El Mustapha MELOUK ◽  
Yassine Rhazali ◽  
Youssef Hadi

The main key in MDA is the model's transformation. There are two transformation kinds into MDA: CIM to PIM and PIM to PSM. Most researchers focused on transformation from PIM to PSM because there are several points in common between these two levels. But transforming CIM to PIM is rarely discussed in research subjects because they are two different levels. This chapter presents a methodology to master model transformation from CIM to PIM up to PSM respecting MDA. The methodology is founded on creating a good CIM level, through well-chosen rules, to facilitate transformation to the PIM level. However, the authors establish a rich PIM level, respecting the three classic modeling views: functional, dynamic, and static. The method conforms to MDA by considering the business dimension in the CIM level, through BPMN which is the OMG standard for modeling business process. Nevertheless, they used UML models into the PIM level because UML is recommended by MDA in this level. Then, they use IFML the OMG standard for representing web interface model in PSM level.


Sign in / Sign up

Export Citation Format

Share Document