Semantics and Ontology of Logistic Cloud s* Dr. Sudhir Agarwal Karlsruhe Institute of Technology (KIT), Germany * Joint work with Julia Hoxha, Andreas Scheuermann, Jörg Leukel
Usage Tasks Query Execution search Ranking s..... Descriptions Ranked list of services or service compositions Without machine understandable semantics most of these tasks require a lot of manual effort!!! Query Matches Query Query for services Composition Matching Compositions descriptions Implementation description publishing 3
Ontologies (Information Science) Gruber (1993), Studer et al. (1998): An ontology is a formal specification of a shared conceptualization of a domain of interest machine-understandable different parties agree on it types of objects, relations and their attributes refers to a specific domain/topic Features clear (formal) semantics and automatic reasoning procedures 4
Elements of an Ontology Concept Conceptual entity of the domain Individual Concrete instance or object Property Relationship between concepts, instances, or properties Class hierarchies (taxonomies, inheritance) Hierarchies of properties Attributes, which relate instances to data types, e.g. string Axiom Assertion expressed in logical expressions Coherency between concepts, instances, or properties 5
Ontology Languages RDF/S and OWL (W3C Standards) Description Framework (RDF) For expressing graph based data with triples of the form <Subject, Predicate, Object>; Several triples form a graph Subjects, predicates, and objects are identified by URIs RDF Schema Class and property hierarchies Usually sufficient for simple ontologies OWL is a stronger language with greater machine interpretability than RDF Schema. OWL also supports e.g. relations between classes (e.g. disjointness), cardinality (e.g. "exactly one"), (in)equality of individuals, richer typing of properties, characteristics of properties (e.g. symmetry, reflexivity, transitivity) enumerated classes 6
Logistic- Ontologies Top-Level- Ontologies Ontology Stack for haslevelparameter Process contains uses Level Parameter Process Grid Export Cl. 1 Warehouse Grid Import Conveyor MeansOf Handling AirFreight Road Haulage 7
Logistic Ontology Activity containsactivity haslevelparameter SLA Activity has Company Actor Cl.2 Cl.1 has has Handling hashandling Handling 8 Warehouse haswarehouse Warehouse
Semantic Description of Logistic s Overview of the Approach Modelling logistics-domain as an OWL Ontology Semantic description of logistic services with IOPE, service classification, non-functional properties, meta-data Invocation related information is described with WSDL Domain Ontologies (OWL) Input Precondition Semantic Profile Output Effect Semantic Description Non-Funct. Prop. Input Msg Output Msg Syntactic Description (WSDL) Web Interface 9
Order Processing Class 1 Logistic Road Freight 1/3 Offer Logistic-Ontology Create offer Create transportation order Classes: Offer Properties: isavailable () isbooked () AirFreight MeansOf Large Customer Offer Road Haulage Create invoice <rdf:rdf xml:base="http://www.interloggrid.org/createoffer.owl"> <owl:ontology rdf:about=""> <owl:imports rdf:resource="http://www.interloggrid.org/model.owl"/> </owl:ontology> <logistic:logisticcreateoffer rdf:id= CreateOffer"> <profile:hasinput rdf:resource= #"/> <profile:hasinput rdf:resource= #MeansOf"/> <profile:hasoutput rdf:resource="#largecustomeroffer"/> <profile:hasprecondition rdf:resource="#sareavailable"/> <profile:hasresult rdf:resource= #sarebooked"/> </ logistic:logisticcreateoffer > 10
Order Processing Class 1 Logistic Road Freight 2/3 Create offer <!-- description --> <service: rdf:id= CreateOrder"> <service:presents rdf:resource= #CreateOrderProfile"/> <service:describedby rdf:resource= #CreateOrderProcess"/> <service:supports rdf:resource= #CreateOrderGrounding"/> </service:> Create transportation order <!-- Profile description --> <logistic:logisticcreateorder rdf:id= CreateTransportaionOrderProfile"> <service:presentedby rdf:resource= #CreateOrder "/> Create invoice <profile:servicename xml:lang= en > Create Order </profile:servicename> <profile:textdescription xml:lang= en > includes description of the contract. </profile:textdescription> <profile:hasinput rdf:resource="#acceptedoffer "/> <profile:hasinput rdf:resource="#customerrequirements"/> <profile:hasoutput rdf:resource="#order"/> <profile:hasoutput rdf:resource="#deliverynote"/> <profile:hasprecondition rdf:resource= #OfferReceived"/> <profile:hasresult rdf:resource= #sareblocked"/> </ logistic:logisticcreateorder > 11
Order Processing Class 1 Logistic Road Freight 3/3 Create offer <!-- description --> <service: rdf:id= CreateInvoice"> <service:presents rdf:resource= #CreateInvoiceProfile"/> <service:describedby rdf:resource= #CreateInvoiceProcess"/> <service:supports rdf:resource= #CreateInvoiceGrounding"/> </service:> Create transportation order <!-- Profile description --> <logistic:logisticcreateinvoice rdf:id= CreateInvoiceProfile"> <service:presentedby rdf:resource= #CreateInvoice "/> Create invoice <profile:servicename xml:lang= en >Create Invoice </profile:servicename> <profile:textdescription xml:lang= en > List of demands for money for a transportation order to the customer. </profile:textdescription> <profile:hasinput rdf:resource="#order"/> <profile:hasinput rdf:resource= #Customer"/> <profile:hasoutput rdf:resource="#invoice"/> <profile:hasprecondition rdf:resource= #MatchingOrderCustomer"/> <profile:hasresult rdf:resource= #InvoiceIsBilled"/> </logistic:logisticcreateinvoice> 12
Management of Ontologies and Descriptions Reference Architecture InterlogGrid Layer WisNetGrid Layer Infrastructure Management API for Ontologies Ontology Repository API UNICORE IRODS Grid WebDav Web Server Ontologies Repository Management API for s s Repository API s Repository Cloud REST Web s for Creating, reading, updating, and deleting ontologies, and ontology elements (Classes, instances, relationships etc.), and service descriptions Email Notification when a subscribed ontology or a service descriptions is changed Blocking prevents overwriting by other users Search for ontologies and service descriptions 13
Semantische Search for Logistic s Query input: of type #AirFreight, Input: of type #Packet output: of type #Offer CreateOffer is found: <logistic:logisticcreateoffer rdf:id= CreateOffer"> <profile:hasinput rdf:resource= #"/> <profile:hasinput rdf:resource= #MeansOf"/> <profile:hasoutput rdf:resource="#largecustomeroffer"/> <profile:hasprecondition rdf:resource="#sareavailable"/> <profile:hasresult rdf:resource= #sarebooked"/> </logistic:logisticcreateoffer > Logistic- Ontology AirFreight MeansOf Road Haulage Offer LargeCustomerOffer Packet 14
Conclusion Approach for semantic description of logistic services: allows clear understanding of the objects and services of logistic domain enables among others general reasoning about the domain and service; in particular service search and composition OWL ontologies can be edited with the protege ontolgy editor (protege.stanford.edu) Detailed (over 100 pages) user guide with explanation of the full logistic ontology is available as PDF Management components for ontolgies and semantic service descriptions for Grid or Cloud available as REST services Publications: Andreas Scheuermann, Julia Hoxha. Ontologies for Intelligent Provision of s. 7th International Conference on Internet and Web Applications and s (ICIW 2012), Germany, May, 2012 Julia Hoxha, Andreas Scheuerman, Stephan Bloehdorn. An Approach to Formal and Semantic Representation of s. Proceedings of the Workshop on Artificial Intelligence and (AILog) at the 19th European Conference on Artificial Intelligence (ECAI 2010), Lisbon, Portugal, 73-78, September, 2010 15