Ensure interoperability
Download
1 / 29

Ensure Interoperability - PowerPoint PPT Presentation


  • 423 Views
  • Uploaded on

Ensure Interoperability Texas A&M University Department of Computer Science CPSC 606: SOFTWARE ENGINEERING Presentation 1 Sameh S. Sharkawi Outline Introduction Levels of Software Interoperability Interoperability Complicating Factors Some Current Proposed Solutions

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Ensure Interoperability ' - Jeffrey


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Ensure interoperability l.jpg

Ensure Interoperability

Texas A&M University

Department of Computer Science

CPSC 606: SOFTWARE ENGINEERING

Presentation 1

Sameh S. Sharkawi


Outline l.jpg
Outline

  • Introduction

  • Levels of Software Interoperability

  • Interoperability Complicating Factors

  • Some Current Proposed Solutions

  • Software Tools for Interoperability

  • Conclusion

  • References


Introduction l.jpg
Introduction

  • Definition

    “The ability of a collection of communicating entities to

    (a) share specified information and

    (b) operate on that information according to a shared operational semantics in order to achieve a specified purpose in a given context.” *

    * Carney, D.; Smith, J.; & Place, P. Topics in Interoperability: Infrastructure Replacement in a System of Systems Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University. To be published.


Introduction4 l.jpg
Introduction

  • The definition of interoperability encompasses both atechnicalandanoperationalcapability.

    • The technical capability (ability of systems, units, or forces to provide services to and accept services from other systems, units, or forces) addresses issues of connectivity among systems, data and file exchange, networking, and other communication related scenarios.

    • The operational capability addresses the degree to which value is derived from that technical capability.


Introduction5 l.jpg
Introduction

  • Importance of Interoperability

    • A significant development in computing in the 1990s has been the move toward more distributed computer systems through network communication facilities.

    • The need to integrate computer applications by means of an interoperability methodology is greatest in distributed environments that are heterogeneous in their composition of hardware and software resources.


Introduction6 l.jpg
Introduction

  • Importance of Interoperability Contd.

    • Interoperability is the number one problem in joint force & combined operations. 




Levels of software interoperability9 l.jpg
Levels of Software Interoperability

  • Physical Interoperability

    • Transfer of information from one application to another manually, reading the output from one program and manually reentering it as input to another program

    • This approach to interoperability is both time consuming and costly to users


Levels of software interoperability10 l.jpg
Levels of Software Interoperability

  • Data-type Interoperability

    • Allows data to be shared by different objects and procedures independently of the programming languages or hardware platforms used.

    • Most systems today provide application programming interfaces (APIs) to encapsulate such differences when various programs must interoperate in a networked environment, at least at the level of simple data types intrinsic to most popular programming languages.


Levels of software interoperability11 l.jpg
Levels of Software Interoperability

  • Specification-level Interoperability

    • Interoperability at the specification level enables programs to communicate at higher levels of abstraction and increases the degree of information hiding, affording application designers greater flexibility in how they implement the underlying structures beneath the interoperability interface.


Levels of software interoperability12 l.jpg
Levels of Software Interoperability

  • Semantic Interoperability

    • Symbolic models that explicitly represent "function" (design intent) and predicted "behavior" as well as "form“.

    • At present there is very little work on semantic interoperability, almost all of it in the database integration community

    • Systems that translate semantics across different databases are only at prototype stages



Interoperability complicating factors14 l.jpg
Interoperability Complicating Factors

  • The Problem of Semantics

    • Both systems must make consistent interpretations on the meaning of the data communicated between them; they must exhibit semantic interoperability.


Interoperability complicating factors15 l.jpg
Interoperability Complicating Factors

  • Differences between Hardware and Software

    • The potential rate of change for software components vastly exceeds that for hardware components.

    • Hardware interfaces, being observable, are easier to identify.

    • The boundaries between software components are not as easy to define and are more fluid than those between hardware components

    • Software components tend to have more widely cascading effects on other components, due to their greater interdependence

    • Quality of service (QoS) for hardware components is better understood, in terms of what is required, which component can deliver it, and how it is measured.


