Open Tool Integration Framework

18
Open Tool Integration Framework Gabor Karsai Institute for Software- Integrated Systems PO.Box 1829B Vanderbilt University Nashville, TN 37235, USA

description

Open Tool Integration Framework. Gabor Karsai. Institute for Software-Integrated Systems PO.Box 1829B Vanderbilt University Nashville, TN 37235, USA. Overview. Tool Integration problem domain Meta-model driven integration Architecture Protocols Example Conclusions. F. Impact. - PowerPoint PPT Presentation

Transcript of Open Tool Integration Framework

Page 1: Open Tool Integration Framework

Open Tool Integration Framework

Gabor Karsai

Institute for Software-Integrated Systems

PO.Box 1829B

Vanderbilt University

Nashville, TN 37235, USA

Page 2: Open Tool Integration Framework

Overview

Tool Integration problem domain Meta-model driven integration Architecture Protocols Example Conclusions

Page 3: Open Tool Integration Framework

Tool Integration Problem Domain

An engineering process supported by many tools. How to facilitate model interchange?

FMECA

Diagnostics

JLME

Safety

F. Impact

Assumptions:•Tools are the primary holders of documents (=models)•Integration should be supported by an architecture that can be instantiated for specific tools•Architecture elements interoperate via well-defined protocols

Page 4: Open Tool Integration Framework

Tool Integration Problem Domain

Tool-A

Tool-B

Tool-C Tool-D

Tool-E

Assumptions:•The engineering process defines a work flow, which imposes dependencies among the tools.•Each edge is a (potential) place for a translation on models.•The Tool Integration Framework should provide the infrastructure to construct tool chains consisting of arbitrary tools and translators. •Tools can reside on different hosts, possibly as web services.

Page 5: Open Tool Integration Framework

Meta-model driven integration

Assumptions:•The integration happens through a translation process that connects various tools into a tool chain.•Tools manage their “own” data – it is not the task of the framework. •Tools are described using meta-models capturing the abstract syntax of the models.

Tool-A

Tool-B

Tool-C Tool-D

Tool-E

MetamodelA input

MetamodelA output

MetamodelC input

MetamodelC output

MetamodelD input

MetamodelD output

MetamodelB input

MetamodelB output

MetamodelE input

MetamodelE output

Page 6: Open Tool Integration Framework

Meta-model driven integration

What meta-data?1. Abstract syntax: entities, attributes, relationships of

the tool’s data.2. Well-formedness constraints UML class diagrams + OCL expressionsWhy meta-data?• Allows a general, tool-independent, canonical form for

models that can be used in the communication protocols• Provides for type-checking on models • Provides help in developing translators

• Translators: model-to-model transformation engines• Allows generic tools for archiving, visualizing,

manipulating, etc. models

Page 7: Open Tool Integration Framework

Architecture

BACKPLANE REGISTRATION/NOTIFICATION/TRANSFER SERVICES

TRANSLATOR

TRANSLATOR

TOOL

TOOL ADAPTOR

TOOL

TOOL ADAPTOR

TOOL

TOOL ADAPTOR MANAGER

Standard interface/ Protocol

METADATA WORKFLOW

Message routing, metadata repository, workflow engine

Direct tool interfaceSyntactic translation of tool data

Semantic translation of tool data

Management interface

Page 8: Open Tool Integration Framework

ArchitectureExample

Tool-A

Tool-B

Tool-C Tool-D

Tool-E

Backplane

Tool-A Tool-CTool-B Tool-D Tool-E

A adaptor B adaptor C adaptor D adaptor E adaptor

A2C A2B A2E B2D B2E C2D

Tool chain:

As implemented:

Page 9: Open Tool Integration Framework

ProtocolsData transfer

Metamodel:

a1:A

c1:C c2:C b1:B

r1:Rel

Typing

Metamodels are• instances of (UML-)meta classes • reside in the backplane• accessed via object referencesSimilar to MOF

Model elements (i.e. data) are• instances of structures• tagged with a type ID (from the

corresponding meta model)• Relationships are implemented via

instance Ids• BLOB-s are also supportedTransferred in a container

