Toward Ontology-Based Component Composition

Large-scale component-based software systems are becoming increasingly important. Building such a system requires more than just specifications for the overall system and its components. It is necessary to have a formal specification of how the components are composed to form the overall system. Furthermore, it is also necessary to have an explicit specification of the environment within which the system will be used. Finally, some mechanism must be available to make verification a tractable problem. To address all of these concerns, we suggest that component composition can be based on ontologies. An ontology is a shared understanding that allows individuals in a community to communicate. The increasing popularity of ontology-based computing has resulted in a rapid increase in the number of tools available for creating and for using ontologies. We suggest that leveraging these tools can improve the coverage and effectiveness of component composition compared with existing techniques. We also discuss a specific application domain that can be used as a testbed for the use of ontology-based techniques to achieve dynamic reconfiguration performed at run-time without direct human interaction.

[1]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

[2]  Yonghao Chen,et al.  A semantic foundation for specification matching , 2000 .

[3]  Will Tracz,et al.  An implementation-oriented semantics for module composition , 2000 .

[4]  Johan Anton,et al.  SPECWARE - Producing Software Correct by Construction , 2001 .

[5]  Oscar Nierstrasz,et al.  A formal language for composition , 2000 .

[6]  Martín Abadi,et al.  Composing Specifications , 1989, REX Workshop.

[7]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

[8]  Stephen J. Garland,et al.  An Overview of Larch , 1993, Functional Programming, Concurrency, Simulation and Automated Reasoning.

[9]  Stephen J. Garland,et al.  An Overview of LP, The Larch Power , 1989, RTA.

[10]  Nancy A. Lynch,et al.  Using I/O automata for developing distributed systems , 2000 .

[11]  Editors , 1986, Brain Research Bulletin.

[12]  Stuart Kent,et al.  Component Composition in Business and System Modelling , 1997 .

[13]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[14]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[15]  Leslie Lamport Composition: A Way to Make Proofs Harder , 1997, COMPOS.

[16]  Jeannette M. Wing,et al.  Respectful type converters for mutable types , 2000 .

[17]  Michael R. Lowry,et al.  Deductive Composition of Astronomical Software from Subroutine Libraries , 1994, CADE.

[18]  Lewis Hart,et al.  Extending UML to Support Ontology Engineering for the Semantic Web , 2001, UML.

[19]  Razvan Diaconescu,et al.  Component-Based Algebraic Specification , 1999, Behavioral Specifications of Businesses and Systems.

[20]  David C. Luckham,et al.  Key concepts in architecture definition languages , 2000 .

[21]  P.G. Selfridge,et al.  Knowledge-based software engineering , 1992, IEEE Expert.

[22]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[23]  A. D. Ritchie The Dictionary of Philosophy , 1945, Nature.

[24]  Peyman Oreizy,et al.  Using object-oriented typing to support architectural design in the C2 style , 1996, SIGSOFT '96.

[25]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[26]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[27]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[28]  Arnd Poetzsch-Heffter,et al.  Modular specification and verification techniques for object-oriented software components , 2000 .

[29]  Richard Jüllig,et al.  Specware: Formal Support for Composing Software , 1995, MPC.

[30]  Steve Vestal,et al.  Formal real-time architecture specification and analysis , 1993 .

[31]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[32]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[33]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.