Interoperability complicating factors16 l.jpg
Interoperability Complicating Factors

  • Bounded vs. Unbounded Systems

    • Unbounded Systems involve an unknown number of participating systems. They require individual systems to act and interact in unanticipated ways, often in the absence of complete information.


Interoperability complicating factors17 l.jpg
Interoperability Complicating Factors

  • Trust, Trustworthiness and Security

    • Trust: Each party to an interaction must have, develop, or perceive a sense of whether the actions of interoperating parties can be trusted

    • Trustworthiness: relates to the actual state of the end-to-end service provided

    • Security: addresses issues of confidentiality (information available only to those authorized), integrity (information not corrupted due to unauthorized—by error or intent—change), and availability



Some current proposed solutions19 l.jpg
Some Current Proposed Solutions

  • Solution to the Problem of Semantics

    • One mechanism often mentioned to solve this problem is the use of standards, to which all systems adhere, and which govern all interactions

    • At the higher levels of meaning, gaining consensus on such “universal” standards has proven remarkably difficult to achieve


Some current proposed solutions20 l.jpg
Some Current Proposed Solutions

  • Solution to Software Vs. Hardware

    • The typical perceived solution is to apply still more hardware and system engineering discipline to gain better control of the changes to the various components


Some current proposed solutions21 l.jpg
Some Current Proposed Solutions

  • Ontologies

    • An ontology defines the terms and relationships among terms that represent an area of knowledge

    • If multiple-domain applications are developed utilizing a shared ontology, or if their distinct ontologies can be related, then the applications can have a common understanding of data



Software tools for interoperability23 l.jpg
Software Tools for Interoperability

  • Component Object Model (COM)

    • An object-oriented model developed by Microsoft to facilitate interoperability

    • It is effective across different programming languages and operating system platforms

    • Interoperable components must comply with a predefined "binary" data access interface beneath which there is no constraint on the application implementation


Software tools for interoperability24 l.jpg
Software Tools for Interoperability

  • Common object request broker architecture (CORBA)

    • It is an open development, intended to support interoperability between any applications regardless of their implementation languages and operating platforms

    • An ORB is the middleware technology that establishes a communication channel between a client and server application.

    • The ORB is not responsible for managing any objects ­ it only handles the message passing among them


Software tools for interoperability25 l.jpg
Software Tools for Interoperability

  • Distributed computing environment (DCE)

    • The OSF (Open Software Foundation) DCE is a comprehensive set of services supporting the development, use and maintenance of distributed applications. The services are provided independently of operating systems and network interfaces

    • The "fundamental" distributed services are: remote procedure call, directory service, time service, security service, and threads service. These services provide tools for programmers to create end-user services for distributed applications.


Software tools for interoperability26 l.jpg
Software Tools for Interoperability

  • Knowledge Interchange Format (KIF)

    • Unlike other middleware technologies that support multiple languages across the execution intermediary, agent systems use a single Agent Communication Language (ACL) to achieve interoperability

    • KIF, developed by the Interlingua Working Group of the DARPA Knowledge Standards Effort is a prominent specification for defining the content of messages within the ACL structure



Conclusion28 l.jpg
Conclusion

  • Interoperability is hard to achieve

  • Even if software systems support Interoperability, they also have to work effectively.

  • Universal standards are the most common ways to achieve Interoperability but not all software providers adhere to these standards


References l.jpg
References

  • http://www.goldpractices.com/practices/ei/index.php

  • http://www.gao.gov/new.items/d03329.pdf

  • http://www.dacs.dtic.mil/techs/interop/title.shtml

  • http://www.sei.cmu.edu/pub/documents/05.reports/pdf/05tn033.pdf


ad