Methods for the Development
Of Dependable and Adaptive Information Systems
Carolina Gomez Hernandez
Index of Contents
History of Modeling
Methods for the Development of DAIS:
Model Driven Architecture (MDA)
An MDA specific Application
Enterprise Knowledge Development Change Management Method (EKD- CMM)
MDA vs. EKD-CMM
Conclusions
History of Modeling
Modeling Evolution
Model
Code
1980 1960
1950
Assembler
Machine
Code High Level
Coding O-O
Coding
∅
∅
∅
High Level Programming
(FORTRAN)
O-O
Programming (JAVA)
Assembler Program
Generated Assembler
Code
∅
Time Line
Compiler
Generated Assembler
Code
Compiler
History of Modeling
Modeling Evolution
Model
Code
200x 1995
Assembler
Early
Modeling MDA
UML Model
OO – Code Completely
Generated Generated
Assembler Code
Generated Assembler
Code OO - Code
Partially Generated
UML Model Time Line
Compiler Compiler
Generate Updated
Manually Generate
History of Modeling
Modeling has evolved in order to:
Handle the complexity of today’s software systems
Achieve a higher level of abstraction that allows a human to better understand a problem.
Complexity of today’s software system:
History of Modeling
Applications were
developed by thinking of technical specifications of a specific technology.
FORMERLY TODAY
The development of
Information Systems involves a wide range of concepts
including the implementation technology. This rising
complexity requires a higher level of abstraction.
1950 1960 1980 1995 2000
2 + 3 = 5 User Requirements
Business Processes Domains
History of Modeling
A higher level of abstraction allows a
human to better understand a problem.
Java, C#
Book x = new Book()
UML
MDA Growing
Levels of abstraction
Time ASSEMBLER
LTR L1,L2
FORTRAN,C
int x = 0;
1950 200x
Methods for the Development of DAIS
Model Driven Architecture (MDA): For the development of an information system
Enterprise Knowledge Development
Change Management Method (EDK-CMM):
Allow to choose an information system suitable for an enterprise
Model Driven Architecture (MDA)
DEFINITION
Method used for developing software that uses models to specify the
behavior and requirements of a system, independently from the
platform in which the system is finally
implemented.
GOALS
1. To make a distinction between the logic of business and the platform implementation.
3. To create code implementation directly from models.
Model Driven Architecture (MDA)
2. To offer a standard to develop and create models.
1.
Logic of Business vs. Platform
Model Driven Architecture-MDA
Transformation
Transformation
Modeling LayerCode Layer
UML model for the System Behavior
UML platform independent model
Intermediate UML model According to a specific
platform
UML model link between model and code
Implementation Code ready for compilation
Generated Code from the platform specific UML model
Models
Model Driven Architecture (MDA)
Modeling Layer
Computation CIM
Independent Model
Platform Independent PIM
Model
Platform Model PM
Platform Specific PSM
Model
Use Case No1 Description:
Actors:
Related Use Cases:
Class1 Class2 Class3
UML Profile for .NET
Model Driven Architecture (MDA)
2.
Modeling Standards and Languages
Unified Modeling Language (UML) : Used to create graphical representation of systems requirements and behavior.
UML Profile for .NET
Use Case No1 Description:
Actors:
Related Use Cases:
Class1 Class2 Class3
XML Metadata Interchange (XMI): Used to integrate XML data and model objects
Class1 Class2 Class3
PIM PSM
2.
Modeling Standards and Languages
Meta Object Facility (MOF)
Model Driven Architecture (MDA)
MOF
Meta-Metamodel
M3
UML Metamodel
M2
UML Model
M1
M0 Instance of
Defined by Defined by
Language in which Modeling systems Are specified
UML Class Metamodel:
Concepts of an UML Class
UML Class Model for a particular application
Object instance
of a UML Class Model .
ISBN Name Author
Book
Attribute1 Attribute2 Attributen
Class
Book
6758-90 Harry Potter JK Rowling
2.
Modeling Standards and Languages
Common Warehouse Metamodel (CWM):
Used to integrate warehouse metadata.
Model Driven Architecture (MDA)
Warehouse Repository
CWM
3.
Implementation code derived from models: MDA Transformation
Model Driven Architecture (MDA)
Transformation in MDA is the process of converting one model into another of the same system.
Within a system models are classified in three different layers, called viewpoints.
MDA Transformation: Viewpoints
Model Driven Architecture-MDA
The environment and requirements of a
system
Program Code
= specification of a system +platform The operation of a system
without specifying details of any platform
Computation Independent
Viewpoint
Platform Independent
Viewpoint
Platform Specific Viewpoint
Focuses on
Focuses on
Focuses on
Model from CIVP
2. Transformed into 1. Transformed
into
Model from PSVP Model from PIVP
Models are transformed from one to another viewpoint.
Model Driven Architecture (MDA)
MDA Transformation Guides: Mappings
Mapping gives rules and specifications to
transform one model into another of a specific platform.
Book
ISBN Name Author
XMLSchema
<?xml version="1.0"?>
<Schema xmlns="schemas-microsoft- com:xml-data">
<ElementType name="book">
<element type="ISBN" />
<element type="author" />
<element type="name" />
</ElementType>
</Schema>
Mapping UML-XML
MDA Transformation Guides: Mappings
Model Driven Architecture (MDA)
Model Type Mappings: Mapping Rules are defined by using a Platform Model.
Model Instance Mappings: Mapping Rules are defined by using Marks.
+ MARKS
Model Driven Architecture (MDA)
Case of transformation
Using Model Instance Mappings
PIM
PIM with Marks
PSM
Marks
Mapping Are applied to
Based on Marks
UML Model
Marks
Mapping
public Class Book { protected int ISBN;
private string Name;
private string Author;
public void ModifyName(){}
public string GetAuthor(){}
}
C# Class
Hardware InterfaceDomain Pilot Interface Domain Communications
Domain
MDA & Avionics Industry
Why MDA in the avionics?
To improve their existing method of developing software:
“waterfall method”
To integrate all functionality blocks in a standardized way
Software Architecture Domain
AIRCRAFT PLATFORM INDEPENDENCE
EXECUTION PLATFORM INDEPENDENCE
TARGET EXECUTION ENVIRONMENT TARGET HARDWARE
PLATFORM INDEPENDENT LAYER
PLATFORM SPECIFIC LAYER Sensors
and Weapons
Aircraft communications
equipment
Interface for communicating
with the Pilot
Mapping Rules from PIM to PSM
OS, Programming Languages and
Processors
MDA & Avionics Industry
MDA approach used by the Military Aircraft System
Specify Domains By using System Use Cases
Build Platform Independent Models Class diagram, state charts
Action Models
Validate PIMs
By executing and simulating System Use Cases Specify Mapping Rules
from PIMs to PSMs
Generate System Generate code for the
Target system
MDA & Avionics Industry
Example of the MDA approach:
Transform an application into a set of processing modules
Blue Print tool:
Store information of the OS
PSI
Processing Module iCCg tool:
Code Generator iUML tool:
Model Builder PIM
(Application) A PIM is
built
Mapping Rules are Provided
Application 1 Application n
Application 2
Operating System Module Support Layer
Independent Execution LayerSpecific Execution Layer
Processing Module 1
Processing Module 2
Processing Module n
Tags PIM
(Application) A PIM is
tagged
iUML tool:
Model Tester
PIM (Application) A PIM is validated
MDA & Avionics Industry
Why does MDA improve dependability?
It performs an automated transformation process.
It verifies platform independent models against the system requirements before a transformation.
Enterprise Knowledge Development Change Management Method
DEFINITION
Choose an information system suitable for an enterprise:
First define the objectives and processes of an enterprise.
Second, define the requirements of the information system suitable for the
enterprise.
EKD-CMM
Layers of Modeling
BUSINESS OBJECTIVES
BUSINESS PROCESSES
INFORMATION SYSTEMS Goals
Actors Roles Processes
Systems
Enterprise Goal Models
Enterprise Processes Models
Enterprise System Model
Enterprise Knowledge Development Change Management Method
EKD-CMM
Conceptualise Information System model
Road Map:
Approaches to follow this methoda. Forward Engineering
b. Reverse Engineering
c. Business Process Reengineering or Improvement
Elicit
Enterprise Business Model
Conceptualise Business Processes Model
Start
End a
a a
a b
b
b c
c
c
Enterprise Knowledge Development Change Management Method
EKD-CMM
EDK-CMM approach example : Forward Engineering
Enterprise Knowledge Development Change Management Method
EKD-CMM
Business Objectives Model
Business Processes Model
Business Object Model (BOM)
Requirements
Business only
Objectives
Business Processes
Information Systems
Enterprise System Model
Technical Business Object
Model (TBOM)
Business Process Rules (BPR)
Technical Concepts
MDA & EKD-CMM
Similarities
Use of Model Driven Development (MDD)
Use of Transformations
Use of the concept of layers
Refinement of models to keep integrity
MDA & EKD-CMM
Differences
The final product of MDA is a platform specific model (PSM) : Implementation Code
The final product of EDK-CMM is an Enterprise System Model: List of
requirements of an Information System suitable for an Enterprise.
Conclusions
Dependability
Reliability: MDA performs an automated
transformation from models to code.
MDA
EKD-CMM
Validation: The PIMs are validated against the
requirements of a system before being transformed.
Integrity: MDA provides an alternative to coding.
EKD-CMM defines an
enterprise system model, that describes how to support business
processes at operational levels.
Conclusions
Adaptability
In MDA, changes in the system are updated dynamically:
MDA allow to make an update of the system directly in the models.
MDA
Class1 Class2 Class3
+
MODEL REPOSITORY
Use Case No1 Description:
Actors:
Related Use Cases:
=
MODEL REPOSITORY
Use Case No1 Description:
Actors:
Related Use Cases:
Class1 Class2 Class3