“using the eclipse framework to build an mdd tool chain for the … · 2009-05-28 ·...

42
“Using the Eclipse Framework to Build an MDD tool chain for the DDS Application Domain ” For OMG RTE workshop, July 2007 Robert Kukura ([email protected])

Upload: others

Post on 31-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

“Using the Eclipse Framework to Build an MDD tool chain for the DDS Application Domain ”

For OMG RTE workshop, July 2007

Robert Kukura ([email protected])

Page 2: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

1CONTENTS

What is EclipseWhy do we need MDEUsing Eclipse to build an MDE toolsuite for DDSExample: An MDE-enabled DDS product-lineDemo: OpenSplice PowerTools™

Page 3: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

… What is Eclipse …

Page 4: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

3Eclipse is all these things…

A Java IDEAn IDE FrameworkA Tools FrameworkAn Application FrameworkAn Open Source EnablerA communityAn eco-systemA foundation

Copyright © 2006 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Page 5: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

4Eclipse is a Java IDE

Widely regarded as the Java development environmentWith all the bells and whistles…

Language-aware editors, views, …Refactoring supportIntegrated unit testing and debuggingIncremental compilationand buildTeam development support

Out of the box support for CVS

Copyright © 2006 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Page 6: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

5Eclipse is a Tools Framework

Extensibility through OSGi implementationPlug-ins make Eclipse whatever you need it to be

Focus on developing a universal platform of frameworks and exemplary toolsTools extend the Eclipse platform using plug-ins

Business Intelligence and Reporting Tools (BIRT)

Eclipse Communications Framework (ECF)

Web Tools Project (WTP)

Eclipse Modelling Framework (EMF)Graphical Editing Framework (GEF)

Test and Performance Tooling Project (TPTP)

Plug-in

Plug-in

Plug-in

Copyright © 2006 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0

Page 7: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

… Why do we need MDE …

Page 8: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

7More Complex Systems and Requirements

Page 9: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

8Complex Publish Subscribe Systems

Object OrientedComponent BasedMultithreaded/MultiProcessReal-timeEmbeddedC++/Java/Ada/VHDLPlatform IndependentHigh PerformanceHeterogeneousDistributedVitalSecureFault TolerantPortableStandardizedDeclarativeImperativeDynamic

So what’s the big deal?Each one by itself is difficult, let alone doing them all at the

same time

Page 10: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

9Providing sufficient tools to do the job

C/C++/Java

UMLDSML Tool

DSML Tool

Page 11: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

10Domain Specificity

Domain Independent

Domain Specific -Tools

The task at hand

Page 12: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

11

DDS Information Backbone

A B C E F G H I J K LD

Company Company ‘‘aa’’

Company Company ‘‘bb’’

Company Company ‘‘cc’’

Common Information Model

Design AuthorityDesign Authority

MDE-aspects in ‘Coalition Based Development’

InformationInformation

modelingmodeling

ApplicationApplication

modelingmodeling

DeploymentDeployment

modelingmodeling

Page 13: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

12The “Holy Grail” ??….

DDS Information Backbone DDS Information Backbone

A B C E F G H I J K LD

Company Company ‘‘aa’’

Company Company ‘‘bb’’

Company Company ‘‘cc’’

A B C E F G H I J K LD

Company Company ‘‘aa’’

Company Company ‘‘bb’’

Company Company ‘‘cc’’

Company Company ‘‘aa’’

Company Company ‘‘bb’’

Company Company ‘‘cc’’

Common Information Model

Design AuthorityDesign Authority

Common Information Model

Design AuthorityDesign Authority

Model Driven

Development

Lang

uage

Generator

Editor

Com

mon

ality

Process

Variability

SoftwareProduct

LinesSt

anda

rds

Platform

Performance

Infrastructure

Info

rmat

ion

Application

Deployment

CoalitionBased

Development

Page 14: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

... Using Eclipse to build and

MDE toolsuite for DDS …

Page 15: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

14GOALS:

Complete modeling of system design cycleFast, intuitive, correct

Information ModelingDocumented packages of re-usable topic-sets

Application ModelingCode-generation

Deployment ModelingRuntime control & round-trip engineering

