Document Details

NoiselessFern2371

Uploaded by NoiselessFern2371

Université des Sciences et de la Technologie Houari Boumediène

Tags

model transformations model driven architecture software development computer science

Summary

This document describes model transformations, focusing on the concept of Model Driven Architecture (MDA), particularly the Platform Independent Model (PIM) and Platform Specific Model (PSM). It outlines the process of transformations, and examples of model-to-model and model-to-text transformations are given. The document also touches on the tools, models, and repositories involved.

Full Transcript

# Transformations ## Definition A transformation is an operation that: - Takes models (source) as input and produces models (targets) as output. - Typically uses one source model and one target model. - Can be classified as _endogenous_ or _exogenous_. ### Endogenous Transformation * Source...

# Transformations ## Definition A transformation is an operation that: - Takes models (source) as input and produces models (targets) as output. - Typically uses one source model and one target model. - Can be classified as _endogenous_ or _exogenous_. ### Endogenous Transformation * Source and target models conform to the same meta-model. ### Exogenous Transformation * Source and target models conform to different meta-models. ## Model-to-Model (M2M) and Model-to-Text (M2T) transformations * M2T: From a UML model to a Java program (code generation). * M2M exogenous: From a UML diagram to a BDD schema. * M2M endogenous: From a UML model to another UML model. ## Diagram <br> | Meta-model | Meta-model | Meta-model | |---|---|---| | M2: Source | M2: Target | M2: | | conforms to | conforms to | conforms to| | M1: Source | M1: Target | M1: Source | M1: Target | | Transformation exogenous | Transformation endogenous| ## Model Driven Architecture (MDA) ### MDA defines two main levels of models: 1. **Platform Independent Model (PIM)**: defines an application independently of the technology used to implement it. It only specifies the business logic of an application. 2. **Platform Specific Model (PSM)**: defines an application after it has been projected onto a specific technology platform ### Relation between model levels - **Projection:** from a Platform independent model to a specific technology model. - **Generation:** from a PSM to code. <br> | Stage | Model | Description | |---|---|---| | PIM | PIM | - Defines a business logic model, independently of the platform. - The model specifies the functionality of the application. - It can be used to create various PSMs for different platforms | | PSM | PSM | - Specifies a more concrete implementation of a business logic model. - Defines the application's architecture, technology and platform. | | Code | Code | - Generates code for the application, based on the PSM. | ### Refinement - Back Engineering PSM and PIM - Adding details. ## Levels of Models - The PIM and PSM levels of MDA can be generalized in any technology space. - **Abstract-level models**: independent of a specific platform or technology. - **Concrete-level models**: related to a specific platform or technology. - It's important to model a platform deployment model to understand the implementation of the application across different environments. ## Platform Deployment Model (PDM) <br> * Not much to say on this topic... ## Transformations in Series - **Realization of an application** - This process is based on a series of model transformations. ### Example 1. Application model at the abstract level, with an abstract component model: PIM. 2. Model projection to a component model (EJB): PSM. 3. Refinement of this model to add implementation details: PSM. 4. Generation of the modeled application code for the EJB platform. ## Another Vision of Transformations - Automated development processes have been used for a long time and are based on transformations. - **Not entirely new**: Adaptation to a new context. - **Example**: C program compilation ### Example Steps: - Compilation of the abstract model of the C program. - C program transformation into another form, but remaining at the abstract level. - Modelling and a different representation of the C program for the purposes of manipulation (e.g., a parse tree). - Code is generated to transform into a machine equivalent. - Optimization for processor architecture is added. ## Tools for Implementing Transformations ### Implementation tools - **Execution of model transformations**: - **Transformation language**: defines transformations. - **Metamodel**: used to define transformation language. - Models need to be manipulated (created, saved, edited). - A repository can be used to keep track of models. - **Meta-models** represent the structure of models. - There are many tools and tools in development. ## Models, Meta-Models, and Repository <br><br> - The image shows the interaction between models, meta-models, and the repository. - The meta-model defines the structure of a model. - The model conforms to the meta-model. - The repository stores the models and meta-models. - The system uses XML to store information. - The transformation UML 2 XML generates an XML model based on a UML model.

Use Quizgecko on...
Browser
Browser