Service-Oriented Architecture Ontology Version 2.0 – Event

 

Introduction

Events and the elements that generate or respond to them are important aspects of any event emitting system. SOA systems are in fact often event emitting, hence event is defined as a concept in the SOA ontology.

This chapter describes the following classes of the ontology:

  • Event

In addition, it defines the following properties:

  • generates and generatedBy
  • respondsTo and respondedToBy

The Event Class

<owl:Class rdf:about="#Event">   <owl:disjointWith>     <owl:Class rdf:about="#Policy"/>   </owl:disjointWith>   <owl:disjointWith>     <owl:Class rdf:about="#ServiceContract"/>   </owl:disjointWith>   <owl:disjointWith>     <owl:Class rdf:about="#ServiceInterface"/>   </owl:disjointWith> </owl:Class>

An event is something that happens, to which an element may choose to respond. Events can be responded to by any element. Similarly, events may be generated (emitted) by any element. Knowing the events generated or responded to by an element makes it easier and more transparent to interact with that element. Note that some events may occur whether generated or responded to by an element or not. The concept of event is captured by the Event OWL class, which is illustrated below.

The Event Class

Event as a concept is generic and has relevance to the domain of SOA as well as many other domains. For the purposes of this ontology, event is used in its generic sense.

From a design perspective events may have more granular parts or may be expressed and made operational through specific syntax or semantics. We have chosen to stay at the concept level and not include such design aspects in the ontology.

The generates and generatedBy Properties

<owl:ObjectProperty rdf:about="#generates">   <rdfs:domain rdf:resource="#Element"/>   <rdfs:range rdf:resource="#Event"/> </owl:ObjectProperty>   <owl:ObjectProperty rdf:about="#generatedBy">   <owl:inverseOf>     <owl:ObjectProperty rdf:about="#generates"/>   </owl:inverseOf> </owl:ObjectProperty>

Events can, but need not necessarily, be generated by elements. The generates property, and its inverse generatedBy, capture the abstract notion that an element generates an event.

Note that the same event may be generated by many different elements. Similarly, the same element may generate many different events.

The respondsTo and respondedToBy Properties

<owl:ObjectProperty rdf:about="#respondsTo">   <rdfs:domain rdf:resource="#Element"/>   <rdfs:range rdf:resource="#Event"/> </owl:ObjectProperty>   <owl:ObjectProperty rdf:about="#respondedToBy">   <owl:inverseOf>     <owl:ObjectProperty rdf:about="#respondsTo"/>   </owl:inverseOf> </owl:ObjectProperty>

Events can, but need not necessarily, be responded to by elements. The respondsTo property, and its inverse respondedToBy, capture the abstract notion that an element responds to an event.

Note that the same event may be responded to by many different elements. Similarly, the same element may respond to many different events.