00-Intro To Interoperability
00-Intro To Interoperability
W. T. Tsai, R. Paul*, Hai Huang, Bingnan Xiao, Yinong Chen Department of Computer Science and Engineering Arizona State University, Tempe, AZ 85287-8809 *OSD NII, Department of Defense, Washington, DC
Introduction
Interoperability is defined as
The ability of two or more systems or components to exchange information and to use the information that has been exchanged.
Interoperability is a critical issue for DoD C2 systems. Particularly, the recent emphasis on NetworkCentric Warfare (NCW) placed interoperability as a priority item.
2
Introduction (Cont.)
In spite of extensive studies on interoperability, the focus has been mostly on:
Data interoperability including data schema, meta-data, and database integration; XML, such as using XML to represent data schema and as a means for data interoperability; Ontology as a means for concept representation used for specification and matching; and Service-Oriented Architecture (SOA) and other related technologies such as standard protocols (SOAP, UDDI, and etc.), interface definitions (WSDL, OWL-S, and etc.), registration and publication of interfaces, wrapper, automated composition.
Introduction (Cont.)
While these studies are important and useful, they have not addressed other important issues on interoperability, namely
Semantic interoperability:
How can C2 systems or services actively collaborate to achieve a mission (not just exchange data)?
Semantic Interoperation
Semantic interoperation
Deals with how the participating subsystems will interact with each other.
Workflow; Data range; and Timing.
DoD C2 Requirements
Future DoD C2 systems
Not only need to exchange data and interoperate with their fellow C2 systems with respect to data, but also need to collaborate with other C2 systems in terms of tasks and missions.
While the current interoperability technologies such as standard interface and ontology are critical for semantic interoperability, they are not sufficient because:
The current interface technologies provide method signatures only for a single service. These method signatures do not provide sufficient information for another new system or user to properly use the service, e.g.
What is the proper calling sequence among methods of this service What is the dependency among methods of a service or another service.
To make heterogeneous systems working with each other, we need to have a framework which provides support for
Platform independent system service specification, System wrapping for legacy systems, and System composition and re-composition.
10
This ACDATE/Scenario model allows for system modeling and provides the capability to perform various analyses of requirement V&V.
12
Use Scenarios
Use scenarios
The use scenario is an extension to UMLs use case and David Parnas concept of use. It specifies how a service or system is used by other services or systems. It focuses on the work flow part of the semantic interoperability. It defines how a particular function can be used in a stepwise fashion.
Current interoperability definition of systems mainly specifies the functions and the syntax of calling the services.
13
{} precond:
precond indicates the preconditions before a particular action
postcond {}:
postcond indicate the postconditions after a particular action
criticalreg {}:
criticalreg indicate a critical region such that no other actions can take place to interrupt the execution of actions within the critical region. Any action sequence outside a critical region can be intervened by any sub-scenario.
<>:
Any entities enclosed by <> are parameter entities.
With sub-scenarios, the use scenario can describe the interoperation of hierarchical systems in different levels.
15
With the support of the analytic techniques mentioned above, users can verify the correctness of use scenario.
This can further enhance the semantic interoperability of systems.
16
17
18
19
] option [
do ACTION:Tank.LocateTarget
] option [
do ACTION:Tank.Fire
] } do ACTION: Tank.Stop
21
22
23
24
] option [
do ACTION:Tank.LocateTarget
] option [
do ACTION:Tank.Fire
] }
} do ACTION: Tank.Stop
25
27
] option [
{do ACTION:<Security>.VerifyPassword} precond do ACTION:Tank.LocateTarget
] option [
{do ACTION:<Security>.VerifyPassword} precond do ACTION:Tank.Fire
] } do ACTION: Tank.Stop
28
29
Dependency Information
In addition to the information specified in use scenarios for how to use the given system, it is useful to add dependency information. Dependencies Specification
Describes other systems that need to be included for this system to function. Compatible components list
32
With the information specified above, the composition process will be greatly eased.
When putting an aircraft carrier into a C2 system, users will know that the destroyer, frigate and submarine are also needed. From information above, the users will know it is compatible to put helicopters, fighter planes, and scouts on the aircraft carrier but not the battle tanks. 33
Categorization
For better organization, the use scenarios need to be categorized since
A system can provide multiple services. Different services provided by the system may have different use scenarios. A system working with different systems may have different use scenarios.
A set of use scenarios describing the usage of one specific service provided by this system can be put into the same category. Each system can be assigned with a category tree of use scenarios.
34
Categorization -- Example
In a C2 system, there is usually a command center which controls the overall battle. Since multiple units, say Fleet 1, Fleet 2, and Fleet 3, are all involved in the battle, the command center needs to coordinate the battle and provides services for the Fleets, respectively. To better organize the design, the use scenarios must be categorized accordingly.
Use scenarios for Fleet1 Use scenarios for Fleet2 Use scenarios for Fleet3
35
In this case, the use scenario in the command center invokes the Army use scenarios which in turn invokes the use scenarios specified for infantry.
37
System Composition
Complex mission often requires collaboration among multiple participating systems. Each participating system (subsystem) in a complex system (system of systems) focuses on handling one aspect of the overall mission. It is important for each subsystem to be specified with system scenarios as well as use scenarios.
38
41
42
44
System Re-composition
After a complex system is composed using subsystems, it may be re-composed statically or dynamically.
Re-composition is needed when a subsystem is considered as not satisfying
Replacing the individual subsystems Adding new subsystems.
The re-composition still needs to follow the specification in the use scenarios. Once a system is re-composed, it can be deployed rapidly. It is possible that the users can add a new subsystem into the composed system or remove and / or replace a nonactive subsystem in the system runtime.
45
Summary
Semantic interoperability extends the general semantics beyond the concept of ontology. Once a system is specified with use scenarios, it can be used by other systems by simply following the steps defined in the use scenarios. The analysis capabilities included in the use scenarios can be used to automatically verify and validate the correctness of system composition, which significantly increases the confidence and reduces the effort to verify and validate the system.
46