distributed scalable systems · distributed scalable systems division, usc information sciences...

2
SIM SIM- TBASSCO: TBASSCO: Semantic Semantic Interoperability Interoperability Measures Measures: : Template Template- based Assurance of Semantic based Assurance of Semantic Interoperability in Software Composition Interoperability in Software Composition Distributed Scalable Systems Division, USC Information Sciences Distributed Scalable Systems Division, USC Information Sciences Institute Institute http://www.isi.edu/tbassco Project Goals The SIM-TBASSCO 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. GeoWorlds: Testbed Application GeoWorlds: Testbed Application Application Developers Application Developers Task: Build an information Task: Build an information management application from pre management application from pre- fabricated components fabricated components Q: How can I select and combine Q: How can I select and combine interoperable components to build interoperable components to build a correct application ? a correct application ? System Administrators System Administrators Problem: Can Problem: Can’ t run a program t run a program script due to a non script due to a non-functioning or functioning or non non-accessible component accessible component Q: How can I identify other Q: How can I identify other available components that can available components that can substitute for the problematic substitute for the problematic component? component? Scripting Tool with Interoperability Gauges Scripting Tool Scripting Tool helps users design a helps users design a data data-flow style architecture flow style architecture at at multiple abstraction levels multiple abstraction levels Graph Graph-Based Metric Based Metric returns returns semantic interoperability semantic interoperability levels of levels of the candidate components the candidate components Compatibility Gauges Compatibility Gauges Compatibility Gauges estimate the estimate the compatibility of candidate compatibility of candidate components with a target components with a target component in terms of component in terms of functionality functionality and and I/O data semantics I/O data semantics Component Developers Component Developers Task: Design, code and insert new system Task: Design, code and insert new system components components Q: How can I evaluate the interoperability of Q: How can I evaluate the interoperability of system components? system components? Insertion Gauges Insertion Gauges Insertion Gauges show the show the interoperability interoperability and and compatibility compatibility of a new of a new component with respect to component with respect to existing components existing components Connectivity Graph Connectivity Graph shows how a shows how a new component new component fits globally fits globally within the existing within the existing connectivity connectivity structure structure Service Selector and Job Listeners System Job Pool Job Manager Default Job Pool Service Wrapper Local Services RMI Services Socket Services JavaSpace Job Pool CORBA Job Pool JavaSpace Services CORBA Services Client Layer Job Pool Layer Service Layer Entry Flow Event Flow Asynchronous Service Invocation Architecture Document Analysis Information Visualization Information Organization Information Spaces Web Information Gathering Document Collection Distributed Scalable Systems

Upload: others

Post on 14-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed Scalable Systems · Distributed Scalable Systems Division, USC Information Sciences Institute Effort sponsored by the Defense Advanced Research Projects Agency (DARPA)

SIMSIM--TBASSCO: TBASSCO: SemanticSemantic InteroperabilityInteroperabilityMeasuresMeasures: : TemplateTemplate--based Assurance of Semantic based Assurance of Semantic Interoperability in Software CompositionInteroperability in Software Composition

Distributed Scalable Systems Division, USC Information Sciences Distributed Scalable Systems Division, USC Information Sciences InstituteInstitute

http://www.isi.edu/tbassco

Project GoalsThe SIM-TBASSCO 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.

GeoWorlds: Testbed ApplicationGeoWorlds: Testbed Application

Application DevelopersApplication Developers•• Task: Build an information Task: Build an information

management application from premanagement application from pre--fabricated componentsfabricated components

•• Q: How can I select and combine Q: How can I select and combine interoperable components to build interoperable components to build a correct application ?a correct application ?

System AdministratorsSystem Administrators•• Problem: CanProblem: Can’’t run a program t run a program

script due to a nonscript due to a non--functioning or functioning or nonnon--accessible componentaccessible component

•• Q: How can I identify other Q: How can I identify other available components that can available components that can substitute for the problematic substitute for the problematic component?component?

Scripting Tool with Interoperability Gauges

•• Scripting Tool Scripting Tool helps users design a helps users design a datadata--flow style architectureflow style architecture at at multiple abstraction levelsmultiple abstraction levels

•• GraphGraph--Based MetricBased Metric returns returns semantic interoperabilitysemantic interoperability levels of levels of the candidate componentsthe candidate components

Compatibility Gauges

•• Compatibility Gauges Compatibility Gauges estimate the estimate the compatibility of candidate compatibility of candidate components with a target components with a target component in terms ofcomponent in terms of functionality functionality andand I/O data semanticsI/O data semantics

Component DevelopersComponent Developers•• Task: Design, code and insert new system Task: Design, code and insert new system

componentscomponents•• Q: How can I evaluate the interoperability of Q: How can I evaluate the interoperability of

system components?system components?

Insertion Gauges •• Insertion Gauges Insertion Gauges show the show the

interoperabilityinteroperability and and compatibilitycompatibility of a new of a new component with respect to component with respect to existing componentsexisting components

•• Connectivity Graph Connectivity Graph shows how a shows how a new component new component fits globallyfits globallywithin the existing within the existing connectivity connectivity structurestructure

Service Selector and JobListeners

System Job Pool

Job Manager

DefaultJob Pool

Service Wrapper

LocalServices

RMIServices

SocketServices

JavaSpaceJob Pool

CORBAJob Pool

JavaSpaceServices

CORBAServices

Client Layer

Job Pool Layer

Service Layer

Entry FlowEvent Flow

Asynchronous Service Invocation Architecture

Document AnalysisDocument Analysis Information VisualizationInformation Visualization

Information OrganizationInformation Organization

