Ontology, Software Development and Web Services for Timetabling CoffTea(m) KaHo Sint-Lieven
Dec 18, 2015
6-3-2002 Semantic Web and Applications 2002
3
Overview Presentation COALA & COFFTEA Purpose of COFFTEA Timetabling Ontologies Web Services Applications
Overv
iew
6-3-2002 Semantic Web and Applications 2002
4
COALA & COFFTEA COALA & COFFTEA are sponsored by the
IWT (=Institute for the Promotion of Innovation by Science and Technology in Flanders) in the framework of the ‘HOBUfonds’.
GOAL: technology exploration, translation, diffusion
Intr
od
uct
ion
6-3-2002 Semantic Web and Applications 2002
5
Hobufonds
IWTUser committee
Academic Partners
COALA/COFFTE
A project
Public
HO
BU
fon
ds
6-3-2002 Semantic Web and Applications 2002
6
3-tier model
Aca
dem
ic partn
er
IWT H
obu
fon
ds p
roje
ct
SM
Es
Academic knowledge
“Translate” knowledge
Practical relevance
Feedback, steering
6-3-2002 Semantic Web and Applications 2002
7
COALA & COFFTEA Team members
Patrick De Causmaecker (project leader) Greet Vanden Berghe (project supervisor) Philippe De Pauw-Waterschoot / Yang Lu Peter Demeester
More info http://project.kahosl.be/coala http://project.kahosl.be/cofftea
Intr
od
uct
ion
6-3-2002 Semantic Web and Applications 2002
8
Presentation
COALACOALA De Clercq Engineering MediaGeniX Nimble TNI Universiteit Maastricht University of
Nottingham
COFFTEACOFFTEA De Clercq
Engineering MediaGeniX Nimble Impakt Universiteit
Maastricht University of
Nottingham
User Committee & Academic Partners
CO
ALA
& C
OFF
TE
A
6-3-2002 Semantic Web and Applications 2002
9
COALA (°1/11/1999-†31/10/2001)
COoperating And Learning Agents Originally about:
Ontology for planning systems Learning agents
Moved during the project to the Semantic Web (at that time brand new)
Semantic Web: combination of technologies in which we are interested Agents (Semantic Web is the natural habitat) Ontology
CO
ALA
6-3-2002 Semantic Web and Applications 2002
10
CoffTea (°1/11/2001-†31/10/2003)
COmponent Framework For TimEtAbling GOAL (taken from the original project
proposal):Offer planners better insight in: needs of planning practice the opportunities of component based
software development regarding timetabling How software will function with loosely
connected components A component model for timetabling
CO
FFTE
A
6-3-2002 Semantic Web and Applications 2002
11
Timetabling (definition as given by A. Wren)
“Is the allocation, subject to CONSTRAINTS, of given RESOURCES to objects being placed in space-time, in such a way as to satisfy as nearly as possible a set of desirable OBJECTIVES. Examples are class and examination timetabling and some forms of personnel allocation, for example manning of toll booths subject to a given number of personnel”
CO
FFTE
A
6-3-2002 Semantic Web and Applications 2002
12
Timetabling in an institute for higher education Extensively studied
PATAT conferences (Springer Verlag) (http://project.kahosl.be/patat2002)
Many practical cases have been described
Mathematical approaches have been studied Meta heuristics (Tabu, SA, GA, EA,…) Constraint programming
Tim
eta
blin
g
6-3-2002 Semantic Web and Applications 2002
13
Science Authors were personally involved
Implementation Software development
Off the shelf products Not 'powerful' enough Need better algorithms Need to approach the `optimum'
more closely
Tim
eta
blin
g
6-3-2002 Semantic Web and Applications 2002
14
Market Several products are available Vendor arguments
User friendliness, flexibility and aptness to express complex constraints, both soft and hard
Applying the latest techniques 'Very powerful algorithms', IPR
(legitimate)
Tim
eta
blin
g
6-3-2002 Semantic Web and Applications 2002
15
Problem
Maximal expressive power
Complete satisfaction of expressed constraintsT
imeta
blin
g
6-3-2002 Semantic Web and Applications 2002
17
Fourth layer “Ontologies are becoming popular
largely because of what they promise: a shared and common understanding that reaches across people and applications systems” (Fensel et. al.)
2 directions: OIL & DAML Converge to DAML+OIL More info on http://www.daml.org
Onto
log
y
6-3-2002 Semantic Web and Applications 2002
18
Ontology Part of DAML: DAML-S Ontology for services: dynamic
web sites Agents that want to use services:
description on how service can be used and accessed
Description in DAML
Onto
log
y
6-3-2002 Semantic Web and Applications 2002
19
Service description with DAML-S
DAML-S is DAML+OIL based web service ontology
Supplies web service providers with a core set of markup language constructs for describing properties & capabilities of their web services
Should facilitate automation of web service tasks: automated web service discovery execution composition interoperation
DA
ML-
S
6-3-2002 Semantic Web and Applications 2002
20
Service description with DAML-S DAML-S can be regarded as semantics-
based replacement of industry languages for service description (WSDL), service publication (UDDI) and service flow (WSFL): Service profile (describes what the service
does) Service model (describe how the service
works) Service grounding (specifies details on how
an agent can access a service)
DA
ML-
S
6-3-2002 Semantic Web and Applications 2002
21
Web services DAML-S: academic world Industry (IBM, HP, Microsoft,…): works
also on standards to describe services WSDL, WSFL, UDDI,… Based on available technologies (XML,
SOAP, HTTP, …) Not based on an ontology: lack of
expressiveness, little flexibility, rather for humans than for agents
Web s
erv
ices
6-3-2002 Semantic Web and Applications 2002
22
Web services Web service provider: offers services Register service: online registry of a
service broker Registry: publishes & locates services Service discovery happens through
standardised taxonomies that describe the functionality of service the service provider how to access & interact with the service
Web s
erv
ices
6-3-2002 Semantic Web and Applications 2002
23
Web services At the registry human requestor
searches for services By using service description create
a binding for application to invoke with service implementation
Web s
erv
ices
6-3-2002 Semantic Web and Applications 2002
24
IBM Web Service Architecture
Service Discovery
Service Publication
Service Description
XML-Based Messaging
Network Protocols
Service FlowS
ecu
rity
Man
ag
em
en
t
Quality
of S
erv
ice
WSFL
Static -> UDDI
Direct -> UDDI
WSDL
SOAP
HTTP, FTP, email etc.
6-3-2002 Semantic Web and Applications 2002
25
IBM Web Service Architecture A service can be described, discovered
and invoked using standard XML technologies such as WSDL, UDDI and SOAP
I.o.w: XML can be used for businesses to agree on what to talk to each other, SOAP can be used to determine how they speak to each other, and UDDI will be used for businesses to determine to whom they should talk to and where they can find other businesses.
Web s
erv
ices
6-3-2002 Semantic Web and Applications 2002
26
IBM Web Service Architecture Simple Object Access Protocol: model for
simple request and response messages written in XML. Often modelled as platform-neutral remote procedure call mechanism
Web Services Description Language: XML vocabulary that organizes the technical details required for automatic integration at the programming level. Describes the implementation details for those who want to talk to the service.
Web s
erv
ices
6-3-2002 Semantic Web and Applications 2002
27
IBM Web Service Architecture Universal Description, Discovery and
Integration: specification that describes a service registry of available web services (kind of electronic “yellow pages”).
Web Services Flow Language: defines workflows composed of web services and composes web services from lower-level workflows. This is the newest of the web services technologies.
Web s
erv
ices
6-3-2002 Semantic Web and Applications 2002
28
.Net architecture “An open language platform for
enterprise and Web development” 6 layers:
Web services Frameworks and libraries: ASP.NET (active
server pages for web pages and services); ADO.NET (databases and object-relational processing); Windows Forms (graphics)
Interchange standards: XML-based, platform-independent exchanging of objects
.NET
6-3-2002 Semantic Web and Applications 2002
29
.Net architecture Development environment: common software
development environment offering facilities for development, compilation, browsing and debugging
Component model: build assemblies (consist of number of classes with well-defined interfaces)
Object model: provides conceptual basis Common language runtime: provides basic
set of mechanisms for executing .NET programs
.NET
6-3-2002 Semantic Web and Applications 2002
30
.NET
Common language runtime
Object model and common language specification
Component model
Interchange standards: SOAP,
WSDL
Frameworks and libraries: ASP.NET, ADO.NET, Windows Forms
Web services
Common development tools: Visual Studio.Net
.NET
6-3-2002 Semantic Web and Applications 2002
31
Application of the Semantic Web in timetabling context Most obvious: use XML as a format or
language to represent instances of a timetable
Burke et. al. propose requirements which should be fulfilled to talk about a standard data format for timetabling: General (express all kinds) Complete (express in full detail) Accessible (easy to translate to and from)
Low
er
levels
6-3-2002 Semantic Web and Applications 2002
32
Application of the Semantic Web in Timetabling context XML can be used to accomplish this Construct a good DTD Call it Timetabling Markup Language
(TML) To convert from one format to
another: Use DOM XSL-T
Low
er
levels
6-3-2002 Semantic Web and Applications 2002
33
Application of the Semantic Web in Timetabling context Constructing an ontology for timetabling Why? Better understanding of the problem Opportunity for integrating separate
timetabling systems: Map existing timetabling systems to this ontology Starting point for newly developed ontologies
Through mapping concepts can be translated
Hig
her
levels
6-3-2002 Semantic Web and Applications 2002
34
Application of the Semantic Web in Timetabling context Starting point: upper level ontology
(based on OZONE) 5 central concepts:
ACTIVITY CONSTRAINT DEMAND PRODUCT or DEMAND OBJECTIVE RESOURCE
Hig
her
levels
6-3-2002 Semantic Web and Applications 2002
35
Top-level ontology (based on OZONE)
ACTIVITY
RESOURCE
DEMAND
CONSTRAINT
restricts
produces
satisfies
imposes
requires
imposes
PRODUCT
6-3-2002 Semantic Web and Applications 2002
36
Resource ontology The following picture (in UML)
shows how a resources ontology could be constructed for our polytechnic
Resource-Type Resource-Structure
Discrete State Resource Capacitated Resource Atomic Resource Aggregate Resource
Consumable Resource Reusable Resource Unit-Capacity Resource
Batch Capacity Resource
Homogeneous Resource Pool Heterogeneous Resource Pool
Simple Capaci ty Pool Structured Capacity Pool
Pool of large lecture rooms
Lecture room0..*
Office
Teacher
Teaching Unit
0..*
Lab Assistant
0..*
0..*
0..*
0..*
6-3-2002 Semantic Web and Applications 2002
37
Timetabling Ontology Concepts + relations Express ontology in a mark-up
language Can be used on Semantic Web Agents can “understand”
documents based on this ontology
Onto
log
y
6-3-2002 Semantic Web and Applications 2002
38
COFFTEA Project: building a timetabling
application based on loosely coupled components working together
Idea: develop different components that will be published as web services
Is it a convenient way to build timetabling applications?
What about system deployment?
CO
FFTE
A
6-3-2002 Semantic Web and Applications 2002
39
COFFTEA Open system Users can recombine web services
and define new ones? Applications can call components
through SOAP Other possibilities: CORBA,
J2EE, .NET?
CO
FFTE
A