Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute...

15
Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University http://www.isis.vanderbilt.edu {gabor, jgray}@vuse.vanderbilt.edu

Transcript of Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute...

Page 1: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Component Generation Technology for Semantic Tool Integration1

Gabor Karsai and Jeff GrayInstitute for Software Integrated Systems

Vanderbilt University

http://www.isis.vanderbilt.edu

{gabor, jgray}@vuse.vanderbilt.edu

Page 2: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Motivating Problem: Tool Integration

• Problem Description• Previous Approaches

– File Translators, Middleware, Universal Language, PCTE

• Increased complexity and semantic richness requires semantic translation

• The core of our solution involves software generators that offer a componentized solution to the tool integration problem

Page 3: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Integrated Data Model

MMLRU

FR

FDE

LRU VAR

OBS

UNITMSG

ALR

Page 4: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Evaluating Tool Integration Solutions

• How much time and effort does it cost to integrate a new tool?

• How scalable is the integration approach?

• How much expert knowledge is needed to realize an integration solution?

• What is the coupling between the individual tools and the integration technology?

Page 5: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Tool Integration Framework (TIF)

ORB

Integrated Model

Browser

Legacy Tool 1

Tool Adapter

Integrated Tool

Naming Service

Legacy Tool N

Tool Adapter

Common Model Interface

Meta-Model Objects

IMS

Semantic Translation

Integrated Model Database

IMS models can be viewed in a web browser

New tools can access the IMS directly through the CMI

Legacy tools require abi-directional tool adapter

The CMI is specified in CORBA IDL and defines rules and data structures

for accessing the IMS

MS Repository sits on top of an ODBC database; currently Access or SQL Server

CORBA

Page 6: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Entity_2

Top_Model

Entity_1 Component

1

*

Tool Specificationparadigm Foo;

model Top_Model { ... part Component components;}

model Component { ... part Entity_1 ent_1; part Entity_2 ent_2; part Component subComponents; rel Rel aRel}

entity Entity_1 { ... }

entity Entity_2 { ... }

relation Rel { Entity_1 src 1<->Entity_2 dst *;}

Page 7: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Creating a Semantic Translator

INTEGRATEDMODEL

DATABASEModel Model

Instance Instance DataData

Reusable ComponentReusable ComponentD

ata

base

Sca

ffold

ing

Data

base

Sca

ffold

ing

Hand-coded ComponentHand-coded Component

CM

I Sca

ffold

ing

CM

I Sca

ffold

ing

Generated Generated ComponentComponent

Tool Meta DataTool Meta Data

Constraint EnforcerConstraint Enforcer

Reposito

ry In

terfa

ceR

eposito

ry In

terfa

ce

GEN ToolGEN ToolGEN ToolGEN Tool XLG ToolXLG ToolXLG ToolXLG Tool DBB ToolDBB ToolDBB ToolDBB Tool

UP TranslatorUP Translator

DOWN TranslatorDOWN Translator

Tool DataTool DataModelModel

(MSF/UML)(MSF/UML)

IMS DataIMS DataModelModel

(MSF/UML)(MSF/UML)

Translation ModelTranslation ModelTraversals and C++Traversals and C++

Page 8: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Structured Specification of Translators

visitor Visitor

{

at Component[...]

<<...>> traverse[...];

at Entity_1[...]

<<...>>;

at Entity_2[...]

<<...>>;

at Rel[...]

traverse[...];

}

traversal Traversal using Visitor

{

from Top_Model ->[…]

<<...>> to { components[...] } <<...>>;

from Component[...]

to { entity_1[...], entity_2[...],

subComponents[...], rel[...]

};

from Rel[...]

<<...>> to {src[...], dst[...] } <<...>>;

}

Page 9: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

The Process (Semantic Translators)

Customer/DevelopersCreate tool

model specification Tool.msf

DevelopersCreate semantic

translator specification Tool2IMS spec

Generatesemantic translator IMS.msf Semantic Translator

Process is repeated for IMS2Tool translator

Represents the underlying IMS model schema;Assume to be created previously;

May require modification

Pluggable servercomponent

Representation of tool using our model specification notation

Page 10: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Creating a Tool Adapter

TOOLDATABASEModel Model

Instance Instance DataData

Reusable ComponentReusable Component

CM

I/CO

RB

AC

MI/C

OR

BA

Tool Adapter Tool Adapter Main CodeMain Code

CM

I Sca

ffold

ing

CM

I Sca

ffold

ing

Generated Generated ComponentComponent

Tool Meta Data Tool Meta Data ScaffoldingScaffolding

TAG ToolTAG ToolTAG ToolTAG Tool

Tool DataTool DataModelModel

(MSF/UML)(MSF/UML)

Support utility classesSupport utility classes

Hand-coded ComponentHand-coded Component

Page 11: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

The Process (Tool Adapters)

Tool.msf

Create Tool AdapterDevelopers Tool Adapter

Tool AdapterGenerator Tool_taf.cpp

Wrapper for CMIdata structures

TAFCommon reusable code

Page 12: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

IMS Browser (Instance Data)

Page 13: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Development Effort• Translators can be written within a few man-days

– Average translator was 225 lines of traversal/visitor code

• Tool Adapter development depends on: – Complexity of tool

– Complexity of the tool’s data access mechanism (e.g., ADO, COM, comma separated values)

– Developer experience with previous Tool Adapters

• Our average development time for a bi-directional Tool Adapter is about 10 man-weeks

Page 14: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Lessons Learned

• Successful integration of 4 tools• Separation of concerns:

– Cleaner solution by separating semantic and syntactic issues

• Framework approach using software generators– infrastructural elements

– tool-specific translators (componentized)

– traversal/visitor specification language

Page 15: Component Generation Technology for Semantic Tool Integration 1 Gabor Karsai and Jeff Gray Institute for Software Integrated Systems Vanderbilt University.

Future enhancements

• Incremental translation (fine-grain operations)

• Intelligent data fusion (merge)

• Web-based access to IMS (XML server)

• Automatic generation of integrated schema from the individual tool specifications