84
Ontology-Driven Information Systems Dr. Michael Uschold Originally given as Invited Talk: FOIS Conference Presented on November 1, 2008 Past, Present and Future

Ontology-Driven Information Systems: Past, Present and Future

Embed Size (px)

DESCRIPTION

This was a keynote talk given at the Formal Ontology in Information Systems conference in Saarbrücken, Germany in October 2008. We trace the roots of ontology-drive information systems back to early work in artificial intelligence and software engineering. We examine the lofty goals of the Knowledge-Based Software Assistant project from the 80s, and pose some questions. Why didn't it work? What do we have today instead? What is on the horizon? We examine two critical ideas in software engineering: raising the level of abstraction, and the use of formal methods. We examine several other key technologies and show how they paved the way for today's ontology-driven information systems (ODIS). We identify two companies with surprising capabilities that are on the bleeding edge of today's ODIS, and are pointing the way to a bright future. In that future, application development will be opened up to the masses, who will require no computer science background. People will create models in visual environments and the models will be the applications, self-documenting and executing as they are being built. Neither humans nor computers will be writing application code. Most functionality will be created by reusing and combining pre-coded functionality. All application software will be ontology-driven.

Citation preview

Page 1: Ontology-Driven Information Systems: Past, Present and Future

Ontology-Driven

Information Systems

Dr. Michael Uschold Originally given as Invited Talk: FOIS Conference

Presented on November 1, 2008

Past, Present and Future

Page 2: Ontology-Driven Information Systems: Past, Present and Future

My Background

Current

– Independent Consultant

Recent past: Media

– Internet advertising services

– Intelligent content provision

In a former life...

– Aerospace & Defense

– Supporting the Enterprise

2

Page 3: Ontology-Driven Information Systems: Past, Present and Future

What are Ontology-Driven Information Systems?

Just what it says!

Ontology-driven, not just ontology-inspired or just used in software engineering process (e.g. MDA)

[Ontology-Driven] Information System ontology not just small component in large system.

3

Page 4: Ontology-Driven Information Systems: Past, Present and Future

Who Cares and Why?

WHO?

Software developers, customers and end users

WHY:

Less coding,

More modeling

More Reuse

Faster

development Reduced costs

Reduced

maintenance

Agility &

Flexibility More functionality

4

Page 5: Ontology-Driven Information Systems: Past, Present and Future

Is there anything new?

YES

Cooperation across independent communities

Commercial maturity

and NO:

The core ideas are quite old

NB: the core ideas evolved independently.

5

Page 6: Ontology-Driven Information Systems: Past, Present and Future

Is ODIS just an Idea?

•It was for a long time…

•… then we saw significant research prototypes

•Now we are seeing commercial deployments.

6

Page 7: Ontology-Driven Information Systems: Past, Present and Future

What is the Future of ODIS?

•IS = Ontology-Driven IS

•Computing = Semantic Computing

•Seamlessly integrated [semantic] development platforms

–ontology development and reasoning

–application functionality and GUI

–transactional DB with versioning

–all under one hood, federated and distributed

7

Page 8: Ontology-Driven Information Systems: Past, Present and Future

Outline

Historical Roots

Today’s Bleeding Edge

The Future

8

Page 9: Ontology-Driven Information Systems: Past, Present and Future

Where did ODIS Come From?

Evolution of ongoing search for better software tools.

Two key ideas in software engineering:

1. Raise the level of abstraction

2. Use of formal methods and structure

Abstraction

9

Page 10: Ontology-Driven Information Systems: Past, Present and Future

Raising the level of Abstraction

Machine code

Assembly languages

‘Higher level languages’: – FORTRAN, COBOL

Object-oriented programming – Simula, Smalltalk

Logic Programming

Model-Driven [software] Development

Ontology-Driven Information Systems

10

Page 11: Ontology-Driven Information Systems: Past, Present and Future

Permeates almost everything in software engineering

Foundation for many subfields and communities

More on this later…

Formal Methods and Structure

11

Page 12: Ontology-Driven Information Systems: Past, Present and Future

Readings in AI and SE (1986)

Deductive Synthesis

Program Verification

Transformational Approaches

Natural Language Specifications

Very High Level Languages

AI Programming

One very influential paper/project:

Knowledge-Based Software Assistant

Programming by Example

Intelligent Assistants

Programming Tutors

Programming Knowledge

Domain Knowledge

12

Page 13: Ontology-Driven Information Systems: Past, Present and Future

A Grand Vision: KBSA (1986-1992)

“This annual conference provides a forum for exchanging technical and managerial views on ... developing a

knowledge-based life cycle paradigm for large software projects, the

Knowledge Based Software Assistant. ...

Software developed using the KBSA is expected to be more responsive to changing

requirements, more reliable, and more revisable than software

produced using current practices. The KBSA will improve software practices by providing machine-

mediated support to decision makers, formalizing the

processes associated with software development and project

management, and providing a corporate memory for projects. The

KBSA will utilize artificial intelligence, automatic

programming, knowledge-based engineering, and

software environment technology to achieve the [project] goal[s].”

13

Page 15: Ontology-Driven Information Systems: Past, Present and Future

Themes, Ideas, Features and Trends

Role of the models: design time vs. runtime

– Requirements analysis

– Drive parts of the application

– Drive the whole application

Evolution of Models and Applications

– Models left alone, while application evolves

– Models and application evolve in lock step

15

Page 16: Ontology-Driven Information Systems: Past, Present and Future

Themes, Ideas, Features and Trends

Code

– Human- vs. machine-generated (in what proportion?)

– Generated from models vs. executing directly from model

SE Environments:

– general vs. domain-specific - for programmers only vs. for non-programmers

16

Page 17: Ontology-Driven Information Systems: Past, Present and Future

Themes, Ideas, Features and Trends

Developers Users Developers Users

Distinction between user vs. developer

– crisp vs. Blurred

Use of formal methods

17

Page 18: Ontology-Driven Information Systems: Past, Present and Future

Major Subfields and Communities

1. Domain modeling

2. Knowledge representation and reasoning

3. Automatic programming & Executable specifications

4. Model-driven software development

5. Semantic technology (ontologies and the semantic web)

18

Page 19: Ontology-Driven Information Systems: Past, Present and Future

Domain Modelling

Explicit models of the domain of the software application.

Early Work: LaSSIE

– Reverse engineered a domain model (using DL)

– Link to code

– Benefits: • Improve software comprehension

• Increase agility

• Reduce maintenance costs

Need to forward engineer the models!

19

Page 20: Ontology-Driven Information Systems: Past, Present and Future

Knowledge Representation and Reasoning

Long history in AI

Supports many phases of SE lifecycle

– Requirements elicitation

– Checking design consistency

– Intelligent program analysis

– Program planners

– Proving correctness of code

– Generating code

20

Page 21: Ontology-Driven Information Systems: Past, Present and Future

Major Subfields and Communities

1. Domain modeling

2. Knowledge representation and reasoning

3. Automatic programming & Executable specifications

4. Model-driven software sevelopment

5. Semantic technology (ontologies and the semantic web)

21

Page 22: Ontology-Driven Information Systems: Past, Present and Future

Automatic Programming

GOAL: Avoid human coding

Very hard problem

Technology is mature today

– Theorem proving for generating large schedules

– Avionics software

Sometimes human still in the loop

Strong use of formal methods, sometimes driven from a formal model/ontology. (e.g. category theory)

22

Page 23: Ontology-Driven Information Systems: Past, Present and Future

GOAL: Avoid human coding

Very hard problem

Technology is mature today

– Theorem proving for generating large schedules

– Avionics software

Sometimes human still in the loop

Strong use of formal methods, sometimes driven from a formal model/ontology. (e.g. category theory)

Automatic Programming

23

Page 24: Ontology-Driven Information Systems: Past, Present and Future

Executable Specifications

Logic Programming

– Write “code” that looked like a domain model plus rules.

– Specification = Program

– A radical idea!

Like automatic programming, but …