Page 16: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

15DDS PowerTools Implementation Technologies

Eclipse BasedOpen development platform

Extensible frameworks, tools

Eclipse Modeling FrameworkUML Modelling of Domain Model

OCL/Java Constraint ImplementationJET2 Code Generation (a bit like JSP)

Graphical Editing Framework2D Drawing API

Higher Level MVC Based framework

Page 17: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

16DDS PowerTools Meta Model Definition

Meta Model is the heart of the PowerTools - Defined in UMLIDL Meta Model Foundation

Defined in UML

Based on Interface Repository ‘information model’Pure IDL – No DDS specific elements

DCPS Meta Model woven inDefined in UML

Adds DCPS related info to IDL Meta ClassesAdds additional DCPS Meta Classes

DLRL Meta Model woven inDefined in UMLAdds DLRL related info to IDL Meta Classes

Adds additional DLRL related Meta Classes.

Implemented in EMF

Page 18: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

17DDS PowerTools Meta Model Implementation

PowerTools Meta Model Implemented in EMFEMF provides the foundation for interop between MDD toolsMeta Models are specified in UML, including OCL constraintsEMF Provides Validation Framework to run constraintsEMF Generates Java classes for Meta ModelEMF Generates Edit Framework & Editor for Model

Java Bean style get/set methods

Referential IntegrityCardinality constraints

XMI Serialization/Deserialization

Notification (event) mechanismAdapter Mechanism.

Page 19: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

… RESULT:

An MDE-Enabled DDS Product Line

Page 20: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

19A ‘MDE-enabled’ DDS product line

Enterprise(Windows, Solaris, Linux, AIX)

Embedded(vxWorks, QNX, LynxOS)

Webservicegateway

NetworkScheduler

Fault-tolerantDurability

Minimum Ownership Content-Subscription

Persistence

DCPS

DLRL

DDS API’sC/C++/Java

CORBA cohabitation

C++ / (RT)JavaDynamic

XML-based API

Monitor &Control (Tuner)

Logging &Replay

Configuration

SECURITY

InformationModeling

ApplicationModeling

DeploymentModeling

OMG-DDSProfiles

Pluggable-Services

SupportedPlatforms

Middleware-Integration

High-levelServices

UML DDS-DSL

OpenSplice Tuner &Remote-connect plug-in

EclipseFoundation &Framework

Roundtrip-Engineering

Modeling-Plug-ins

Views &Editors

OpenSplice PowerTools™

OpenSplice™ OMG-DDS product-line

Development

Deployment

DBMSGatewaysoap

Page 21: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

20Introducing The Example

SENSOR PROCESSSENSOR PROCESS

CLASSIFICATIONPROCESS

CLASSIFICATIONPROCESS

DISPLAYPROCESSDISPLAYPROCESS

� Optical sensor� Scans the environment� Produces ‘Tracks’� Position of ‘objects’� Reports ‘pointTrack’

� Optical sensor� Scans the environment� Produces ‘Tracks’� Position of ‘objects’� Reports ‘pointTrack’

� Classifies tracks� Determines their identity� Analyses the trajectories� Determines hostility� Reports ‘trackState’

� Classifies tracks� Determines their identity� Analyses the trajectories� Determines hostility� Reports ‘trackState’

� Displays track info� Both position & identity� Raises alerts� Requires ‘pointTrack’� Requires ‘trackState’

� Displays track info� Both position & identity� Raises alerts� Requires ‘pointTrack’� Requires ‘trackState’

Page 22: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

21

Computing-Node Services

App-1App-1LibraryLibrary

App-2App-2LibraryLibrary

App-3App-3LibraryLibrary

Shared Data StorageShared Data Storage

Disk-XML

-Binary- RDBMS

Disk-XML

-Binary- RDBMS

Config(XML)

Config(XML)

LibraryLibrary

Config-Service

Config-Service

LibraryLibrary

Network-Service

Network-Service

LibraryLibrary

Durability-Service

Durability-Service

LibraryLibrary

Soap-Service

Soap-Service

App-1App-1 App-2App-2 App-3App-3 App-1App-1 App-2App-2 App-3App-3