InformationSpacesWeb

Information Gathering

Information Gathering

Document Collection

Distributed Scalable Systems

Page 2: Distributed Scalable Systems · Distributed Scalable Systems Division, USC Information Sciences Institute Effort sponsored by the Defense Advanced Research Projects Agency (DARPA)

Get a set of place names from the map and classify the documents based on them

Get a set of place names from the map and classify the documents based on them

Classify documents based on the disaster types mentionedClassify documents based on the disaster types mentioned

Cross-product between place names and the disaster type categories

Cross-product between place names and the disaster type categories

Plot the document clusters on the map to figure out the major flooding areasPlot the document clusters on the map to figure out the major flooding areas

Retrieve a Web document collection about “China disasters”

Retrieve a Web document collection about “China disasters”

Sample Application Using GeoWorlds Components:Sample Application Using GeoWorlds Components:Identify Recurring Disaster Areas, e.g. Flood Locations in ChinaIdentify Recurring Disaster Areas, e.g. Flood Locations in China

Testbed Application: GeoWorldsTestbed Application: GeoWorlds

Using GaugesThroughout the Software Lifecycle

to Improve Internet Information Systems

Using GaugesUsing GaugesThroughout the Software Lifecycle Throughout the Software Lifecycle

to Improve Internet Information Systemsto Improve Internet Information Systems

IntelliGaugeIntelliGauge TIE: DASADA Applied to Internet Information SystemsTIE: DASADA Applied to Internet Information Systems

Service Selector and JobListeners

System Job Pool

Job Manager

DefaultJob Pool

Service Wrapper

LocalServices

RMIServices

SocketServices

JavaSpaceJob Pool

CORBAJob Pool

JavaSpaceServices

CORBAServices

Client Layer

Job Pool Layer

Service Layer

Entry FlowEvent Flow

Asynchronous Service Invocation

Architecture

Document AnalysisDocument Analysis Information VisualizationInformation Visualization

Information OrganizationInformation Organization

Information SpacesWeb

Information Gathering

Information Gathering

Document Collection

• Large component-based system, in experimental use at PACOM & JFCOM

� Supports crisis ops planning and execution

� PACOM and JFCOM Joint Futures Laboratory serve as outside evaluators

• Combines Geographic Information Systems and Web processing services

• Ops and intelligence uses, e.g.,� Mapping terrorist bombings

� Locating recurring natural disasters

� Investigating drug trafficking and piracy in various locales

• Architected from the beginning as a component-based framework

• Presents key common software challenges

� Assembling analysis programs from components

� Restructuring new version releases

� Integrating new functionality

� Adapting for local environments

Functionality to be IllustratedFunctionality to be Illustrated::Gauges and Probes in the Software LifecycleGauges and Probes in the Software Lifecycle

Existing Software (From Library of Available

Components) •• ISI – GeoWorlds• Object Services – SDC• BBN – Abstract search engine• Veridian – GIS map layers

Design Time AidsDesign Time Aids Run Time AidsRun Time AidsBBN

• Network (bandwidth, latency) gauges

• Uptime gauges

Columbia / WPI• Protocol gauges (partial

matching on eventposets)

• Run-time gauge pluginand modify

Object Services• Application profiling

gauges and topology gauges on configuration, component usage

• Component binding• Dead libraries• Versioning• Activity

ACME ADLXML/FleXMLACME ADL

XML/FleXML

Prospective Software

(Same Library: Alternative Extensions,

Compositions)

Prospective Software

(Same Library: Alternative Extensions,

Compositions)

Requirements / Capability DescriptionsRequirements / Capability Descriptions

BBN• Architecture requirement documents

Georgia State• Semantic distance metrics

ISI• Gauges to select interoperable

components• Gauges to determine difficulty of

adding new components

ISI• Gauges to select interoperable

components• Gauges to determine difficulty of

adding new components

ISI• Semantic function and data

descriptions

ISI• Semantic function and data

descriptions

• Gauges to adapt architecture to computing environment

• Gauges to adapt architecture to computing environment

ISI• 2001• 2002• 2002

• Composition of specialized analysis app’s• Aided by compatibility, interoperability gauges

• Integration of new components� Interoperability levels gauged; Component

library indexed via functional & I/O semantics� BBN: Abstract Query Engine� Veridian: Terrain Reasoner

• Runtime service quality monitoring� Component data flow models enable runtime

monitoring gauges� Columbia/WPI: gauges verify during runtime

that services are conforming to requirements

GeoWorlds Extensions Aided by SIMGeoWorlds Extensions Aided by SIM--TBASSCO:TBASSCO:

• Architecture: runtime performance tuning• BBN: performance gauges� Object Services: application profiling and

topology gauges on component usage• Runtime swapping of components based on

performance monitoring� Columbia/WPI: quality gauges,

e.g., size of search result

Extensions Aided by OtherExtensions Aided by Other IntelliGaugeIntelliGauge Projects:Projects:

SIMSIM--TBASSCOTBASSCO

Distributed Scalable Systems Division, USC Information Sciences Distributed Scalable Systems Division, USC Information Sciences InstituteInstitute

Effort sponsored by the Defense Advanced Research Projects Agency (DARPA) and Air Force Research Laboratory, Air Force Material Command, USAF, under agreements F30602-00-2-0610. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon.The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the DARPA, the Air Force Research Laboratory, or the U.S. Government.

Robert Neches, Ke-Thia Yao, In-Young Ko, Robert MacGregorDistributed Scalable Systems Division

USC Information Sciences Institute4676 Admiralty Way, Marina del Rey, CA 90292

[email protected]/822-1511

For More Information: