TBASSCO_LOGO_Left.gif (23342 bytes) TBASSCO_LOGO_Right.gif (8472 bytes)

SIM-TBASSCO (Semantic Interoperability Measures: Template-Based Assurance of Semantic Interoperability in Software Composition

Distributed Scalable Systems Division
University of Southern California, Information Sciences Institute

Home Next

 

Project Goals

The SIM-TBASSCO (Semantic Interoperability Measures: Template-based Assurance of Semantic Interoperability in Software Composition) project at USC ISI is developing a metadata framework for describing software components that supports the dynamic assembly of software systems. The framework supports semantic-level gauges that help application developers to select and combine interoperable software components.  This facilitates rapid composition of semantically validated software architectures as components are assembled into special-purpose applications. A semantically-based scripting tool helps users design a data-flow style architecture at multiple abstraction levels, and helps users to incrementally modify, instantiate and test the architecture by allocating correct resources. The interoperability and compatibility gauges assist users in identifying semantically interoperable and compatible software components. The component insertion gauge can help system engineers measure the semantic interoperability and compatibility levels of a new software component prior to integrating it into the system.

As a testbed application for this work, we have adopted GeoWorlds, a component-based Web and geographic information management system. GeoWorlds is in use at US Pacific Command (USPACOM), where it is used by analysts at the Virtual Information Center, as well as by USPACOM’s Crisis Operations Planning Team. End users and application developers create special-purpose analysis services by drawing on components in the GeoWorlds system.

Executive Summary

Assembling software from components is a long-sought vision. However, it is still difficult to insert/replace components in complex software systems and ensure compatibility. It is equally difficult to predict what the performance of system will be after such a change, and to adapt the system to improve performance.

Component frameworks, such as CORBA and DCOM, and Architecture Description Languages (ADLs) help by capturing information at the component interface level that bears on compatibility. But, what they provide is both stricter than necessary and less than sufficient. Current tools focus on exactly matching required vs. available input/output data types and behavior descriptions. This is necessary for plug-compatible substitutions, but too restrictive for adaptation of closely related components. Current approaches capture interface and method specifications, but not implementation factors. This supports composition up to a point, but is not sufficient to address qualitative considerations in composition, such implementation effort, performance, resource requirements, or reliability.

We propose a set of mechanisms that directly address the issues of adaptive composition sensitive to quality concerns. Our approach helps software developers engage in guided, efficient searches and gauge-based evaluations of the set of alternative system implementations that can be built with the components available to them. Our tools support intertwining composition and manual programming to iteratively build adapters for fitting components into a system when they are functionally satisfactory but suffer interface mismatches. SIM-TBASSCO helps understand the tradeoffs of alternative implementations, and use records of decisions to generate run-time monitors that warn when the resulting system is being pushed outside its design envelope.

Our approach centers on tools for developing abstract system templates, which define a framework for exploring alternative system implementations by drawing from among candidate component sets for each function delineated in the abstract system. Semantic component descriptions (functional compatibility and data equivalence) go beyond component interfaces (data types, such as integers and floats) to provide better assurance of compatibility. This is enhanced by a language of qualifiers on component software descriptions that supports qualitative evaluation during the composition process. Formal architectural level views of system execution (deployment, sequence and activity diagrams) provide easier ways to calculate resource usage and analyze performance.

SIM-TBASSCO will let developers evaluate components’ functional and data equivalence compatibility, find pertinent data conversion mappings, and predict performance (time, space, network) of a component architecture under specific usage situations and hardware/networking environments. It will work with other DASADA efforts to produce integrated products, so that, after composing a system, users can deploy run-time monitors to watch for constraint violations, detect bottlenecks and gather data to improve performance estimations.

Innovative Claims

SIM-TBASSCO, developed as a suite of tools that can be integrated with other DASADA and commercial-of-the-shelf products, builds upon and leverages promising developments in the field, while adding critical enhancements.

Specifically, SIM-TBASSCO:

Utilizes the property feature of the emerging ADL interchange standard, Acme, to focus on functional, data, and resource descriptions of components.
Augments ADL representations of component interfaces (data types: integer and float) to focus on meaning (such as temperature, location).
Supports identification of promising candidate components by reasoning about proximity in semantic hierarchies of function and data type.
Expands ADL-based tools from configuring components to specifying execution and control of the components, by using sequence and activity diagrams to add execution behavior descriptions to ADL models. This supports evaluating candidate implementation for expected performance.
Integrates and extends graphical modeling languages to impose rigorous interpretation with formal resource usage annotations, thereby making them usable for performance analysis.
Supports the ability for designers to specify abstract models of their system.

This will give designers the gauges they need to:

Determine the suitability of candidate components for insertion into a software system, based on semantic (functional requirement and I/O data equivalence) and performance (time, space, and resource usage) requirements.
Understand where component adapters are required and evaluate difficulty of inserting them.
Search component vendors’ databases to identify alternative concrete system instantiations based on semantic equivalence and performance behavior

Tangible benefits of SIM-TBASSCO to be demonstrated and evaluated include:

Time and cost savings in system development
Increased efficiency in systematically evaluating alternative system designs
Greater predictability of system development outcomes wrt quality goals
Early warning of maintenance needs and better focus of maintenance efforts

 

Back to Top

(C) Copyright 2000-2003 USC Information Sciences Institute. All Rights Reserved.
For questions regarding this web contact [tbassco-local@isi.edu].
Last updated: January 14, 2003.