– no code generation step,

– the specification executes directly. (executing vs.. executable)

Tight link between model and application.

Clocksin/Mellish

25

Page 25: Ontology-Driven Information Systems: Past, Present and Future

Declarative Specification of Problem (WHAT)

Add Data & Ask Question

Inference engine figures out HOW.

Example Logic Program

26

descend(X,Z):- child(X,Z). child(anna,bridget).

descend(X,Z):- child(X,Y), descend(Y,Z). child(bridget,caroline).

child(caroline,donna).

child(donna,emily).

Page 26: Ontology-Driven Information Systems: Past, Present and Future

Software Development by Non-Programmers

Tools are close to domain expert’s way of thinking.

Forward engineered models

Visual environments: – elements have pre-coded functionality.

– function calls generated automatically

Programming without even knowing it.

For specialized domains

Mix: automatic programming & executable specifications

27

Page 27: Ontology-Driven Information Systems: Past, Present and Future

Visual Programming With AMPHION

A planetary scientist draws diagrams that are close to their own way of thinking to

specify the objects relationships and functions to get the desired results.

Components on the diagram and their relationships specify the requirements that

are automatically complied into FORTRAN code. The final program largely

consists of calls to pre-coded subroutine. The diagram is an executable model; this

is ‘model programming’ for a narrow domain of applications. Courtesy of NASA.

28

Page 28: Ontology-Driven Information Systems: Past, Present and Future

Major Subfields and Communities

1. Domain modeling

2. Knowledge representation and reasoning

3. Automatic programming & Executable specifications

4. Model-driven software development

5. Semantic technology (ontologies and the semantic web)

29

Page 29: Ontology-Driven Information Systems: Past, Present and Future

Model-Driven Software Development

Models are basis for software development

Raises level of abstraction above code

Most common today: Model Driven Architecture (MDA)

30

Page 30: Ontology-Driven Information Systems: Past, Present and Future

Model-Driven Architecture

Platform Independent Model (PIM) specifies functionality of application.

PIM transformed into platform specific models that are much closer to code.

UML: most widely used MDA language 3 uses:

– Sketch preliminary designs

– Blueprint for grand design

– Model programming (model is executable)

31

Page 31: Ontology-Driven Information Systems: Past, Present and Future

Model Programming

Executable specification, where the specification is a model.

Explicit link to end software Potential for large maintenance savings

– UNLESS: only generate stub code

e.g. AMPHION

32

Page 32: Ontology-Driven Information Systems: Past, Present and Future

MDD / MDA In Practice

Active standards group: OMG

Significant use in industry

Far from mainstream

UML lacked a formal semantics originally just a ‘diagramming notation’.

OMG meets the Semantic Web

33

Page 33: Ontology-Driven Information Systems: Past, Present and Future

Major Subfields and Communities

1. Domain modeling

2. Knowledge representation and reasoning

3. Automatic programming & Executable specifications

4. Model-driven software development

5. Semantic technology (ontologies and the semantic web)

34

Page 34: Ontology-Driven Information Systems: Past, Present and Future

Semantic Technology

Separate community emerged, separate from SE and OMG/UML communities

Roots in AI / KR / Ontologies and W3C

Not concerned with software engineering in general

Concerned with how to engineer software that uses ontologies and inference.

A solution looking for a problem.

35

Page 35: Ontology-Driven Information Systems: Past, Present and Future

ST: Solution looking for a Problem

ST community searched and searched

Build more and more ontologies and more and more tools

36

Page 37: Ontology-Driven Information Systems: Past, Present and Future

Then Everything Changed (circa 2000)

Explosion of commercial interest and deployments began as a trickle around 2000.

Around 2006, more and more reports of actual benefits.

Mostly software engineering benefits that users don’t care about.

Surprise: reported benefits same as predicted

39

Page 38: Ontology-Driven Information Systems: Past, Present and Future

UML vs. Ontologies / Semantic Web

Two separate communities

Overlap: modeling languages and goals

40

Page 39: Ontology-Driven Information Systems: Past, Present and Future

