Open Tool Integration Framework - PowerPoint PPT Presentation

About This Presentation
Title:

Open Tool Integration Framework

Description:

Title: PowerPoint Presentation Last modified by: Gabor Karsai Created Date: 1/1/1601 12:00:00 AM Document presentation format: On-screen Show Other titles – PowerPoint PPT presentation

Number of Views:123
Avg rating:3.0/5.0
Slides: 19
Provided by: dreVande
Category:

less

Transcript and Presenter's Notes

Title: Open Tool Integration Framework


1
Open Tool Integration Framework
  • Gabor Karsai

Institute for Software-Integrated Systems PO.Box
1829B Vanderbilt University Nashville, TN 37235,
USA
2
Overview
  • Tool Integration problem domain
  • Meta-model driven integration
  • Architecture
  • Protocols
  • Example
  • Conclusions

3
Tool Integration Problem Domain
  • An engineering process supported by many tools.
    How to facilitate model interchange?
  • 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

4
Tool Integration Problem Domain
Tool-A
Tool-C
Tool-D
Tool-E
Tool-B
  • 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.

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

Metamodel C input
Metamodel C output
Metamodel D input
Metamodel D output
Metamodel A input
Metamodel A output
Metamodel E input
Metamodel E output
Metamodel B input
Metamodel B output
6
Meta-model driven integration
  • What meta-data?
  • Abstract syntax entities, attributes,
    relationships of the tools data.
  • Well-formedness constraints
  • UML class diagrams OCL expressions
  • Why 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

7
Architecture
Direct tool interface Syntactic translation of
tool data
Management interface
Semantic translation of tool data
Message routing, metadata repository, workflow
engine
8
ArchitectureExample
Tool-A
Tool-C
Tool-D
Tool chain
Tool-E
Tool-B
As implemented
Tool-A
Tool-C
Tool-B
Tool-D
Tool-E
A adaptor
B adaptor
C adaptor
D adaptor
E adaptor
Backplane
A2C
A2B
A2E
B2D
B2E
C2D
9
ProtocolsData transfer
Metamodel
  • Metamodels are
  • instances of (UML-)meta classes
  • reside in the backplane
  • accessed via object references
  • Similar 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 supported
  • Transferred in a container

Typing
Model (data)
10
ProtocolsData transfer Meta-metamodel
11
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 sequenceltObjgt
Obj_S // Network of data objects struct
DataNetwork TypeGUID tId //
TypeId of meta object (Diagram) objectId
root // Root object Obj_S
objects // All objects
12
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

13
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

14
ProtocolsTranslator Interfaces
  • Translator activation command
  • lttranslatorgt FeedURI SinkURI
  • TranslatorFeed interface
  • Subscribe to / Fetch documents
  • TranslatorSink interface
  • Publish documents

Backplane
Translator
Notify()
Fetch()
Feed
Sink
Publish()
15
ExampleA practical system ESML Toolsuite
Component Development
System Development
System Analysis
Analysis Tool(s)
AIF XML
Rational Rose
ESML2AIF
System Generation
AIF2ESML
ESML/GME
ESCM2ESML
Build Tool
CONFIG XML
ESML2CONF
CONF2ESML
Execution Platform
Analysis feedback
CONF2ESML
Instrumentation
Legacy Reverse Engineering
Model update from instrumentation
16
ExampleA practical system ESML Toolsuite
Analysis Tool(s)
AIF XML
Rational Rose
ESML2AIF
AIF2ESML
ESML/GME
ESCM2ESML
Build Tool
CONFIG XML
ESML2CONF
CONF2ESML
Execution Platform
CONF2ESML
Instrumentation
  • Workflow
  • Prescribes the correct sequencing of tool
    operations
  • Workflow model
  • Tools and their adaptors
  • Document types and flows
  • Translation operations

17
ExampleA practical system ESML Toolsuite
Rational Rose
ESML/GME
Build process
Analysis Tool(s)
IIF (XML)
Exporter
ESML (MGA)
ESML (MGA)
CONF (XML)
AIF (XML)
ESCM (XML)
T/A
T/A
T/A
T/A
T/A
T/A
Backplane
esml2aif
escm2esml
esml2conf
conf2esml
aif2esml
iif2aif
18
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
Write a Comment
User Comments (0)
About PowerShow.com