open tool integration framework
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 PresentationTRANSCRIPT
![Page 1: Open Tool Integration Framework](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/2.jpg)
Overview
Tool Integration problem domain Meta-model driven integration Architecture Protocols Example Conclusions
![Page 3: Open Tool Integration Framework](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/10.jpg)
ProtocolsData transfer – Meta-metamodel
![Page 11: Open Tool Integration Framework](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062321/5681403c550346895dabac23/html5/thumbnails/18.jpg)
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