Title: Component Generation Technology for Semantic Tool Integration1
1Component Generation Technology for Semantic Tool
Integration1
- Gabor Karsai and Jeff Gray
- Institute for Software Integrated Systems
Vanderbilt University - http//www.isis.vanderbilt.edu
- gabor, jgray_at_vuse.vanderbilt.edu
2Motivating 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
3Integrated Data Model
Tool-X
LRU
MM
FR
FDE
MSG
UNIT
OBS
ALR
Integrated Model
4Evaluating 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?
5Tool Integration Framework (TIF)
Legacy tools require a bi-directional tool adapter
IMS models can be viewed in a web browser
New tools can access the IMS directly through
the CMI
CORBA
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
6Tool Specification
- paradigm 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 1lt-gtEntity_2 dst
7Creating a Semantic Translator
Reusable Component
Tool Data Model (MSF/UML)
IMS Data Model (MSF/UML)
Translation Model Traversals and C
Generated Component
Hand-coded Component
GEN Tool
XLG Tool
DBB Tool
Tool Meta Data
UP Translator
INTEGRATED MODEL DATABASE
Model Instance Data
Repository Interface
Database Scaffolding
DOWN Translator
CMI Scaffolding
Constraint Enforcer
8Structured Specification of Translators
- visitor Visitor
-
- at Component...
- ltlt...gtgt traverse...
-
- at Entity_1...
- ltlt...gtgt
- at Entity_2...
- ltlt...gtgt
- at Rel...
- traverse...
-
- traversal Traversal using Visitor
-
- from Top_Model -gt
- ltlt...gtgt to components... ltlt...gtgt
-
- from Component...
- to entity_1..., entity_2...,
- subComponents..., rel...
-
- from Rel...
- ltlt...gtgt to src..., dst... ltlt...gtgt
-
9The Process (Semantic Translators)
Customer/Developers
Representation of tool using our model
specification notation
Represents the underlying IMS model
schema Assume to be created previouslyMay
require modification
Pluggable servercomponent
Developers
Process is repeated for IMS2Tool translator
10Creating a Tool Adapter
Reusable Component
Tool Data Model (MSF/UML)
Generated Component
Hand-coded Component
TAG Tool
Tool Meta Data Scaffolding
Tool Adapter Main Code
TOOL DATABASE
Model Instance Data
CMI Scaffolding
CMI/CORBA
Support utility classes
11The Process (Tool Adapters)
Wrapper for CMIdata structures
Common reusable code
12IMS Browser (Instance Data)
13Development 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 tools 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
14Lessons 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
15Future 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