Model-Driven evolving to Ontology-Driven

Communities coming together

41

Page 40: Ontology-Driven Information Systems: Past, Present and Future

Outline

Historical Roots

Today’s Bleeding Edge

The Future

42

Page 41: Ontology-Driven Information Systems: Past, Present and Future

Ontology-Driven IS Coming of Age

Progress accelerating

Transitioning to industry

Not just toy problems

Low hanging fruit:

– Map mashups and ontology driven forms

– True ontology-driven functionality

Bleeding Edge:

– putting it all together

– almost …

43

Page 42: Ontology-Driven Information Systems: Past, Present and Future

Ontology-Driven Map Mashups

A local geolocation ontology is used as a data model for storing lat/long coordinates for various locations. The local ontology is linked to a public geolocation ontology (with namespace ‘geo’) that drives public mapping tools. This enables locations from several datasets to be placed on the same map. Figure courtesy of TopQuadrant.

44

Page 43: Ontology-Driven Information Systems: Past, Present and Future

Ontology-driven Forms: Simple / Elegant

Change the ontology, or change the data, and the interface changes automatically

Customers love it.

Ontology-driven application functionality, not just used at design time.

“The rich declarative semantics of ontological data models can be exploited to drive user interfaces and to control an applications behavior” [Top Quadrant]”

45

Page 44: Ontology-Driven Information Systems: Past, Present and Future

User vs. Developer Distinction Blurs

Application functionality w/o writing code. ‘Programming’ without even knowing it

Users can be their own developers, if right hooks are in place.

Everyday examples: – Personalized portals (iGoogle and many others)

– Excel applications

Known state of the art:

– only possible for isolated pieces of functionality,

– not for fully general application development.

46

Page 45: Ontology-Driven Information Systems: Past, Present and Future

User vs. Developer Distinction Blurs

Application functionality w/o writing code. ‘Programming’ without even knowing it

Users can be their own developers, if right hooks are in place.

Everyday examples: – Personalized portals (iGoogle and many others)

– Excel applications

UNknown state of the art: (with some caveats)

– YES: possible for whole applications

– YES: general application development

47

Page 46: Ontology-Driven Information Systems: Past, Present and Future

Breakthrough Capabilities Recently Announced

Application development w/o writing much code.

Majority of application is model-driven

Integrated frameworks leveraging open standards

General purpose environments

Delivering mature commercial-scale software

SURPRISE: from Industry, not Academia!

Mission Critical IT

Visual Knowledge

48

Page 47: Ontology-Driven Information Systems: Past, Present and Future

Mission Critical IT - ODASE

The most advanced ontology-driven software development environment with code-generation

"ODASE [is] an ontology-driven development approach and

platform, which cleanly separates the Business Domain

knowledge (at the description level) from the Software Engineering

knowledge (at the execution level). The process for transferring the Business knowledge

from the ontology to the programming language is by automatic generation of

source code. The power of ODASE is that the model specification, the

code generation, and the runtime reasoning use the same

formal description. [21]."

49

Page 48: Ontology-Driven Information Systems: Past, Present and Future

Ontology Driven Software Engineering

Formal ontology as requirements contract with business users

Convert to logical/functional

programming language (Mercury)

50

Logic-driven automatic code

generation

Page 49: Ontology-Driven Information Systems: Past, Present and Future

Clean Separation of Business & Software Levels

Business Level

Domain Experts Knowledge Engineers

OWL, SWRL, Petri Nets

51

Software Level

Add software knowledge to ontology executable spec

Code generation

Page 50: Ontology-Driven Information Systems: Past, Present and Future

ODASE™ Breakthroughs

52

Ontology and program evolve in lock step

Ontology as formal requirements contract; part of the program source code

When requirements change: the ontology changes and new code is generated

Ontology is long term reusable business asset

Based on standards

Implementation-independent

Page 51: Ontology-Driven Information Systems: Past, Present and Future

ODASE™ Breakthroughs

53

Majority of code is automatically generated (70%)

Warranty on the code

Unified formal declarative approach: model definition, code generation and run-time reasoning

