Concept We will develop and use secure semantic event-based service oriented architecture as a common infrastructure for our testbeds and prototype integrated applications.
Team • Faculty • Anupam Joshi • Tim Finin • Interactions with other groups • Ravi Sandhu • C Zhai • Core Students • Kishor Datar • Audumbar Chormale
Key Goals • Infrastructure for Testbed • Research • Adding Semantics and our Policy mechanisms to WSDL, WS-Policy, WS-Security etc. • Creating a system to capture events, infer context, and distribute it to the policy, information management, and social networking components.
Use Open Source WS Frameworks • Axis is essentially a SOAP engine - a framework for constructing SOAP processors such as clients, servers, gateways, etc. • Axis also includes: • A simple stand-alone server • A server which plugs into servlet engines such as Tomcat • Extensive support for the Web Service Description Language (WSDL) • Tool that generates Java classes from WSDL. • Some sample programs • A tool for monitoring TCP/IP packets • Open source webservices frameworks such as WSO2 based on Axis that allow webservices to be written in C/C++, Perl, Ruby, … Source: http://ws.apache.org/axis/java/user-guide.html,http://wso2.com/products/
Adding Semantics to WSDL • The Web Services Description Language (WSDL) • Way to describe the abstract functionalities of a service and concretely how and where to invoke it. • WSDL 2.0 W3C Recommendation does not include semantics in the description • Two services can have similar descriptions while meaning totally different things, or they can have very different descriptions yet similar meaning • The Semantic Annotations for WSDL and XML Schema (SAWSDL) • Mechanisms to add semantic annotations to WSDL components. • Provides mechanisms by which concepts from the semantic models that are defined either within or outside the WSDL document can be referenced from within WSDL components as annotations. • Disambiguate the description of Web services during automatic discovery and composition of the Web services. Source: http://www.w3.org/2002/ws/sawsdl/
Context Service • Policies will be evaluated “in context” – the need to share is a function of the state of the world • Should your medical records be proactively shared with EMTs that are responding to a natural disaster in your region ? Only if they are treating you • Similar considerations for Information Management and Knowledge Discovery and Social Networks • Two key issues • Inferring context in face of streaming knowledge • Distributing context information
Continuous Context Queries Patient Monitor Stream KB Processor (TelegraphCQ) Medicines Assert Events Tools RFID System Assert facts Staff Inferring Context – a surgical scenario Knowledge Base Context Aware Agent Database Medical Encounter Record Patient History Staff Medical Supplies
CQs on Semantic Streaming Data… • Reasoning process involves computationally heavy techniques such as graph traversals. • In case of streaming data, the incoming data rate is much higher than time taken by the reasoner for inferencing. • Hence the need for combining streaming data handling systems with reasoning techniques to build a Streaming Knowledge Base.
Preliminary Steps • Combining the continuous query processors with Semantic Web techniques to build a partial RDFS and OWL reasoner that can deal with streaming data. • Comparing the performance of our approach with that of Jena and show that our approach achieves a soft real-time performance for fast streaming data.
Pre-processing of an ontology RDFS or OWL ontology Static Data Store Property - subproperty Propertytree Class - subclass Classtree Ontology Processor Predicate - range RangeInfo DomainInfo Predicate - domain InverseInfo Property - inverse
Pre-processing of an ontology • rdfs:subClassOf – e.g. “Mammal” class is a subclass of “Animal” class. It’s transitive in nature. • rdfs:subPropertyOf – e.g. “fatherOf” property is a sub-property of the property “parentOf”. It’s transitive in nature. • rdfs:domain – e.g. the domain of the property “fatherOf” is “Male” class.
Pre-processing of an ontology • rdfs:range – e.g. the range of the property “square” is “non-negative number”. • owl:inverseOf – e.g. the inverse of the property “parentOf” is “childOf” property.
Stream Processing Choice of stream processing engine • TelegraphCQ – • Accepts a stream of tuples as input. • Allows a join between static tables and dynamic streams. • Can run in two modes – • PostgreSQL mode - runs as a normal DBMS system. • TelegraphCQ mode – can issue continuous queries to the stream. • Allows Windowed queries in two ways • Landmark Window – the start point of the window is fixed whereas the end point moves ahead continuously. • Sliding Window – the start point as well as the end point of the window move ahead continuously.
Stream Processing Query for Class of Concern Input Triple Stream Detected Instances Input Stream Handler Event Detector Enhanced Stream Static Data Store RangeInfo DomainInfo Classtree PropertyTree InverseInfo
Comparing TCQ approach to Jena approach • Different ontology sizes (from 118 KB to 23.1 MB) • Classes with varying numbers of subclasses (from 49 to 56,731). • Classes with different depths of subclasses (from 2 to 9). • Different data rates (from 1 triple per second to 100 triples per second).
Publish/Subscribe mechanism for webservices • Asynchronous messaging paradigm with lots of existing research and implementations • Published messages classifiedinto classes, without knowledgeof what subscribers there may be • Subscribers express interest in classes, and receive messagesthat are of interest, without knowledge of what publishersthere are
Problems in the Semantic Context World • How do you describe classes of interest, which are elements in some ontology? • A SPARQL based approach combines expressive power and efficiency • SPARQL query defines trigger event of interest and additional context properties to be reported • Results are RDF “graphlet” which satisfies that query and contains additional information • A component can add graph result to its KB for processing
Extending SPARQL • RDF (including OWL and RIF) will be the standard data and knowledge interchange formalism • SPARQL has good support for queries • We’ll develop and implement extensions supporting other speech acts as needed, including • Request • Inform • Negotiation actions • Etc.