network

DisplayProcess

IdentificationProcess

Remote-SensorProcess

Track

trackId

Track

trackId

PointTrackPointTrack

pospos

TrackStateTrackState

identityidentity

Information-Model

OpenSplice DDS PowerTools™ MDE Suite

InformationInformationmodelingmodeling

ApplicationApplicationmodelingmodeling

DeploymentDeploymentmodelingmodeling

Page 23: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

22

InformationInformation

modelingmodeling

Track

trackId

Track

trackId

PointTrackPointTrack

pospos

TrackStateTrackState

identityidentity

Information-Model

Information modelingLanguage E

ditor

Page 24: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

23Information modeling: Scope & Purpose

LanguageDefine the ‘spoken language’ in the system

Requirements phase: to talk with the customerDevelopment phase: to talk between components

DDS-Domain specific ‘Topics’ (Type + QoS + keys)

EditorSemantics: UML (‘annotated’)

Syntax: IDL (optional MDE-input if predefined)

Behavior: QoS (reliability, urgency, durability)

GeneratorTypes (IDL) from UML (or direct IDL-import)Topics from Types

DDS-entities Topic-creation, QoS-setup, typed readers/writers

Page 25: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

24Information modeling (example)

DDS Real-time Information Backbone

PointTrackSubscriber

Display

PointTrackPublisher

Sensor

PointTrack {

long trackId;

position pos;}

Key : trackIdQoS: best-effort,

volatile

Topic

Task: Information modeling� Model the ‘PointTrack’ and ‘TrackState’ topics� Model the system-wide behaviour of topics (QoS)� Model the relationships between the Topics (keys)� Separate these concerns from applications

Task: Information modeling� Model the ‘PointTrack’ and ‘TrackState’ topics� Model the system-wide behaviour of topics (QoS)� Model the relationships between the Topics (keys)� Separate these concerns from applications

Track

trackId

PointTrack

pos

TrackState

identity

MDE: Features / Advantages� Graphical modeling of structure and QoS (intuitive, fast)� DDS-entity code generation (topics, interfaces)� Allowing for direct utilization (by applications or tool)� Documented packages of re-usable topic-sets

MDE: Features / Advantages� Graphical modeling of structure and QoS (intuitive, fast)� DDS-entity code generation (topics, interfaces)� Allowing for direct utilization (by applications or tool)� Documented packages of re-usable topic-sets

TrackState {

long trackId;

id identity;}

Key : trackIdQoS: reliable,

transient

Topic

Page 26: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

25

ApplicationApplication

modelingmodeling

DisplayProcess

IdentificationProcess

Remote-SensorProcess

Application modeling

Page 27: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

26Application modeling: Scope & Purpose

LanguageProcessing-language

DDS ‘keywords’publishers/writers, subscribers/readers,..Content-filters, queries, waitsets, listeners,…

EditorTemplates & Patterns (loop, MVC, …)Application-level QoS modeling (history, filters)

Process modeling (waitsets, listeners)

GeneratorApplication-framework from templates

DDS entities from (graphical) modelAnnotated application- and test-code

Register with DDSRegister with DDS

Declare publicationsDeclare publications

Declare subscriptionsDeclare subscriptions

Define queries (read_conditions)Define queries (read_conditions)

Set query parametersSet query parameters

Select input dataSelect input data

Wait for input dataWait for input data

Process data (business Logic)Process data (business Logic)

Publish output dataPublish output data

Simple DDS-Loop Pattern

Page 28: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

27Application modeling (example)

DDS Real-time Information Backbone

Display

Task: Display Process modeling� Model ‘aggregate interest’

� ‘multi-topic’ or ‘DLRL-object’ with local ‘QoS’� Model display process (periodic loop)

� Handle first-appearances of hostile tracks with prio

Task: Display Process modeling� Model ‘aggregate interest’

� ‘multi-topic’ or ‘DLRL-object’ with local ‘QoS’� Model display process (periodic loop)

� Handle first-appearances of hostile tracks with prio

MDE: Features / Advantages� Import information-model� Provide Application-framework (from ‘loop’ template)� Model DLRL-objects, Multi-Topics, Queries, Waitsets,…� Developer can concentrate on ‘business-logic’ (GUI)

