Adaptive Agricultural Processes via Open Interfaces and Linked Services Semantics for Optimization of the Livestock Farming Dr. Dana Tomic FTW Forschungszentrum Telekommunikation Wien, Austria
Challenges and Needs in Dairy Farming Efficient use of resources Reduced costs and time in operation Increased quality requirements Continuous improvement of processes Fast adaption of new knowledge and new solutions Adaption of innovation as it emerges Flexible integration of systems and data 2
Innovation examples Milking robot Info about the milk, cows and the milking process - quantity - quality Rumen Sensor - PH Value Active Ear Tags - Localization - Mobility - Rumination - Temperature 3
Innovation + Data
Opportunities and Problems your data your choices (Ben Studer, FUSE, AGCO ) this morning 5 use data to make better decisions (Charls Donahue, John Deere ) this morning
Problems Closed Data Interfaces Closed Process Implementations Proprietary formats Confined data Lost data Manual data handling Only for visual inspection Process knowledge not formally captured Processes do not exchange data Process context cannot be extended Processes cannot be dynamically changed 5
Vision
Solution based on Semantics Ontology SWS. Registry Diagnose Abfrage Instances Reasoner Rules Web Server / SW Services Applications, Processes Diagnoses/Queries Context Interpretation Ontology, Rules Processes Semantic Web Services Plugins
Developing a common language Data Models and Ontologies
Interface Data Models for Agriculture ISO Standard ISOagriNET - the communication between agricultural equipment in the livestock farming ISO11783 (ISOBUS) - Interfaces and data network for control and communication on agricultural machines like tractors. ISO-XML - Data exchange between machines and personal computers (e.g. farm computer) agroxml - XML based markup language for grassland management and crop farming agrordf - a semantic model still under heavy development. - It is built using Resource Description Framework (RDF) of W3C.
ISOagriNet
Semantics for Knowledge Engineering Vocabularies = concepts and relationships (also referred to as terms ) used to describe and represent an area of concern. - classify the terms Ontology = explicit formal specifications of the terms in the domain and relations among them (description logic) - Primitive classes, Object Properties, Data Properties, Instances - Defined Classes, Rules, Reasoning = classification, creation of new facts Description techniques W3C Standards - Resource Description Framework (RDF) and RDF Schemas - Web Ontology Language (OWL) - Rule Languages (RIF/SWRL) - Probabilistic approaches: PR-OWL, UnBBayes Challenges - Which concepts to describe, which complex situations (defined classes)? - Which description technique?
Ontologies in Agriculture Food and Agriculture Organization of the United Nations (FAO; http://aims.fao.org). Ontologies & vocabularies in agriculture address lexical interoperability, data interoperability, knowledge model interoperability and object interoperability. FAO is developing agriculture information management standards such as AGROVOC thesaurus, Agris and openagris. AGROVOC: - a controlled vocabulary covering all areas of interest to FAO, including food, nutrition, agriculture, fisheries, forestry, environment etc. - formalized as a RDF/SKOS-XL linked dataset - accessible through a SPARQL endpoint - Available as open linked data, used for labeling of Agris data Other thesauri and ontologies ( USDA, CSRO, MUNI ontology, SEAMLESS project, MTSR Special Track on Agriculture )
Domain Analysis Steps Determine the domain and scope of the ontology - Use Cases: 1) Diary Farming 2) Precision Farming Consider reusing existing ontologies - Agriculture domain, upper ontologies, sensor ontologies Enumerate important terms in the ontology - Farm, Animal, Milk, Food, Equipment, Users, Services, Process, Identify important relationships Translate into classes & properties - Specify primitive classes - Specify defined classes (for classification based on reasoning)! Define rules Define queries Create Instances Test
Ontology (in Protégé) 15
Why Semantics? Tripelstore Fast extensibility in schema and in data!!!
Putting things together Service Architecture and Infrastructure
Semantic Web Services and Composition Frameworks OWL-S (Semantic Markup for Web Services) - Service Model, Service Profile, Service Grounding (WSDL) SAWSDL(Semantic Annotations for WSDL and XML Schema) - Add annotation to WSDL, lifting, lowering schema mapping WSMO (Web Service Modeling Ontology) - Presented in WSML for formalizing Web Service description (Goals, Web Service, Ontologies, Mediators) MicroWSMO, hrest, WSMO-lite - Describing RESTful Services by adding microformats or RDFa SSWAP (Simple Semantic Web Architecture and Protocol) - REST, OWL, HTTP, service pipeline SADI (Semantic Automated Discovery and Integration) - REST, OWL consumption, chaining Composition Frameworks & Workflow workbench : WSMX, iservice (WSMO), iserve(microwismo), iplant (SSWAP), SADI, Taverna
Semantic Automated Discovery and Integration (SADI) Making it simple. Semantic REST WS Framework (www.sadiframework.org) - Based on RDF, OWL, HTTP - Input (HTTP POST) an RDF Graph an instance of an Input class (OWL) - Output an RDF Graph decorated with new properties Input und output classed are the defined classes - restrictions on properties - properties belong to the common ontology Services can be discovered with queries on registry (SPARQ) - mygrid Ontology: name, description, contact, authoritative status, Input OWL class, Output OWL class, Parameter OWL class, tests Smart Orchestration Engine (SADI SHARE) 19
(agriol)sadi Examples Input.owl Animal S_AnimalHasYield Animal d: hasyield Output.owl Animal + hasyield decoration Input.owl Animal S_AnimaHasMobility Animal d: mperday Output.owl Animal + mperday
Plugin Server & (agriol)sadi Services Farm Computer RRM Server DB Plugin code services m_r_1/s1 m_r_1/s2 m_r_1/s3 m_r_3/s2 Ontology Service Description Service Registry 21
A cow A cow with high yield and recent low activity; existence of such animals triggers a message to the veterinarian
agriopenlink: Vision, Method and Goals Contribute to open interfaces and open process models Use semantic and service technology for interoperability, extensibility and re-configurability Process optimization => a dynamic composition of semantic services (diagnosis, control, alarming, recommendations) Processes are monitored and optimized governed by a real-time ontology- and rule- based diagnosis Situation discovery is continuously performed for pro-active recommendations regarding system update Develop methodology and tools for automated creation of new processes over plug-and-play infrastructure Offer practical open-source API and a deployment platform for the developers of plugins to stimulate creation of new applications in life stock management and precision farming
Results Ontologies drafted - Primitive classes of basic hierarchy, defined classes for classification. RRM Server implemented Open source plugin creation skeleton created Initial (agriol)sadi semantic infrastructure & process & diagnosis infrastructure implemented Next Steps Starting to implement plugins - Milking robots - Localization and tracking system - Rumination sensor Extensions to diagnosis engine, process engine Tools for ontology management, UI tools (different actors) Service-based controlled access, security, privacy Test with users
Contact Dr. Slobodanka Dana Kathrin Tomic Senior Researcher FTW www.ftw.at Forschungszentrum Telekommunikation Wien GmbH Donau-City-Straße 1/3 A-1220 Vienna Austria +43/1/5052830-54 fax -99 +43/6769129023
Diagnoseabfrage und Orchestrierung von SWS External SADI Registry External SADI Services Process Control Engine (service) situation? SPARQL Query Diagnosis Engine (service) HTTP Post SADI RRM @Farm HTTP Reasoner User Interface (service) Ontology & Instances 26 Service @Farm Registry
Diagnoses : Orchestrating SWS A cow with high yield and recent low activity; existence of such animals triggers a message to the veterinarian 27
Diagnoses : Orchestrating SWS Find all HighYieldAnimalSendAlarm 28
Diagnose : Orchestrierung von SWS QUERY : Find all HighYieldAnimalSendAlarm Diagnosis Engine HighYieldAnimalAlarm : eq: HYAnimal restr: sentalarm HYAnimal: eq: Animal restr: hasyield Ontology & Instances Service @Farm Registry LameAnimal: eq: Animal restr: mperday Animal Reasoner SADI Services @Farm 29
Diagnose : Orchestrierung von SWS QUERY : Find all HighYieldAnimalSendAlarm Diagnosis Engine S_AnimalSendAlarm AnimalHasAlarm d: sentalarm HighYieldAnimalSendAlarm : eq: HYAnimal restr: sentalarm HYAnimal: eq: Animal restr: hasyield Ontology & Instances Service @Farm Registry S_AnimalHasAlarm MOAnimal d: hasalarm S_AnimaHasMobility Animal d: mperday MOAnimal: eq: Animal restr: mperday Animal Reasoner SADI Services @Farm S_AnimalHasYield Animal d: hasyield 30
Benefits of Ontologies To share common understanding of the structure of information among people or software agents To enable reuse of domain knowledge To analyze domain knowledge To make domain assumptions explicit To separate domain knowledge from the operational knowledge To have benefit of automatic reasoning
Domain Analysis Steps Determine the domain and scope of the ontology - Use Cases: 1) Diary Farming 2) Precision Farming - System Ontology - Service Ontology Consider reusing existing ontologies - Agriculture domain, upper ontologies, sensor ontologies Enumerate important terms in the ontology - Farm, Animal, Milk, Food, Equipment, Users, Services, Process, Identify relationships Translate into classes & properties - Specify primitive classes - Specify defined classes (for classification based on reasoning) Define rules Test with some individuals
Domain vs. Operational Knowledge Maintain domain knowledge WS-SADI Create Individual in the Knowledgebase SADI Data Ontology Rules Trigger Reasoner Trigger Actions based on Results of Reasoning Actions
AGROVOC
Common Domain Concept Ontology 35
Plugin Server & (agriol)sadi Services HTTP POST www.agriopenlink.com/m_r_1/s1 Input.owl RRM Server DB services m_r_1/s1 m_r_1/s2 Output.owl Ontology Farm Computer Plugin code m_r_1/s3 m_r_3/s2 HTTP 200 OK Service Description Service Registry 36