• Keine Ergebnisse gefunden

Modeling LayerCode Layer

N/A
N/A
Protected

Academic year: 2022

Aktie "Modeling LayerCode Layer"

Copied!
33
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Methods for the Development

Of Dependable and Adaptive Information Systems

Carolina Gomez Hernandez

(2)

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

(3)

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

(4)

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

(5)

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.

(6)

„ 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

(7)

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

(8)

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

(9)

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.

(10)

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.

(11)

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

(12)

„

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

(13)

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

(14)

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

(15)

2.

Modeling Standards and Languages

„ Common Warehouse Metamodel (CWM):

Used to integrate warehouse metadata.

Model Driven Architecture (MDA)

Warehouse Repository

CWM

(16)

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.

(17)

„

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.

(18)

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

(19)

„ 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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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.

(25)

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

(26)

„

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

(27)

Conceptualise Information System model

„

Road Map:

Approaches to follow this method

a. 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

(28)

„ 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

(29)

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

(30)

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.

(31)

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.

(32)

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

(33)

THE END

THE END

Referenzen

ÄHNLICHE DOKUMENTE

Having history as a first class entity encapsulates the evolution of structural entities.. In this paper we showed an example of deriving history properties (e.g., Evolution of Lines

This paper presents a novel approach to transform platform-independent model transformation specifications into platform-specific model transformation specifications, which can

In order to begin to create a model, now select the menu item File on the Model Builder and Equation Editor screen, shown in Figure 2.. Then click on the line item Create New

Under t he TOP t ax syst em, lands, plot s, flat s or ot her propert ies purchased should be made t hrough main savings account only. Just like shares t here w ill

In order to complete a multidimensional analysis of the processed and centralized data, received from the collecting, centralizing and expense allocation module, we implemented an

Genetic mapping using species that differ in the number or colour of lateral stripes could reveal whether additional genes or variants of the same gene were recruited in the

As many types of crowdsourced data are georeferenced, the term volunteer- ed geographic information (VGI) is also used to describe these types of contributions [16],

The simplification method uses fuzzy rule generation methodology to represent numerous results of the EMEP model as a response surface describing the source-receptor