Service-Oriented Computing: Semantics, Processes, Agents August 2004 Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005 © Singh & Huhns
Highlights of this Chapter Service-Oriented Computing: Semantics, Processes, Agents August 2004 Highlights of this Chapter Integration versus Interoperation Common Ontologies Knowledge Representations Relationships Hierarchies Modeling Fundamentals Unified Modeling Language (UML) Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Integration versus Interoperation Tight coupling Loose coupling Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Modeling and Composing Services Emphasis on the Conceptual Model or Schema Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Ontology A specification of a conceptualization or a set of knowledge terms for a particular domain, including The vocabulary: concepts and relationships The semantic interconnections: relationships among concepts and relationships Some simple rules of inference and logic Some representation languages for ontologies: Unified Modeling Language (UML) Class Diagrams Resource Description Framework Language Schema (RDFS) Web Ontology Language (OWL) Some ontology editors: Protégé, Webonto, OilEd Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Common Ontologies A shared representation is essential to successful communication and interoperation For humans: physical, biological, and social world For computational agents: common ontology (terms used in communication) Representative efforts are Cyc (and Opencyc) WordNet (Princeton); LDOCE; OED Several upper-level ontologies, including by IEEE Mostly stable concepts such as space, time, person, which can be used within various domains Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Ontologies and Articulation Axioms Service-Oriented Computing: Semantics, Processes, Agents August 2004 Ontologies and Articulation Axioms Mapping by hand, but with tool support Developing a common ontology: All at once (top down) Incrementally via consensus (bottom up) Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Dimensions of Abstraction: 1 Service-Oriented Computing: Semantics, Processes, Agents August 2004 Dimensions of Abstraction: 1 Descriptions of services that have a bearing on interoperation Constraints that we must discover, represent, and reason about Data Domain specifications Value ranges, e.g., Price >= 0 Allow or disallow null values Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Dimensions of Abstraction: 2 Service-Oriented Computing: Semantics, Processes, Agents August 2004 Dimensions of Abstraction: 2 Structure Specializations and generalizations of domain concepts Taxonomic representations and relationships such as in schemas and views, e.g., securities are stocks Semantics of data Some stock price databases consider daily averages; others closing prices Value maps, e.g., S&P A+ rating corresponds to Moody’s A rating Integrity constraints Each stock must have a unique SEC identifier Cardinality constraints Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Dimensions of Abstraction: 3 Process Procedures, i.e., how to process information, e.g., how to decide what stock to recommend Flow, e.g., where to forward requests or results Temporal constraints, e.g., report tax data every quarter Preferences for accessing and updating information Dealing with data replication (recency or accuracy) Updating views Contingency strategies, e.g., whether to ignore, redo, or compensate Contingency procedures, i.e., how to compensate transactions Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Dimensions of Abstraction: 4 Service-Oriented Computing: Semantics, Processes, Agents August 2004 Dimensions of Abstraction: 4 Policy Privileges, i.e., who has rights to what service E.g., owners can access all of their accounts, except blind trusts Authentication, i.e., how to establish identity E.g., passwords, retinal scans, or smart cards Bookkeeping E.g., logging all accesses Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Value Maps: 1 A value map relates the values expressed by different services Key properties Totality or coverage Order preservation or monotonicity Consistent inversion or triple negation Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Value Maps: 2 Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Knowledge Representation Expressive power Procedural (how) versus declarative (what) Declarative pros: enables standardization, optimization, improved productivity of developers Declarative cons: nontrivial to achieve and causes short-term loss of performance Trade-offs shifted by Web to favor declarative modeling Because of heterogeneity Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Frames versus Descriptions Frame-based approaches are intuitive Like O-O Rely on names of classes and properties to indicate meaning Description logics provide a computationally rigorous means to represent meaning; difficult for people Managing this trade-off is a major challenge for Knowledge Representation Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Exercise: Which Conceptualization is Most Expressive and Flexible? awg22SolidBlueWire(ID5) blueWire(ID5, AWG22, Solid) solidWire(ID5, AWG22, Blue) wire(ID5, AWG22, Solid, Blue) wire(ID5)^size(ID5, AWG22)^type(ID5, solid)^color(ID5, Blue) Think of a database in which you store such facts Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Mappings among Ontologies Term-to-term (one-to-one), e.g., hookupWireO1 wireO2 Many-to-one, e.g., solidWireO1(x, size, color) Ɩ strandedWireO1(x, size, color) wireO2(x, size, color, (Stranded | Solid)) Many-to-many, e.g., solidBlueWireO1(x, size) Ɩ solidRedWireO1(x, size) Ɩ strandedBlueWireO1(x, size) Ɩ strandedRedWireO1(x, size) solidWireO2(x, size, (Red | Blue)) Ɩ strandedWireO2(x, size, (Red | Blue)) Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Unified Modeling Language (UML) for Ontologies Class diagrams without members Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Comparison of Modeling Languages Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 6 Summary Shared models are essential for interoperation Based on shared ontologies or conceptualizations Good models must accommodate several important considerations Modeling requires several subtle considerations Declarative representations facilitate reasoning about and managing models Formalization enables ensuring correctness of models and using them for interoperation Chapter 6 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns