Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents –...

20
Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Transcript of Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents –...

Page 1: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6:Modeling and Representation

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Page 2: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 2Service-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)

Page 3: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 3Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Integration versus Interoperation

Application

Transform

Application Application Application Application

Integration EDI XML Portal + Workflow Solution

APIsolution

Standard DataFormat

XML-Based DataExchange Format

Application Application Application Application Application

Distributed application: XML +Web services + workflow

TransformationTransformation

Transform Transform Transform Transform

Transform Transform Transform Transform Transform

Tight coupling Loose coupling

Page 4: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 4Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Modeling and Composing ServicesEmphasis on the Conceptual Model or Schema

RequirementsAnalysis

ConceptualSchema

BackgroundKnowledge

Universe ofDiscourse

Universe ofDiscourse

RequirementsAnalysis

CO

MP

RE

HE

ND

ConceptualSchema

ServiceInterface

ServiceInterface

DesignService

Implementation

DesignService

Implementation

MA

P

INT

ER

OP

ER

AT

E

Page 5: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 5Service-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

Page 6: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 6Service-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

Page 7: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 7Service-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

Page 8: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 8Service-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

Page 9: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 9Service-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

Page 10: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 10Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Value Maps: 2

A++

Aaa

A.M. Best Moody’s

A+

Aa1

A

Aa2

A-

Aa3

B++

A1

B+

A2

B

A3

B-

Baa1

C++

Baa2

C+

Baa3

C

Ba1

C-

Ba2

D

Ba3

E

B1

F

B2

B3

Caa

Ca

C

A++

Aaa

A.M. Best Moody’s

A+

Aa1

A

Aa2

A-

Aa3

B++

A1

B+

A2

B

A3

B-

Baa1

C++

Baa2

C+

Baa3

C

Ba1

C-

Ba2

D

Ba3

E

B1

F

B2

B3

Caa

Ca

C

(a) A consistent value map (b) A value map that violates consistent inversion

Page 11: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 11Service-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

Page 12: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 12Service-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

Page 13: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 13Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Ontologies and Articulation Axioms

SeatingArrangement

Airplane

TransportationDevice

nonNegativeInteger

seats

nonNegativeInteger

range

numpassengers

Airliner

Flight

Airport

to from

equipment

CommercialTransportation

Device

PublicTransportation

Device

Itinerary

LocationClass ofService

classto Leg

from

uses

1*

Boeing777

JumboJet

CommonOntology

Travel Agent Service

User’s Agent

Mapping by hand, but with tool support

Developing a common ontology:• All at once (top down)• Incrementally via

consensus (bottom up)

Page 14: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 14Service-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

Page 15: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 15Service-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

Page 16: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 16Service-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)

Page 17: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 17Service-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))

Page 18: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 18Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Unified Modeling Language (UML) for Ontologies

PurchaseOrder ShippingDetail

BillingDetailItemDetail

Seller Buyer Account

Organization Person

1 *

1*

1*

1* 1 *1 *

Class diagrams without members

Page 19: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 19Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Comparison of Modeling Languages

Page 20: Chapter 6: Modeling and Representation Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 6 20Service-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