MDSE In Practice - Chapter 3 - Reading Notes
Chapter 3 - MDSE Use Cases
- Premier use-case - software development automation (or MDD).
- Most common use-case in organisations.
3.1 Automating Software Development
- Typical process: Requirements (M2M)=> Analysis (M2M)=> Design (M2T)=> Implementation
- Bridging communication gaps in an organisation
- Code Generators - range of capabilities
- Executable UML. ALF - Action Language for fUML
- Code Generation & Model Interpreters
3.1.1 Code Generation
- Can be seen as being a similar process to the compilation of source code into object code.
- Partial Vs Full Generation - Pros & Cons
- Advantages of Code Generation
- Intellectual Property of model is easier to maintain - currently.
- Standard output (i.e. a programming language)
- Choice of runtime environments
- Reuse of existing programming artifacts
- Easier to maintain vs an interpreter
- Partial generation an option
- Better performance vs an interpreter
- Cons
- Output usually looks different to what developers are used to.
- Interesting idea of a applying a turing test for generated code.
3.1.2 Model Interpretation
- Pros
- Enables faster changes to turnaround a change to requirements.
- Changes at runtime are possible.
- Model is the code
- Opportunity for the improvement/change of interpreter (e.g. in security concerns handling)
- Higher level of abstraction
- Easier debugging of model vs code generation
- No deployment phase
- Cons
- Dependent on MDSE vendor
- Performance concerns
- Usually requires proprietary platform.
3.1.3 Combining Code Generation & Model Interpretation
- Internal code generation, but outwardly feels like interpreted approach to developer.
- Code generation at higher levels, but use of predefined components at lower levels.
3.2 System Interoperability
- Forward & Reverse Engineering
- Syntactic & Semantic challenge
- MDI - Model Driven Interoperability
- Use of meta-models
- Syntactic Mapping
- Projector - Injectors (input -> model)
- Projector - Extractor (model -> output)
- Semantic Mapping
- Model Transformation (A->B)
- Overall Process
- Injection
- Transformation
- Extraction
3.3 Reverse Engineering
- Opportunity with regards to legacy systems
- MDRE - Model Driven Reverse Engineering
- Model Discovery
- Model Understanding
- Model (Re) Generation
- Example: Cobol To Java
3.4 Modeling The Organisaiton
3.4.1 Business Process Modeling
- BPMN / BPEL
3.4.2 Enterprise Architecture
- A collection of models
- Zachman Framework, TOGAF
Comments
Post a Comment