semantic modeling of system requirements lunch presentation @gdmc lieke verhelst msc student for...

13
Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

Upload: maurice-sherman

Post on 26-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

Semantic modeling of System Requirements

Lunch presentation @GDMC

Lieke Verhelst MSc Student for GIMA

Feb 27th 2009

Page 2: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

Problem Area

Figure taken from: "OGC® Sensor Web Enablement: Overview And High Level Architecture",Mike Botts, George Percivall, Carl Reed, John Davidson Eds. OGC, 2007

Page 3: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

Examples of ST sensor data• Recordings taken from radiosonde and pilot balloon observations, stored in

the Integrated Global Radiosonde Archive (IGRA).

• Records from the Antarctic Iceberg Tracking Database

• GPS track (Garmin)

#0100120080101002316 56 21100700B 9 10B 31 205 70 10100000 65B 12B 30 205 70 30 95500 -9999 -9999 -9999 215 150

lat: -59.1366 lon: -58.4785 x: 622 y: 2737 file: qush-a-Ant99-202-202.sir backscat: -2.331 contrast: -21.1020 lat: -59.1740 lon: -58.1709 x: 628 y: 2743 file: qush-a-Ant99-203-203.sir backscat: -7.472 contrast: -15.6960 lat: -59.1692 lon: -58.4396 x: 624 y: 2737 file: qush-a-Ant99-204-204.sir backscat: -13.778 contrast: -16.1915

Track Anzere-la Bate-Anzere 10/07/2008 10:05:48 12:14:48 13.2 km 1.1 kph Header Position Time Altitude Depth Leg Length Leg Time Leg Speed Leg Course Trackpoint N46 18 43.6 E7 23 07.0 10/07/2008 10:05:48 2359 m Trackpoint N46 18 45.1 E7 23 08.2 10/07/2008 10:10:25 2359 m 54 m 0:04:37 0.7 kph 28° true Trackpoint N46 18 47.1 E7 23 11.7 10/07/2008 10:13:26 2343 m 97 m 0:03:01 2 kph 51° true Trackpoint N46 18 49.8 E7 23 14.0 10/07/2008 10:14:43 2337 m 97 m 0:01:17 5 kph 30° true

Page 4: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

User questions

• “How did the frost line move over the years?”• “Where and when do icebergs a and b collide?” • “Do bikers and hikers get in each other's way in

area x?”• Combinations of:

– Time: • instants or intervals• historic data or real data

– Space:• Point, line, region

Page 5: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

Database implementation

• Depends on:– Data set (real time, historic data)– User question (spatial analysis? temporal analysis?)– System requirements (speed, storage)– Available solutions (Oracle, DB2, Informix,

Postgres/GIS, ESRI)

• Involves:– Information analysis (data type, data model)– DBA work (indexes, storage)

Page 6: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

MSc Research

• Objective: to provide users of sensor data with guidelines how to choose the right database implementation for their purpose. If possible automate this process.

Page 7: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

Research question

• Designing a method that models the concepts of sensor data (e.g. sample frequency, size of data file, structure of sensor data) in order to generate a suitable database implementation

• Apply a weighted qualification to the proposed result

• Automate the process to the DB implementation

Page 8: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

How can we model this?

• UML– Via Classes to tables– Via stereotypes and tagged values to index

types– From UML to DDL– …but how to (automatically) guide the user

towards selection of the appropriate implementation? -> expert system

Page 9: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

Semantic modeling

Index SolutionFor Speed

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE rdf:RDF [

<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <!ENTITY kb 'http://protege.stanford.edu/kb#'> <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>

]><rdf:RDF xmlns:rdf="&rdf;"

xmlns:kb="&kb;" xmlns:rdfs="&rdfs;">

<rdfs:Class rdf:about="&kb;Index" rdfs:label="Index"><rdfs:subClassOf rdf:resource="&rdfs;Resource"/>

</rdfs:Class><rdfs:Class rdf:about="&kb;Speed"

rdfs:label="Speed"><rdfs:subClassOf rdf:resource="&rdfs;Resource"/>

</rdfs:Class><rdf:Property rdf:about="&kb;solutionFor"

rdfs:label="solutionFor"><rdfs:domain rdf:resource="&kb;Index"/><rdfs:range rdf:resource="&rdfs;Class"/>

</rdf:Property></rdf:RDF>

Page 10: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

OWL

• extended RDF• Constraints, relationships among resources,

cardinality, domain and range restrictions, union, disjunction, inverse, transitive

• OWL–DL based on description logic– existential quantifier , which can be read as “at least

one”, or “some”– universal quantifier , which can be read as “only”

• rules (!!)

Page 11: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

Research work Steps

1. Create OWL-DL ontology

2. Apply logic & rules

3. Generate DDL

4. Implement in DB

Page 12: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

Software Used

1. Create OWL-DL ontology (Protégé)

2. Apply logic & rules (Pellet or Racer, Jess, JessTab)

3. Generate DDL (OWL->UML->DDL, Poseidon, Eclipse)

4. Implement in DB

Page 13: Semantic modeling of System Requirements Lunch presentation @GDMC Lieke Verhelst MSc Student for GIMA Feb 27 th 2009

DEMOS

2. Demonstrate use of rule engine

1. Demonstrate how reasoner can categorize instance to predefined class