1 / 29

Ensure Interoperability

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

Jeffrey
Download Presentation

Ensure Interoperability

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ensure Interoperability Texas A&M University Department of Computer Science CPSC 606: SOFTWARE ENGINEERING Presentation 1 Sameh S. Sharkawi

  2. Outline • Introduction • Levels of Software Interoperability • Interoperability Complicating Factors • Some Current Proposed Solutions • Software Tools for Interoperability • Conclusion • References

  3. 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.

  4. 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.

  5. 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.

  6. Introduction • Importance of Interoperability Contd. • Interoperability is the number one problem in joint force & combined operations. 

  7. Levels of Software Interoperability

  8. Levels of Software Interoperability

  9. 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

  10. 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.

  11. 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.

  12. 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

  13. Interoperability Complicating Factors

  14. 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.

  15. 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.

  16. 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.

  17. 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

  18. Some Current Proposed Solutions

  19. 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

  20. 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

  21. 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

  22. Software Tools for Interoperability

  23. 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

  24. 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

  25. 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.

  26. 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

  27. Conclusion

  28. 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

  29. 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

More Related