| |||||||
|
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. 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:
This will give designers the gauges they need to:
Tangible benefits of SIM-TBASSCO to be demonstrated and evaluated include:
Back to Top |
|
|