150 likes | 241 Views
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. Motivating Problem: Tool Integration. Problem Description
E N D
Component 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}@vuse.vanderbilt.edu
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
Tool-Y LRU VAR Integrated Data Model Tool-X LRU MM FR FDE MSG UNIT OBS ALR Integrated Model
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?
Tool 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
Top_Model Entity_1 Component 1 * Entity_2 Tool 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 1<->Entity_2 dst *; }
Creating a Semantic Translator Tool Data Model (MSF/UML) Translation Model Traversals and C++ IMS Data Model (MSF/UML) Reusable Component 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
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[...] } <<...>>; } Structured Specification of Translators
Create semantic translator specification Create tool model specification Generatesemantic translator Semantic Translator Tool2IMS spec Tool.msf IMS.msf The Process (Semantic Translators) Customer/Developers Representation of tool using our model specification notation Represents the underlying IMS model schema; Assume to be created previously;May require modification Pluggable servercomponent Developers Process is repeated for IMS2Tool translator
Creating a Tool Adapter Tool Data Model (MSF/UML) Reusable Component 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
Tool AdapterGenerator Create Tool Adapter Tool Adapter Tool_taf.cpp Tool.msf TAF Developers The Process (Tool Adapters) Wrapper for CMIdata structures Common reusable code
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
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
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