30
Ont_0303 10 Ontologie(s) and their role in Software Engineering Wolfgang Hesse FB Mathematik und Informatik, Univ. Marburg, Hans Meerwein-Str., D-35032 Marburg email: [email protected] www: http://www.mathematik.uni-marburg.de/~hesse Klagenfurt, 19.-21.3. 2003

Ontologie(s) and their role in Software Engineering

  • Upload
    andie

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

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: [email protected] www: http://www.mathematik.uni-marburg.de/~hesse. Contents. - PowerPoint PPT Presentation

Citation preview

Page 1: Ontologie(s) and their role in Software Engineering

Ont_0303 10

Ontologie(s) and their role in Software Engineering

Wolfgang HesseFB Mathematik und Informatik, Univ. Marburg,

Hans Meerwein-Str., D-35032 Marburg

email: [email protected]

www: http://www.mathematik.uni-marburg.de/~hesse

Klagenfurt, 19.-21.3. 2003

Page 2: Ontologie(s) and their role in Software Engineering

Ont_0303 20

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

Page 3: Ontologie(s) and their role in Software Engineering

Ont_0303 30

• 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 possibilities and 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

What does "ontology" mean?

Page 4: Ontologie(s) and their role in Software Engineering

Ont_0303 40

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 representation of the underlying notions, their structure and relationships.

• In AI this was termed ontology. (J. McCarthy, 197x)

Ontology(ies) in informatics

•Ontology (I): = "a formal explicit specification of a shared conceptualization" (T. Gruber: [Gru 93]).

Page 5: Ontologie(s) and their role in Software Engineering

Ont_0303 50

Where are ontologies used?

... primarily where storage, derivation, and combination of knowledge is required, e.g. in …

• Artificial intelligence,

• Data bases and

• 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, ...)

Page 6: Ontologie(s) and their role in Software Engineering

Ont_0303 60 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

Page 7: Ontologie(s) and their role in Software Engineering

Ont_0303 70

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

Page 8: Ontologie(s) and their role in Software Engineering

Ont_0303 80 Ontological commitment

• Central problem occurring 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.

Page 9: Ontologie(s) and their role in Software Engineering

Ont_0303 90 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

Page 10: Ontologie(s) and their role in Software Engineering

Ont_0303 100

A Framework of Ontologies

General world ontology

IS

Finance ISTransp. ISEnvir.

IS

DSS Medicine

Inner Med.Teeth Surgery

......

..................

.........

Page 11: Ontologie(s) and their role in Software Engineering

Ont_0303 110 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)

Page 12: Ontologie(s) and their role in Software Engineering

Ont_0303 120 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

Page 13: Ontologie(s) and their role in Software Engineering

Ont_0303 130

An ontology for public transport networks

Page 14: Ontologie(s) and their role in Software Engineering

Ont_0303 140

The FRISCO line of reasoning

The “world”

perceiving representing

conceiving

Minds of people

Domains

Perceptions Conceptions

Representations

10th EJC - Foil 050

Page 15: Ontologie(s) and their role in Software Engineering

Ont_0303 150

Actor (Observer)

Conception

Domain Representation

FRISCO's semiotic tetrahedron (cf. [FRI 98]):

“sign” = something stands to somebody for something else in

some respect or capacity

Page 16: Ontologie(s) and their role in Software Engineering

Ont_0303 160

Actor (Ontology constructor/observer)

Conceptualization (= view on the domain)

Domain(= all what is to be captured

by an ontology)

Representation (of the domain)

Tetrahedron for ontology construction and use:

Anchoring ontologies in semiotics

Page 17: Ontologie(s) and their role in Software Engineering

Ont_0303 170

Conception

Thing

Domain

Predicator

Relationship

Elementary thing

Composite thing

Entity

Type

Population

Instance

Perception

Legend:: is defined by

FRISCO's starting point of an "IS ontology"

Page 18: Ontologie(s) and their role in Software Engineering

Ont_0303 180

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

Page 19: Ontologie(s) and their role in Software Engineering

Ont_0303 190 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 support for 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.

Page 20: Ontologie(s) and their role in Software Engineering

Ont_0303 200

System development and ontology life cycles ..

SX 1

X 3

X 4

X 2

C21

K01

C31

C02

.. in terms of the EOS model

Ont

derive, adjust

update, incorporate,

Page 21: Ontologie(s) and their role in Software Engineering

Ont_0303 210 The ontology life cycle

Ont

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

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

OA

OD OI

OU

Page 22: Ontologie(s) and their role in Software Engineering

Ont_0303 220 The ontology life cycle

Ont

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

OA

OD OI

OU • Ontology implementation:

- Implement concepts, associations and rules using a given base technology and platform,

- integrate with adjacent ontologies,

- publish ontology for potential client applications.

Page 23: Ontologie(s) and their role in Software Engineering

Ont_0303 230 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)

Page 24: Ontologie(s) and their role in Software Engineering

Ont_0303 240

An ontology-based SW engineering life cycle

• 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

S

SA

SD SI

SO

Page 25: Ontologie(s) and their role in Software Engineering

Ont_0303 250

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.

Page 26: Ontologie(s) and their role in Software Engineering

Ont_0303 260 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?

Page 27: Ontologie(s) and their role in Software Engineering

Ont_0303 270 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.

Page 28: Ontologie(s) and their role in Software Engineering

Ont_0303 280

[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

Page 29: Ontologie(s) and their role in Software Engineering

Ont_0303 290

[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):

Page 30: Ontologie(s) and their role in Software Engineering

Ont_0303 300

[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

References (cont'd):