Ontology-Driven
Information Systems
Past, Present and Future
Dr. Michael Uschold
Originally given as Invited Talk: FOIS Co...
My Background
Current
– Independent Consultant

Recent past: Media
– Internet advertising services
– Intelligent content p...
What are Ontology-Driven Information Systems?
Just what it says!
Ontology-driven, not just ontology-inspired or just
used...
Who Cares and Why?
WHO?
 Software developers, customers and end users
WHY:
Less coding,
More modeling

Faster
development...
Is there anything new?
YES
Cooperation across independent
communities
Commercial maturity
and NO:
The core ideas are qu...
Is ODIS just an Idea?
•It was for a long time…

•… then we saw significant research prototypes
•Now we are seeing commerci...
What is the Future of ODIS?

•IS = Ontology-Driven IS
•Computing = Semantic Computing
•Seamlessly integrated
[semantic] de...
Outline
Historical Roots

Today’s Bleeding Edge

The Future

8
Where did ODIS Come From?
Evolution of ongoing search for better software tools.
Two key ideas in software engineering:
1....
Raising the level of Abstraction
Machine code
Assembly languages
‘Higher level languages’:
– FORTRAN, COBOL

Object-or...
Formal Methods and Structure
Permeates almost everything in software engineering

Foundation for many subfields and comm...
Readings in AI and SE (1986)
Deductive Synthesis

Programming by Example

Program Verification

Intelligent Assistants...
A Grand Vision: KBSA (1986-1992)
“This annual conference provides a forum for exchanging technical and managerial views on...
A Grand Vision: KBSA (1986-1992)

Early concept demo on 1992

Spawned series of conferences
– KBSA
– ASE

Extremely inf...
Themes, Ideas, Features and Trends
Role of the models: design time vs. runtime
– Requirements analysis
– Drive parts of t...
Themes, Ideas, Features and Trends
Code
– Human- vs. machine-generated (in what proportion?)
– Generated from models vs. ...
Themes, Ideas, Features and Trends
Distinction between user vs. developer
–

crisp

Developers

vs.

Blurred

Developers
...
Major Subfields and Communities
1.

Domain modeling

2.

Knowledge representation and reasoning

3.

Automatic programming...
Domain Modelling
Explicit models of the domain of the software
application.

Early Work: LaSSIE
– Reverse engineered a d...
Knowledge Representation and Reasoning
Long history in AI

Supports many phases of SE lifecycle
– Requirements elicitati...
Major Subfields and Communities
1.

Domain modeling

2.

Knowledge representation and reasoning

3.

Automatic programming...
Automatic Programming
GOAL: Avoid human coding
Very hard problem
Technology is mature today
– Theorem proving for genera...
Automatic Programming
GOAL: Avoid human coding
Very hard problem
Technology is mature today
– Theorem proving for genera...
Executable Specifications
Logic Programming
– Write “code” that looked like a domain model plus rules.
– Specification = ...
Example Logic Program
Declarative Specification of Problem (WHAT)
Add Data & Ask Question

Inference engine figures out...
Software Development by Non-Programmers
Tools are close to domain expert’s way of thinking.
Forward engineered models
V...
Visual Programming With AMPHION

A planetary scientist draws diagrams that are close to their own way of thinking to
speci...
Major Subfields and Communities
1.

Domain modeling

2.

Knowledge representation and reasoning

3.

Automatic programming...
Model-Driven Software Development
Models are basis for software development
Raises level of abstraction above code
Most...
Model-Driven Architecture
Platform Independent Model (PIM) specifies
functionality of application.

PIM transformed into...
Model Programming
Executable specification,
where the specification is a model.

Explicit link to end software
Potential...
MDD / MDA In Practice
Active standards group: OMG
Significant use in industry
Far from mainstream
UML lacked a formal ...
Major Subfields and Communities
1.

Domain modeling

2.

Knowledge representation and reasoning