Model (data):

Page 10: Open Tool Integration Framework

ProtocolsData transfer – Meta-metamodel

Page 11: Open Tool Integration Framework

ProtocolsData transfer – Objects and Containers

// Data object struct Obj { TypeGUID tId; // TypeId of meta object (Class) objectId id; // Unique object id timeStamp created; // Creation time timeStamp modified; // Last modification time string creator; // Creator's name string modifier; // Last modifier's name AttrValue_S attrs; // Attribute values ParentRole parent; // Parent object AssocRole_S assocs; // Associations of this object any userData; // Add'l, impl-spec data }; typedef sequence<Obj> Obj_S; // Network of data objects struct DataNetwork { TypeGUID tId; // TypeId of meta object (Diagram) objectId root; // Root object Obj_S objects; // All objects };

Page 12: Open Tool Integration Framework

ProtocolsBackplane Interface

Information services:– Current metamodels,translators, active documents and tool

adaptor types – Locking, fetching, unlocking a metamodel– Tool adaptor information– Current timestamp– Upload configuration

Session services– Login/logout a manager– Login/logout a tool adaptor

Page 13: Open Tool Integration Framework

ProtocolsSession Interfaces

Manager session:– Register/unregister metamodel– Register/unregister translator– Modify attributes of/destroy document– Change password/shutdown backplane

Tooladaptor session:– Publish document– Subscribe to new document/change notifications– Fetch documents– Retrieve information about document

Page 14: Open Tool Integration Framework

ProtocolsTranslator Interfaces

Translator activation command:<translator> %FeedURI %SinkURI

TranslatorFeed interface– Subscribe to / Fetch documents

TranslatorSink interface– Publish documents

BackplaneTranslator

Feed

Sink

Notify()

Fetch()

Publish()

Page 15: Open Tool Integration Framework

AIFXML

CONFIGXML

ExampleA practical system: ESML Toolsuite

Rational Rose

ESML/GMEESCM2ESML

Analysis Tool(s)ESML2AIF

AIF2ESML

ESML2CONF

CONF2ESML

ExecutionPlatform

Instrumentation

CONF2ESML

Build Tool

Component Development

System Development

System Analysis

System Generation

Legacy Reverse Engineering

Analysis feedback

Model update from

instrumentation

Page 16: Open Tool Integration Framework

ExampleA practical system: ESML Toolsuite

Workflow:

Prescribes the correct sequencing of tool operations

Workflow model:

•Tools and their adaptors

•Document types and flows

•Translation operations

Workflow:

Prescribes the correct sequencing of tool operations

Workflow model:

•Tools and their adaptors

•Document types and flows

•Translation operations

BACKPLANE REGISTRATION/NOTIFICATION/TRANSFER SERVICES

SEMANTIC TRANSLATOR

SEMANTIC TRANSLATOR

TOOL

TOOL ADAPTOR

TOOL

TOOL ADAPTOR

TOOL

TOOL ADAPTOR MANAGER

Standard interface/ Protocol

METADATA

AIFXML

CONFIGXML

Rational Rose

ESML/GMEESCM2ESML

Analysis Tool(s)ESML2AIF

AIF2ESML

ESML2CONF

CONF2ESML

ExecutionPlatform

Instrumentation

CONF2ESML

Build Tool

Page 17: Open Tool Integration Framework

ExampleA practical system: ESML Toolsuite

ESML/GMEESML/GME

Rational Rational RoseRose

AnalysisAnalysisTool(s)Tool(s)

BackplaneBackplane

escm2esml esml2conf conf2esml esml2aif

ESCM(XML)

ExporterExporter

T/A T/A

ESML(MGA)

ESML(MGA)

T/A

CONF(XML)

Build Build processprocess

T/A

AIF(XML)

IIF(XML)

T/A

iif2aif

T/A

aif2esml

Page 18: Open Tool Integration Framework

Summary

Architecture and protocols defined Prototype implementations exists

– OTIF (incl. Eclipse Generic Tool Adaptor)

Next steps:– MOF compliant data layer– Fine-grain change notification

Event-based integration

– Object traceability