300 likes | 484 Views
Ontologie(s) and their role in Software Engineering. Klagenfurt, 19.-21.3. 2003. Wolfgang Hesse FB Mathematik und Informatik, Univ. Marburg, Hans Meerwein-Str., D-35032 Marburg email: hesse@informatik.uni-marburg.de www: http://www.mathematik.uni-marburg.de/~hesse. Contents.
E N D
Ontologie(s) and their role in Software Engineering Klagenfurt, 19.-21.3. 2003 Wolfgang Hesse FB Mathematik und Informatik, Univ. Marburg, Hans Meerwein-Str., D-35032 Marburg email: hesse@informatik.uni-marburg.de www: http://www.mathematik.uni-marburg.de/~hesse
Contents • Meaning(s) of ontology (ies) • Classification of ontologies • Application of ontologies • Combinations with "ontology ..." • Anchoring ontologies in semiotics • Software Engineering and ontologies • Ontological analysis • Open problems and possible risks
What does "ontology" mean? • Ontology (Parmenides, Plato et al. ): the (philosophical) understanding of the possibilities and conditions of being (greek: to on). • O. is closely linked to epistemology (the question concerning the possibilitiesand limits of human perception and recognition) • Basic ontological question: "What is?" ? Answer is not trivial: There are "filters"perception and language ... ... these possible hide or blur our reference to reality
Ontology(ies) in informatics • Human vs. automated knowledge processing • How to acquire, store and retrieve stored knowledge? • Humans use textbooks, guides, dictionaries, keyword indices, bring in their foundational and context knowledge and link it to the stored data. • Now, automated agents are to overtake search, communication, orientation, decision taking etc. tasks. • I.e. automata have to carry and/or access data which support structuring, searching, summarizing other data (so-called metadata). • Automata need a representationof the underlying notions, their structure and relationships. • In AI this was termed ontology. (J. McCarthy, 197x) • Ontology (I): ="a formal explicit specification of a shared conceptualization"(T. Gruber: [Gru 93]).
Where are ontologies used? • ... primarily where storage, derivation, and combination of knowledge is required, e.g. in … • Artificial intelligence, • Data basesand • Information systems (incl. World Wide IS) • Web technology (part.: Web services, Semantic Web) • ... but also in neighbouring areas like • Software Engineering, • Multimedia communication, • Application fields(e.g. business systems, medicine, legal systems, transportation, travel and tourism, ...)
Classification of ontologies • wrt their scope: • - general, domain-spanning conceptual frameworks • - domain specific conceptual frameworks • - just a new buzzword for well known conceptual models • (cf. [Gua 98]and [Web 02]) • wrt different domains: e.g. accounting,geographical areas, medical disciplines, jurisdiction, • wrt different purposes: e.g. communication, automatic reasoning, representation and re-use of knowledge [G-L 02], in particular: • use for:search engines, agent technology, robotics, inter-module communication,collection of domain knowledge for IS and SE projects, … • wrt different supporting technology: e.g. semantic networks, rule-based systems, data bases, conceptual frameworks
Combinations with "ontology ..." • Ontology design • Ontological engineering • do only make sense in a constructive understanding of the term! • Ontological engineering:consists of all what is needed for supporting the ontology life cycle: design, evaluation, maintenance, deployment, mapping, integration, sharing and re-use of ontologies [G-L 02]. (Rem.: Where is the analysis?) • Ontology design: How can it be done?: • .. bottom-up (specific-to-generic):build comprehensive ontology from several "lightweight" ontologies by merging or • .. top down (generic-to-specific):determine general concepts and rules by a consortium, review, standardise and (later) specialize for subdomains
Ontological commitment • Central problemoccurring where ontologies are used by human or by automated agents: • How can we achieve a common understanding of a domain, its concepts and relationships? • Such a common understanding is termed ontological commitment: • "We build agents that commit to ontologies". (www-ksl.stanford.edu/kst/what-is-an-ontology.htm) • Example:Financial services • Trade execution and trade settlement are different actions, the one preceding the other. The interval time may be x days, with x having different values (depending on the organisations involved). • To achieve ontological commitment is an important aspect of ontological engineering.
Classes of ontologies (1) (A) General, domain-spanning conceptual frameworks Examples: The CyC project Guarini's top-level ontology The work of Y. Wand and R. Weber: based on a top-level ontology following M. Bunge's General Systems Theory (GST). GST comprises: - Systems, - Components, subsystems - Properties, attributes and relationships - Events, states and state transitions
A Framework of Ontologies General world ontology ... ... IS DSS Medicine ... ... ... ... ... ... Envir. IS Finance IS Transp. IS Teeth Surgery Inner Med. ... ... ...
Classes of ontologies (2) • (B) Domain specific conceptual frameworks • Examples: • R. Weber's ontology for Accounting Systems [Web 01] • Ontology for Decision Support Systems (DSS) [H-S 02] • Ontologies for medical disciplines • Ontologies for juridical disciplines • FRISCO's ontology for the domain of IS [FHL+ 98] • An Ontology for public transport systems (see below)
Classes of ontologies (3) ad: Domain specific conceptual frameworks Example: Ontology for public transport systems (PTS) Elements of the ontology: - Station, stop point, transport means, line, line segment, track, track segment, distance, - Schedule, stop, arrival time, departure time, stopping time, travel time, line event, connection, change event, - Passenger, ticket, ticket price, round-trip ticket, season ticket, reduced fee, supplement, Rules, methods: - Laws for operating PTS, juridical constraints - Pricing strategies - Statistical values and their determination
The FRISCO line of reasoning The “world” perceivingrepresenting conceiving Minds of people Domains Representations Perceptions Conceptions 10th EJC - Foil 050
FRISCO's semiotic tetrahedron(cf. [FRI 98]): Conception “sign” = something stands to somebodyfor something else in some respect or capacity Actor (Observer) Domain Representation
Anchoring ontologies in semiotics Tetrahedron for ontology construction and use: Conceptualization (= view on the domain) Actor (Ontology constructor/observer) Domain (= all what is to be captured by an ontology) Representation (of the domain)
Entity Instance Relationship Population Elementary thing Composite thing Predicator Type Thing Legend: Conception : is defined by Perception Domain FRISCO's starting point of an "IS ontology"
Software Engineering and ontologies • are interconnected in two ways: • Ontologies in the Software Engineering process: • primarily in the early phases of analysis and modelling • Ontologies may provide specification mechanisms and standardised conceptual models for certain application areas, e.g. for the development of application components or web services. • Ontology(ies) for Software Engineering: • Ontology yields a taxonomy for the SE area, containing its terminology, decomposition in subareas, general concepts and relationships. • cf. WOSE (Web-enabled Ontology of Software Engineering) and • SwEBOK (Software Engineering Body of Knowledge - Joint IEEE and ACM SE Coord. Committee ) • Possible goal: Formalisation of the SwEBOK compendium for the Semantic Web (in DAML).
Ontologies in the SW Engineering process • Why use ontologies? • Re-use is quite popular and effective for implemented SW components - but still in its startholes for analyses and models. • Ontologies can both provide early phase supportfor projects and profit from the results of concluded projects (ontology evolution). • The early phases constitute a considerable part of the SW life cycle (and of project budgets). Verified and consistency-checked ontologies might save a lot of modelling and specification work. • The use of ontologies prevents from "inventing the wheel once more". • Ontologies might promote the exchange of knowledge in many application areas • Ontology-based application components are exchangeable and their extensions are likely to be compatible with related projects and systems. • Ontologies might help standardizing software application domains and components.
System development and ontology life cycles .. update, incorporate, C02 Ont S derive, adjust X 1 K01 X 4 X 2 X 3 C21 .. in terms of the EOS model C31
The ontology life cycle • Ontological analysis: • - analyse and delimit the domain, • - define super- and sub-ontologies, • - investigate adjacent ontologies and their terminology, • - gather and integrate domain knowledge, • - build conceptual framework, • - check candidate definitions for completeness, consistency etc. OA OU Ont OD OI • Ontology design: • - determine general concepts, associations and rules, • - derive concepts from higher level or synthesize from lower level ontologies, • - define, visualise and communicate concepts, associations and rules, • - adjust definitions wrt adjacent ontologies.
The ontology life cycle • Ontology implementation: • - Implement concepts, associations and rules using a given base technology and platform, • - integrate with adjacent ontologies, • - publish ontology for potential client applications. OA OU Ont OD OI • Ontology use and revision: • - Use, test and validate ontology through pilot and project applications, • - disseminate to potential users, • - aim for ontological commitment, • - gather requirements and change requests for ontology revision, • - start new cycle if required.
Ontological analysis • One of the principal requirements for developing a true ontology engineering practice is a general domain-independent methodology that provides guidance not only on what kinds of ontological decisions need to be made, but on how these decisions can be evaluated. • [G-W 02, p. 61] • Such a methodology has to support ontological analysis, (e.g. based on (meta-) properties and certain criteria) with the • Goal: to avoid mistakes and misunderstandings like • - misusing subsumption ("is-a"): subclasses confused with • .. instantiation (of metaclasses) (Ex: Bob -> Human -> Species ??) or .. component (part-of) classes (Ex.: Engine <- Car ??) or .. constitution (Ex.: ocean <- water ??) • - ignoring polysemy (Ex.: book (as a volume)is different from book (as an abstract entity)
An ontology-based SW engineering life cycle SO SA S SD SI • Ontologies form special "components" within the SE life cycle. • Ontologies serve for knowledge transfer from project to project and from iteration to iteration. • Ontologies are "codified" models. • System analysis (SA) implies investigation of existing ontologies. • System design (SD) builds on ontological definitions. • System implementation and operational use (SI/SO) imply feedback of the project results and experiences to the ontology developers/maintainers
What SW engineers might expect from ontologies • Ontologies should cover the most commonly used application areas. • Ontologies should be easily accessable, consistent and easy to extend. • Ontologies should offer as much as possible support for their analysis and modelling tasks (e.g. by offering pre-defined taxonomy, concepts, properties, relationships etc.) • Ontology descriptions should be easy to be read (and be written). XML+RDF and even DAML+OIL seem to be not yet on the right level for SE purposes. • Ontology languages and modelling language like UML should be well compatible and translatable into each other. • Ontologies should be flexible and open for further development and evolution inspired by SE projects.
Open problems • How will useful ontologies be created and maintained for large domains shared by many people, institutions, projects, software systems, .. ? How to treat synonyms, homonyms and circular definitions? • Is there hope for a common ontology language - at least for SE purposes? Is UML appropriate? • Can documents reasonably and efficiently be annotated by automated means? • Is there hope to achieve a clear and unique classification of concepts and resources, e.g. into documents, metadata, physical and virtual actors, physical entities etc.? • How can concepts and metadata be assigned to (possibly over-lapping and inconsistent) ontologies? • Does it make sense to aim for a common, universal, top level-, or meta-ontology? Or does this lead to similar problems as the search for a uniform, objective world view in physics?
Possible risks • … for SE professionals • Ontologies might make software analysts and developers feeling cramped in their creativity. • Ontologies might unease the work of software developers by their complexity and interwoven-ness. • Ontologies might add yet another pre-implementation stage to the already long and complicated software development process. • Ontologies might leave the software developers puzzled through their (unavoidable) inconsistencies. • … for the society • To delegate too much work on agents (working on implemented ontologies) might de-personalise and drain our social life. • Ontologies might tighten the terminology of certain application areas and get it encrusted. • Ontologies might help to create an Orwellian-like Newspeak.
References [BHL 01] T. Berners-Lee, J. Hendler, O. Lassila: The Semantic Web. Scientific American, http://www.scientificamerican.com/2001/0501issue/0501 berners-lee.html (May 2001) [C-S 95] A.E. Capbell, S.C. Chapiro: Ontological mediatian: An overview. Proc. of the IJCAI Workshop on Basic Ontological Issues in Knowledge Sharing. AAAI Press, Menlo Park CA, 1995 [E-F 00] J. Ebert, U. Frank (Hrsg.): Modelle und Modellierungssprachen in Informatik und Wirtschaftsinformatik. Proc. "Modellierung 2000", pp. 143-150, Fölbach-Verlag, Koblenz 2000 [FHL+ 98] E.D. Falkenberg, W. Hesse, P. Lindgreen, B.E. Nilsson, J.L.H. Oei, C. Rolland, R.K. Stamper, F.J.M. Van Assche, A.A. Verrijn-Stuart, K. Voss: FRISCO - A Framework of Information System Concepts - The FRISCO Report. IFIP WG 8.1 Task Group FRISCO. Web version: ftp:// ftp.leidenuniv.nl/publ/rul/fri-full.zip (1998) [Gru 93] T. Gruber: A translation approach to portable ontologies. Knowledge Acquisition, 5(2), pp. 199-220 (1993) [G-L 02] M. Gruninger, J. Lee: Ontology - Applications and Design. CACM 45.2, pp. 39-41 (Feb. 2002) [Gua 98] N. Guarino: Formal Ontology and Information Systems. In: Proc. FOIS '98, Trento (Italy) June 1998, Amsterdam IOS Press pp 3-15
References (cont'd): [G-W 02] N. Guarino, Ch. Welty: Evaluating Ontological Decisions with Ontoclean. CACM 45.2, pp. 61-64 (Feb. 2002) [Hen 00] D. Hensel: Relating Ontology Languages and Web Standards. In: [E-F 00], pp. 111-128 [H-B 01] W. Hesse, H. v. Braun: Wo kommen die Objekte her? Ontologisch-erkenntnistheoretische Zugänge zum Objektbegriff. In: K. Bauknecht et al. (eds.): Informatik 2001 - Tagungsband der GI/OCG-Jahrestagung, Bd. II, S. 776-781. books_372ocg.at; Bd. 157, Österr. Computer-Gesellschaft 2001 [Hes 01] W. Hesse: Workshop "Erkenntnistheorie - Semiotik - Ontologie (ESO) Die Bedeutung philosophischer Disziplinen für die Softwaretechnik". Vorwort in: K. Bauknecht et al. (eds.): Informatik 2001 - Tagungsband der GI/OCG-Jahrestagung, Bd. II, S. 733-734. books_372ocg.at; Bd. 157, Österr. Computer-Gesellschaft 2001 [Hes 02] W. Hesse: Das aktuelle Schlagwort: Ontologie(n). in: Informatik Spektrum, Band 25.6 (Dez. 2002) [H-S 02] C. W. Holsapple, K.D. Joshi: A Collaborative Approach to Ontology Design. CACM 45.2, pp. 42-47 (Feb. 2002) [Jan 00a] P. Janich: Was ist Erkenntnis - Eine philosophische Einführung. Beck'sche Reihe 1376. C.H. Beck, München 2000
References (cont'd): [Jan 01] P. Janich: Wozu Ontologie für Informatiker? Objektbezug durch Sprachkritik. In: K. Bauknecht et al. (eds.): Informatik 2001 - Tagungsband der GI/OCG-Jahrestagung, Bd. II, pp. 765-769. books_372ocg.at; Bd. 157, Österr. Computer-Gesellschaft 2001 [J-U 99] R. Jasper, M. Uschold: A framework for understanding and classifying ontology appplications. Proc. IJCAI-99 Workshop, Stockholm, July 1999 [MSS+ 00] A. Mädche, H.-P. Schnurr, S. Staab, R. Studer: Representation-Language-Neutral Modelling of Ontologies [Sow 92] J.F. Sowa: Conceptual graphs summary. In: T.E. Nagle, J.A. Nagle, L.L. Gerholz, P.W. Eklund (eds.): Conceptual Structures, current research and practice. Ellis Horwood 1992, pp. 3-51 [TM 02] Topic Maps. http://www.topicmaps.org./xtm1.0 [Web 97] R. Weber: Ontological Foundations of Information Systems. Monograph, Coopers & Lybrand 1997 [Web 01] R. Weber: Ontological issues in accounting Information Systems. Dept. of Commerce, Univ. of Queensland 2001 [Web 02] R. Weber: Personal communication, UoQ Brisbane/Australia 2002