3.

Automatic programming...
Semantic Technology
Separate community emerged, separate from
SE and OMG/UML communities

Roots in AI / KR / Ontologies ...
ST: Solution looking for a Problem
ST community searched and searched

Build more and more ontologies

and more and more...
ST Solution, looking for a Problem
A dozen years later, still searching
for commercial impact.

Main output:
– Long list...
Then Everything Changed (circa 2000)
Explosion of commercial interest and
deployments began as a trickle around 2000.

A...
UML vs. Ontologies / Semantic Web
Two separate communities

Overlap: modeling languages and goals

40
Communities coming together

Model-Driven evolving to Ontology-Driven
41
Outline
Historical Roots

Today’s Bleeding Edge

The Future

42
Ontology-Driven IS Coming of Age
Progress accelerating
Transitioning to industry
Not just toy problems
Low hanging fru...
Ontology-Driven Map Mashups

A local geolocation ontology is used as a data model for storing lat/long coordinates
for var...
Ontology-driven Forms: Simple / Elegant
Change the ontology, or change the data,
and the interface changes automatically
...
User vs. Developer Distinction Blurs
Application functionality w/o writing code.
‘Programming’ without even knowing it

...
User vs. Developer Distinction Blurs
Application functionality w/o writing code.
‘Programming’ without even knowing it

...
Breakthrough Capabilities Recently Announced
Application development w/o writing much code.
Majority of application is m...
Mission Critical IT - ODASE
The most advanced ontology-driven software
development environment with code-generation
"ODA...
Ontology Driven Software Engineering

Formal ontology as
requirements
contract with
business users

Convert to
logical/fun...
Clean Separation of Business & Software Levels

Business Level

Software Level

Domain Experts
Knowledge Engineers

Add ...
ODASE™ Breakthroughs
Ontology and program evolve in lock step
Ontology as formal requirements contract;
part of the prog...
ODASE™ Breakthroughs
Majority of code is automatically generated (70%)
Warranty on the code
Unified formal declarative ...
Visual Knowledge
Fully driven by ontologies and metamodels
Visual Tools – no code for normal
application development
Ap...
Visual Application Development

55
Visual Knowledge
18 years of engineering
Industrial strength ontology-driven
solutions in numerous business sectors
– Fi...
How Far have we Come?
Role of the models: design time vs. runtime
– Requirements analysis
– Drive parts of the applicatio...
How Far have we Come?
Code
– Human- vs. machine-generated (in what proportion?)
– Generated from models vs. executing dir...
Challenges Ahead
Scale, Scale and Scale
Mostly limited in generality
Complex architectures, too many pieces

Can ontol...
Outline
Historical Roots

Today’s Bleeding Edge

The Future
60
Currently
Have you seen any fully functional general purpose
application development environments that have
any of the fol...
In the Future
Application development environments that have
all of those characteristics.

Agents are critical to get the...
Giant Networks of Context-Aware Agents
Formal and declarative “down to the metal”
Ecosystems of intelligent context-awar...
Domain Modeling Functionality
rdf:Class
subClassOf

Foaf:Knows

owl:Class
instanceOf
hasProperty

subClassOf

Person

Doma...
User Interface Functionality
rdf:Class
subClassOf

Foaf:Knows

Form

checkBox1

hasProperty

Foaf
Form

subClassOf

GUI ag...
Programming Logic Functionality
Loop over
Submitted Papers
FOIS
Attendees

instanceOf

Loop

instanceOf
incomingSet

Loop ...
All Linked Together

67
All Linked Together
In a transactional store

68
Executing Ontologies / Models
Models will be executing as they are being built.
– No code-generation, compile, debug cycl...
Visual Application Development
Unlocks elusive potential of visual environments
– Experts can go fast
– The code runs fas...
Semantic Computing -- Challenges
Complex system architectures, nothing integrates
with anything.

