Ontology, Software Development and Web Services for Timetabling CoffTea(m) KaHo Sint-Lieven
Semantic Web and Applications Overview
Semantic Web and Applications Overview Presentation COALA & COFFTEA Purpose of COFFTEA Timetabling Ontologies Web Services Applications Overview
Semantic Web and Applications 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 Introduction
Semantic Web and Applications Hobufonds IWT User committee Academic Partners COALA/ COFFTEA project Public HOBUfonds
Semantic Web and Applications tier model Academic partner IWT Hobufonds project SMEs Academic knowledge“Translate” knowledge Practical relevanceFeedback, steering
Semantic Web and Applications COALA & COFFTEA Team members Patrick De Causmaecker (project leader) Greet Vanden Berghe (project supervisor) Philippe De Pauw-Waterschoot / Yang Lu Peter Demeester More info Introduction
Semantic Web and Applications Presentation COALA De Clercq Engineering MediaGeniX Nimble TNI Universiteit Maastricht University of NottinghamCOFFTEA De Clercq Engineering MediaGeniX Nimble Impakt Universiteit Maastricht University of Nottingham User Committee & Academic Partners COALA & COFFTEA
Semantic Web and Applications 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 COALA
Semantic Web and Applications 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 COFFTEA
Semantic Web and Applications 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” COFFTEA
Semantic Web and Applications Timetabling in an institute for higher education Extensively studied PATAT conferences (Springer Verlag) ( Many practical cases have been described Mathematical approaches have been studied Meta heuristics (Tabu, SA, GA, EA,…) Constraint programming Timetabling
Semantic Web and Applications 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 Timetabling
Semantic Web and Applications 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) Timetabling
Semantic Web and Applications Problem Maximal expressive power Complete satisfaction of expressed constraints Timetabling
Semantic Web and Applications Layer Cake once again
Semantic Web and Applications 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 Ontology
Semantic Web and Applications 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 Ontology
Semantic Web and Applications 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 DAML-S
Semantic Web and Applications 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) DAML-S
Semantic Web and Applications 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 services
Semantic Web and Applications 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 services
Semantic Web and Applications 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 services
Semantic Web and Applications IBM Web Service Architecture Service Discovery Service Publication Service Description XML-Based Messaging Network Protocols Service FlowSecurityManagementQuality of Service WSFL Static -> UDDI Direct -> UDDI WSDL SOAP HTTP, FTP, etc.
Semantic Web and Applications 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 services
Semantic Web and Applications 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 services
Semantic Web and Applications 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 services
Semantic Web and Applications 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
Semantic Web and Applications 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
Semantic Web and Applications 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
Semantic Web and Applications 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) Lower levels
Semantic Web and Applications 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 Lower levels
Semantic Web and Applications 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 Higher levels
Semantic Web and Applications 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 Higher levels
Semantic Web and Applications Top-level ontology (based on OZONE) ACTIVITY RESOURCE DEMAND CONSTRAINT restricts produces satisfies imposes requires imposes PRODUCT
Semantic Web and Applications Resource ontology The following picture (in UML) shows how a resources ontology could be constructed for our polytechnic
Semantic Web and Applications 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 Ontology
Semantic Web and Applications 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? COFFTEA
Semantic Web and Applications COFFTEA Open system Users can recombine web services and define new ones? Applications can call components through SOAP Other possibilities: CORBA, J2EE,.NET? COFFTEA
Semantic Web and Applications Questions?