Dramatic cost savings in development & maintenance

General purpose development environment

Page 52: Ontology-Driven Information Systems: Past, Present and Future

Visual Knowledge

Fully driven by ontologies and metamodels

Visual Tools – no code for normal application development

Application development functionality exposed through a Wiki

54

Page 53: Ontology-Driven Information Systems: Past, Present and Future

Visual Application Development

55

Page 54: Ontology-Driven Information Systems: Past, Present and Future

Visual Knowledge

18 years of engineering

Industrial strength ontology-driven solutions in numerous business sectors

– Finance

– Energy

– Biomedical

– 3D Computer Games

BUT: currently only being used in house…

56

Page 55: Ontology-Driven Information Systems: Past, Present and Future

How Far have we Come?

Role of the models: design time vs. runtime

– Requirements analysis

– Drive parts of the application

– Drive the whole application

Evolution of Models and Applications

– Models left alone, while application evolves (loose coupling)

– Models and application evolve in lock step (tight coupling)

57

Page 56: Ontology-Driven Information Systems: Past, Present and Future

How Far have we Come?

Code

– Human- vs. machine-generated (in what proportion?)

– Generated from models vs. executing directly from model

SE Environments:

– general vs. domain-specific

– for programmers only vs. for non-programmers

Distinction between user vs. developer

– crisp vs. blurred

Use of formal methods

58

Page 57: Ontology-Driven Information Systems: Past, Present and Future

Challenges Ahead

Scale, Scale and Scale

Mostly limited in generality

Complex architectures, too many pieces

Can ontologies drive whole applications?

Application development for the masses

How far can formal methods take us?

59

Page 58: Ontology-Driven Information Systems: Past, Present and Future

Outline

Historical Roots

Today’s Bleeding Edge

The Future

60

Page 59: Ontology-Driven Information Systems: Past, Present and Future

Currently

Have you seen any fully functional general purpose application development environments that have any of the following characteristics:

Fully visual ?

Fully agent-based ?

Fully model-driven ?

Fully ontology-driven and declarative ?

61

Page 61: Ontology-Driven Information Systems: Past, Present and Future

Giant Networks of Context-Aware Agents

Formal and declarative “down to the metal”

Ecosystems of intelligent context-aware “semantic agents” representing:

– Models / Ontologies

– Algorithms

– User interfaces

– Data

– Any other functionality

Applications will be manifest as giant networks of such agents residing in transactional stores.

63

Page 62: Ontology-Driven Information Systems: Past, Present and Future

Domain Modeling Functionality

64

Agent

Domain agent

owl:Class

rdf:Class

subClassOf

Person

instanceOf

subClassOf

subClassOf NicolaGuarino

papersAuthored

hasProperty

Foaf:Knows

instanceOf

MichaelGruninger

PatHayes

Page 63: Ontology-Driven Information Systems: Past, Present and Future

User Interface Functionality

65

Agent

GUI agent

Form

rdf:Class

subClassOf

Foaf

Form

hasComponents

checkBox1

hasProperty

Foaf:Knows

text23

textInput2

checkBox1

menu73 listOfOptions

parameter21 actionToExecute

subClassOf

subClassOf

Page 64: Ontology-Driven Information Systems: Past, Present and Future

Programming Logic Functionality

66

Agent

Behavior agent

Loop

Loop o’er

attendees

eachAttendee

incomingSet

FOIS

Attendees

Email-FOIS-

Announcement

subClassOf

subClassOf

instanceOf

instanceOf

Loop over

Submitted Papers

Page 65: Ontology-Driven Information Systems: Past, Present and Future

All Linked Together

67

Page 66: Ontology-Driven Information Systems: Past, Present and Future

All Linked Together

68

In a transactional store

Page 67: Ontology-Driven Information Systems: Past, Present and Future

Executing Ontologies / Models

Models will be executing as they are being built. – No code-generation, compile, debug cycle

– dramatic speed up

Key functionality will be pre-coded.

Choose and relate existing functionality modules

AMPHION approach generalized