Ontology versioning and ...
Semantic Computing: the Future
Agent Ecosystems replace complex architectures with
modules and engines etc.
Seamlessly i...
Versioning: The Future
Versioning Solved
What does that mean exactly?

When elements of an ontology change,
the correspo...
Versioning: The Future
Versioning Solved
What does that mean exactly?

Fully transactional stores for each model element...
Scale: The Future
Terabyte and Petabyte sized?
Are there theoretical limits?
Either way, the key is going to be
paralli...
Summary and Conclusion
ODIS are just starting to have commercial impact
Before too long, they will be mainstream

76
Roots of ODIS
Early software engineering & AI
– Raise level of abstraction
– Use formality and structure
– Domain modelin...
The Bleeding Edge
ODASE: Mission Critical IT
Visual Knowledge
Commercial systems
General purpose
Majority of applicat...
The Future
1. Applications are manifest as
giant networks of semantic
agents.
2. Semantic agents are fully
version-control...
The Future
4. The Application IS the Model / Ontology
an executing Model / Ontology
5. Visual Application Development

6. ...
The Future
4. The Application IS the Model / Ontology
an executing Model / Ontology
5. Visual Application Development

6. ...
The Future
7. Scale Scale & Scale

82
The Future
7. Scale Scale & Scale

83
Acknowledgements
I’m grateful to
Conor Shankey, Reinvent Technology
for most of the ideas in the future vision section.
...
c/o Google Images

85
References
[21] M. Vanden Bossche, Ontology-Driven Software Development for BusinessCritical Enterprise Applications, pre...
Upcoming SlideShare
Loading in...5
×

Ontology-Driven Information Systems: Past, Present and Future

1,780

Published on

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.

