html5-img
1 / 18

Open Tool Integration Framework

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.

thor
Download Presentation

Open Tool Integration Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. F. Impact Diagnostics JLME Safety FMECA 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. Tool-A Tool-C Tool-D Tool-E Tool-B 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 tool’s 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-B Tool-C Tool-D Tool-E A adaptor B adaptor C adaptor D adaptor E adaptor Backplane A2C A2B A2E B2D B2E C2D

  9. a1:A c1:C c2:C b1:B r1:Rel 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 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 };

  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: <translator> %FeedURI %SinkURI TranslatorFeed interface • Subscribe to / Fetch documents TranslatorSink interface • Publish documents Backplane Notify() Translator Fetch() Feed Sink Publish()

  15. ExampleA practical system: ESML Toolsuite Component Development System Development System Analysis Analysis Tool(s) Rational Rose AIF XML ESML2AIF System Generation AIF2ESML ESCM2ESML ESML/GME 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) Rational Rose AIF XML ESML2AIF AIF2ESML ESCM2ESML ESML/GME 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

More Related