69

Page 68: Ontology-Driven Information Systems: Past, Present and Future

Visual Application Development

Unlocks elusive potential of visual environments – Experts can go fast

– The code runs fast

Visual debuggers

Dramatic productivity speed up

User vs. Developer distinction blurs

Application development for the masses.

Crowd-sourced applications!

70

Page 69: Ontology-Driven Information Systems: Past, Present and Future

Semantic Computing -- Challenges

Complex system architectures, nothing integrates with anything.

Ontology versioning and evolution.

Ontology-based data stores with full complement of reasoning, do not scale.

71

Page 70: Ontology-Driven Information Systems: Past, Present and Future

Semantic Computing: the Future

Agent Ecosystems replace complex architectures with modules and engines etc.

Seamlessly integrated semantic development platforms

– ontology development and reasoning

– application functionality and GUI

– transactional DB with versioning

– all under one hood, federated and distributed

Computing = Semantic Computing

72

Page 71: Ontology-Driven Information Systems: Past, Present and Future

Versioning: The Future

Versioning Solved What does that mean exactly?

When elements of an ontology change, the corresponding agents track the changes and ensure sytem integrity.

Extend idea to the whole application, which is also represented by semantic agents.

73

Page 72: Ontology-Driven Information Systems: Past, Present and Future

Versioning: The Future

Versioning Solved What does that mean exactly?

Fully transactional stores for each model element, and thus each application element.

Unit of versioning changes

– From coarse grain flat text files with code

– To fine grained semantic agents

74

Page 73: Ontology-Driven Information Systems: Past, Present and Future

Scale: The Future

Terabyte and Petabyte sized?

Are there theoretical limits?

Either way, the key is going to be parallization of inferencing algorithms to make use of the multi-core CPUs

75

Page 74: Ontology-Driven Information Systems: Past, Present and Future

Summary and Conclusion

ODIS are just starting to have commercial impact

Before too long, they will be mainstream

76

Page 75: Ontology-Driven Information Systems: Past, Present and Future

Early software engineering & AI

– Raise level of abstraction

– Use formality and structure

– Domain modeling,

– KR&R

– Automatic programming & executable models

– MDD / MDA

– Semantic technology, ontologies / semantic web

Roots of ODIS

77

Page 76: Ontology-Driven Information Systems: Past, Present and Future

The Bleeding Edge

ODASE: Mission Critical IT

Visual Knowledge

Commercial systems

General purpose

Majority of applications are ontology-driven

Majority of application developed w/o writing code

Dramatic speed improvement

Integrated frameworks

78

Page 77: Ontology-Driven Information Systems: Past, Present and Future

The Future

1. Applications are manifest as giant networks of semantic agents.

2. Semantic agents are fully version-controlled in transactional store

3. No code generation, models are executing as they are being built.

79

Page 78: Ontology-Driven Information Systems: Past, Present and Future

The Future

4. The Application IS the Model / Ontology an executing Model / Ontology

5. Visual Application Development

6. Application Development by the masses

Developers Users

80

Page 79: Ontology-Driven Information Systems: Past, Present and Future

4. The Application IS the Model / Ontology an executing Model / Ontology

5. Visual Application Development

6. Application Development by the masses

The Future

Developers Users

81

Page 82: Ontology-Driven Information Systems: Past, Present and Future

Acknowledgements

I’m grateful to

Conor Shankey, Reinvent Technology for most of the ideas in the future vision section.

Michel Vanden Bossche, Mission Critical IT for introducing me to ODASE and sharing his slides.

Dean Allamange at TopQuadrant for sharing his thoughts and slides on ontology-driven software.

And Google Images!!!

84

Page 83: Ontology-Driven Information Systems: Past, Present and Future

85

c/o Google Images

Page 84: Ontology-Driven Information Systems: Past, Present and Future

References

[21] M. Vanden Bossche, Ontology-Driven Software Development for Business-

Critical Enterprise Applications, presented at the 2008 Semantic Technology

Conference, San Jose, CA. http://www.semantic-conference.com/session/586/

86