Published in: Technology, Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,780
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
94
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Ontology-Driven Information Systems: Past, Present and Future

  1. 1. Ontology-Driven Information Systems Past, Present and Future Dr. Michael Uschold Originally given as Invited Talk: FOIS Conference Presented on November 1, 2008
  2. 2. My Background Current – Independent Consultant Recent past: Media – Internet advertising services – Intelligent content provision In a former life... – Aerospace & Defense – Supporting the Enterprise 2
  3. 3. 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
  4. 4. Who Cares and Why? WHO?  Software developers, customers and end users WHY: Less coding, More modeling Faster development Reduced costs More Reuse Reduced maintenance Agility & Flexibility More functionality 4
  5. 5. 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
  6. 6. Is ODIS just an Idea? •It was for a long time… •… then we saw significant research prototypes •Now we are seeing commercial deployments. 6
  7. 7. 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
  8. 8. Outline Historical Roots Today’s Bleeding Edge The Future 8
  9. 9. 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 9 Abstraction
  10. 10. 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
  11. 11. Formal Methods and Structure Permeates almost everything in software engineering Foundation for many subfields and communities More on this later… 11
  12. 12. Readings in AI and SE (1986) Deductive Synthesis Programming by Example Program Verification Intelligent Assistants Transformational Approaches Programming Tutors Natural Language Specifications Programming Knowledge Very High Level Languages Domain Knowledge AI Programming One very influential paper/project: Knowledge-Based Software Assistant 12
  13. 13. 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 machinemediated 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
  14. 14. A Grand Vision: KBSA (1986-1992) Early concept demo on 1992 Spawned series of conferences – KBSA – ASE Extremely influential BUT: today, is still largely a vision 14
  15. 15. 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
  16. 16. 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
  17. 17. Themes, Ideas, Features and Trends Distinction between user vs. developer – crisp Developers vs. Blurred Developers Users Users Use of formal methods 17
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. 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) 23
  24. 24. 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. 25 Clocksin/Mellish
  25. 25. Example Logic Program Declarative Specification of Problem (WHAT) Add Data & Ask Question Inference engine figures out HOW. 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). 26
  26. 26. 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
  27. 27. 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
  28. 28. 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
  29. 29. Model-Driven Software Development Models are basis for software development Raises level of abstraction above code Most common today: Model Driven Architecture (MDA) 30
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. 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
  34. 34. 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
  35. 35. ST: Solution looking for a Problem ST community searched and searched Build more and more ontologies and more and more tools 36
  36. 36. ST Solution, looking for a Problem A dozen years later, still searching for commercial impact. Main output: – Long lists of potential benefits – Lots of research prototypes 37
  37. 37. 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
  38. 38. UML vs. Ontologies / Semantic Web Two separate communities Overlap: modeling languages and goals 40
  39. 39. Communities coming together Model-Driven evolving to Ontology-Driven 41
  40. 40. Outline Historical Roots Today’s Bleeding Edge The Future 42
  41. 41. 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
  42. 42. 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
  43. 43. 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
  44. 44. 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
  45. 45. 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
  46. 46. 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
  47. 47. 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
  48. 48. Ontology Driven Software Engineering Formal ontology as requirements contract with business users Convert to logical/functional programming language (Mercury) Logic-driven automatic code generation
  49. 49. Clean Separation of Business & Software Levels Business Level Software Level Domain Experts Knowledge Engineers Add software knowledge to ontology  executable spec OWL, SWRL, Petri Nets Code generation
  50. 50. ODASE™ Breakthroughs 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 52
  51. 51. ODASE™ Breakthroughs 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 53
  52. 52. Visual Knowledge Fully driven by ontologies and metamodels Visual Tools – no code for normal application development Application development functionality exposed through a Wiki 54
  53. 53. Visual Application Development 55
  54. 54. 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
  55. 55. 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
  56. 56. 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
  57. 57. 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
  58. 58. Outline Historical Roots Today’s Bleeding Edge The Future 60
  59. 59. 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
  60. 60. In the Future Application development environments that have all of those characteristics. Agents are critical to get the necessary intelligence & flexibility for tomorrow’s systems. 62
  61. 61. 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
  62. 62. Domain Modeling Functionality rdf:Class subClassOf Foaf:Knows owl:Class instanceOf hasProperty subClassOf Person Domain agent PatHayes instanceOf NicolaGuarino MichaelGruninger papersAuthored 64 subClassOf Agent
  63. 63. User Interface Functionality rdf:Class subClassOf Foaf:Knows Form checkBox1 hasProperty Foaf Form subClassOf GUI agent checkBox1 textInput2 hasComponents menu73 text23 listOfOptions subClassOf actionToExecute parameter21 65 Agent
  64. 64. Programming Logic Functionality Loop over Submitted Papers FOIS Attendees instanceOf Loop instanceOf incomingSet Loop o’er attendees subClassOf Behavior agent eachAttendee Email-FOISAnnouncement subClassOf 66 Agent
  65. 65. All Linked Together 67
  66. 66. All Linked Together In a transactional store 68
  67. 67. 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
  68. 68. 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
  69. 69. 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
  70. 70. 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
  71. 71. 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
  72. 72. 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
  73. 73. 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
  74. 74. Summary and Conclusion ODIS are just starting to have commercial impact Before too long, they will be mainstream 76
  75. 75. Roots of ODIS 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 77
  76. 76. 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
  77. 77. 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
  78. 78. The Future 4. The Application IS the Model / Ontology an executing Model / Ontology 5. Visual Application Development 6. Application Development by the masses Developers 80 Users
  79. 79. 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 81
  80. 80. The Future 7. Scale Scale & Scale 82
  81. 81. The Future 7. Scale Scale & Scale 83
  82. 82. 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
  83. 83. c/o Google Images 85
  84. 84. References [21] M. Vanden Bossche, Ontology-Driven Software Development for BusinessCritical Enterprise Applications, presented at the 2008 Semantic Technology Conference, San Jose, CA. http://www.semantic-conference.com/session/586/ 86
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×