Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 62Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights of this Chapter Integration versus Interoperation Common Ontologies Knowledge Representations Relationships Hierarchies Modeling Fundamentals Unified Modeling Language (UML)
Chapter 63Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Integration versus Interoperation Tight couplingLoose coupling
Chapter 64Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Modeling and Composing Services Emphasis on the Conceptual Model or Schema
Chapter 65Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael 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 66Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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 67Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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 68Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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 69Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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 610Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael 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 611Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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 612Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael 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 613Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Value Maps: 2
Chapter 614Service-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 615Service-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 616Service-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)
Chapter 617Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Mappings among Ontologies Term-to-term (one-to-one), e.g., hookupWire O1 wire O2 Many-to-one, e.g., solidWire O1 (x, size, color) Ɩ strandedWire O1 (x, size, color) wire O2 (x, size, color, (Stranded | Solid)) Many-to-many, e.g., solidBlueWire O1 (x, size) Ɩ solidRedWire O1 (x, size) Ɩ strandedBlueWire O1 (x, size) Ɩ strandedRedWire O1 (x, size) solidWire O2 (x, size, (Red | Blue)) Ɩ strandedWire O2 (x, size, (Red | Blue))
Chapter 618Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Unified Modeling Language (UML) for Ontologies Class diagrams without members
Chapter 619Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Comparison of Modeling Languages
Chapter 620Service-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