MDE: Features / Advantages� Import information-model� Provide Application-framework (from ‘loop’ template)� Model DLRL-objects, Multi-Topics, Queries, Waitsets,…� Developer can concentrate on ‘business-logic’ (GUI)

Content-filteredMulti-topicSubscriber

Track

trackId

PointTrack

pos

TrackState

identity

Page 29: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

28

DeploymentDeployment

modelingmodeling

Computing-Node Services

App-1App-1LibraryLibrary

App-2App-2LibraryLibrary

App-3App-3LibraryLibrary

Shared Data StorageShared Data Storage

Disk-XML

-Binary- RDBMS

Disk-XML

-Binary- RDBMS

Config(XML)

Config(XML)

LibraryLibrary

Config-Service

Config-Service

LibraryLibrary

Network-Service

Network-Service

LibraryLibrary

Durability-Service

Durability-Service

LibraryLibrary

Soap-Service

Soap-Service

App-1App-1 App-2App-2 App-3App-3 App-1App-1 App-2App-2 App-3App-3

network

Deployment modeling

Page 30: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

29

Computing-Node Services

App-1App-1LibraryLibrary

App-2App-2LibraryLibrary

App-3App-3LibraryLibrary

Shared Data StorageShared Data Storage

Disk-XML

-Binary- RDBMS

Disk-XML

-Binary- RDBMS

Config(XML)

Config(XML)

LibraryLibrary

Config-Service

Config-Service

LibraryLibrary

Network-Service

Network-Service

LibraryLibrary

Durability-Service

Durability-Service

LibraryLibrary

Soap-Service

Soap-Service

App-1App-1 App-2App-2 App-3App-3 App-1App-1 App-2App-2 App-3App-3

network

DisplayProcess

IdentificationProcess

Remote-SensorProcess

Task: Deployment modeling (‘Control & Monitoring’)� Configure Durability-service (TRANSIENT TrackState topic)� Configure Network-channels (priority, reactivity)� Configure Resources (resource-limits)� Remote control & Monitoring of deployed system

Task: Deployment modeling (‘Control & Monitoring’)� Configure Durability-service (TRANSIENT TrackState topic)� Configure Network-channels (priority, reactivity)� Configure Resources (resource-limits)� Remote control & Monitoring of deployed system

MDE: Features / Advantages� Round-trip engineering

� Deploy & tune models (info & application)� Control & Monitor deployed system

� Using the domain specific ‘DDS-entity language’

MDE: Features / Advantages� Round-trip engineering

� Deploy & tune models (info & application)� Control & Monitor deployed system

� Using the domain specific ‘DDS-entity language’

MDE-suite

‘roundtrip-support’

Deployment modeling (example)

Page 31: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

... OpenSplice PowerToools™..

Eclipse based MDE-suite: Demo

Page 32: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

31DEMO – Traditional Chat architecture

Chat-Server

Chat-Client 2Chat-Client 1

Chat-Client 3 Chat-Client 4

Page 33: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

32DDS Example: C/S v.s. P/S

• Connect to the Chat-Server.• Transmit your identity.• Download the identities of the other

chatters.• Receive chat messages from other

users.� These messages are forwarded to

you by the server.• Write your own chat-messages.

� These messages are forwarded by the server to all the other users.

• Participate in the Chat-domain.• Publish your identity.• Subscribe yourself to the identities of

all other chatters• Subscribe yourself to all chat-

messages in the Chat-domain.� All messages are delivered to you

directly by their respective writers.• Publish your own chat-messages.

� Your messages are directly delivered to all the other interested users.

Typical sequence of events on a traditional Chat-application:

Typical sequence of events on a DDS-based Chat-application:

Page 34: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

33Example: DDS based Chat architecture

Chatter 2

Chatter 1 Chatter 3

Chatter 4

DDS-Chat Domain

DomainParticipant

DomainParticipant

DomainParticipant

DomainParticipant

Page 35: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

34OpenSplice Power Tools™: Eclipse based MDE-suite

Page 36: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

35DEMO: DDS-based Chatroom Applications

DDS-Chat DomainDDS-Chat Domain

DomainParticipant

DomainParticipant

DomainParticipant

DomainParticipant

Message -

Board

Message -

Board

User -

Load

User -

Load

SHOWS

ALL

MESSAGES

SHOWS

ALL

MESSAGES

TRACKS

ALL

CHATTERS

TRACKS

ALL

CHATTERS

ChatMessage {

int userID;string Message;

}

Key : userIDQoS: Reliable,

Volatile

ChatMessage {

int userID;string Message;

}

Key : userIDQoS: Reliable,

Volatile

NameService {

int userID;string Name

}

Key : userIDQoS: Reliable,

Transient

NameService {

int userID;string Name

}

Key : userIDQoS: Reliable,

Transient

Chatter HansuserID = 1

DomainParticipant

DomainParticipant

DomainParticipant

DomainParticipant

Chatter RobertuserID = 2

Information-model

OpenSplice

TUNER

Chatters

Page 37: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

36PowerTools™ Graphical modeling: Intuitive, Easy and Fast

Page 38: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

37PowerTools™ Code Generation: Reduced complexity

Page 39: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

38DEMO: DDS-based Chatroom: DCPS, DLRL .. and even SQ L

DDS-Chat Domain (ChatRoom Partition)DDS-Chat Domain (ChatRoom Partition)

DomainParticipant

DomainParticipant

DCPSMessage -

Board

DCPSMessage -

Board

DomainParticipant

DomainParticipant

DLRLOO Message -

Board

DLRLOO Message -

Board

DBMSService

Filter : userID != 1

DBMSService

Filter : userID != 1

SQL

mySQL Message

Board

SQL

mySQL Message

Board

mySQL DBMS

SQL

ANTs Message-

Board

SQL

ANTs Message-

Board

ANTs DBMS

Chat

userID

ChatMessageMessage

NameServiceName

Chatter HansuserID = 1

DomainParticipant

DomainParticipant

DomainParticipant

DomainParticipant

Chatter RobertuserID = 2

Object-model

ChatMessage {

int userID;string Message;

}

Key : userIDQoS: Reliable,

Volatile

ChatMessage {

int userID;string Message;

}

Key : userIDQoS: Reliable,

Volatile

NameService {

int userID;string Name

}

Key : userIDQoS: Reliable,

Transient

NameService {

int userID;string Name

}

Key : userIDQoS: Reliable,

Transient

Information-model

OpenSplice

TUNER

DBMSService

Filter : userID != 2

DBMSService

Filter : userID != 2

DLRL-layerDLRL-layer

Page 40: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

39MDE and DLRL: “ Messageboard example”, Reducing Complexity !!

MDE-Generated

DLRLMessage-

board

DCPSMultitopicEmulation

DCPS-Message-

Board

62 %Reduction

70% reduction

MDE-Generated

605 71 %reduction

212

393

228

650

287

322

67287

DCPS DCPS-MDE DLRL DLRL-MDE

DCPSMDE

DCPSMDE

DLRLMDE

DLRLMDE

255

870

SQLMessage-

board

150

SQL

DCPSDCPS62 %

reduction123 %

increase

605

228

67

150

SQLSQL

Managed info (DLRL) & MDE: a factor of 10 !

Page 41: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

40Eclipse-based MDE tool-suite: Summary & Advantages

Complete modeling of system design cycleInformation/application/deployment ModelingContext aware guidance / well defined stepsFast, intuitive, correct

Information ModelingGraphical system-wide information + QoS modelingDDS code-generation of topics and typed readers/writersDocumented packages of re-usable topic-sets

Application ModelingInformation-model (parts) import Graphical application modeling Code-generation from patterns (listener/waitset/MVC )

Deployment ModelingGraphical modeling of DDS-configurationService configuration (networking, durability)Runtime control (& round-trip engineering) by OpenS plice Tuner™ Eclipse-plugin

Page 42: “Using the Eclipse Framework to Build an MDD tool chain for the … · 2009-05-28 · Code-generation Deployment Modeling ... Open development platform Extensible frameworks, tools

….QUESTIONS….

?????

� THANK YOU !!