faculteit technologie management steps towards formal verification of agent-based e-business...
Post on 21-Dec-2015
221 views
TRANSCRIPT
/faculteit technologie management
Steps Towards Formal Verification of Agent-based E-Business Applications
Nick Szirbik & Gerd Wagner
Eindhoven University of Technology
/faculteit technologie management
Problem: Coherence in Business Processes
• Enforcing linguistic coherence: avoiding miscommunication by speaking the same language and sharing a common understanding of its terms.
/faculteit technologie management
Problem: Coherence in Business Processes
• Enforcing linguistic coherence: avoiding miscommunication by speaking the same language and sharing a common understanding of its terms.
• Enforcing normative coherence: commitments, claims, and norms.
/faculteit technologie management
Problem: Coherence in Business Processes
• Enforcing linguistic coherence: avoiding miscommunication by speaking the same language and sharing a common understanding of its terms.
• Enforcing normative coherence: commitments, claims, and norms.
• Enforcing process integrity by – verifying the correctness of interaction protocols (based on
safety and progress properties) at design time, and by– checking interaction constraints and handling exceptions at
runtime.
/faculteit technologie management
What is a Business Process?
• A business process is a social interaction process among agents/actors.
/faculteit technologie management
What is a Business Process?
• A business process is a social interaction process among agents/actors.
• An interaction process is a temporally ordered set of events and actions, perceived and performed by agents, and following a set of rules, or protocol, that is governed by norms, and that specifies the type of the interaction process.
/faculteit technologie management
What is a Business Process?
• A business process is a social interaction process among agents/actors.
• An interaction process is a temporally ordered set of events and actions, perceived and performed by agents, and following a set of rules that specifies the type of the interaction process.
• A social interaction process emerges from the behavior of the participating agents.
/faculteit technologie management
What is a Business Process?
• A business process is a social interaction process among agents/actors.
• An interaction process is a temporally ordered set of events and actions following a set of rules that specifies the type of the interaction process.
• A social interaction process emerges from the behavior of the participating agents.
• The behavior of an agent may be specified by means of reaction rules.
/faculteit technologie management
What is an agent?
• Biological and artificial systems that interact with their (natural or virtual) environment on the basis of their mental state, and exhibit some degree of autonomy, are called "agents".
/faculteit technologie management
What is an agent?
• Biological and artificial systems that interact with their (natural or virtual) environment on the basis of their mental state, and exhibit some degree of autonomy, are called "agents".
• The most basic mental components of an agent are its perceptions of events (in the form of incoming messages) and its beliefs (or knowledge).
/faculteit technologie management
What is an agent?• Biological and artificial systems that interact with their
(natural or virtual) environment on the basis of their mental state, and exhibit some degree of autonomy, are called "agents".
• The most basic mental components of an agent are its perceptions of events (in the form of incoming messages) and its beliefs (or knowledge).
• Further important components are – memory about past events and actions, – commitments towards other agents to perform certain actions, – claims against other agents, – goals and intentions.
/faculteit technologie management
Agent-Object-Relationship (AOR) Modeling
• an agent-oriented extension of Entity-Relationship diagrams, or UML-style class diagrams.
/faculteit technologie management
Agent-Object-Relationship (AOR) Modeling
• an agent-oriented extension of Entity-Relationship diagrams, or UML-style class diagrams.
• makes an ontological distinction between active and passive entities, that is, between agents and ordinary objects.
/faculteit technologie management
Agent-Object-Relationship (AOR) Modeling
• an agent-oriented extension of Entity-Relationship diagrams, or UML-style class diagrams.
• makes an ontological distinction between active and passive entities, that is, between agents and ordinary objects.
• an entity is either an agent, an action event, a commitment/claim, or an ordinary object.
/faculteit technologie management
An AOR Interaction Pattern Diagram
DepLibrary CentralLibrary
confBookReq(...)
requestBook(?ISBN)
deliverBook(...)Book
Loan
R2
isAvailable
deliverBook(...)
BookCopy
Book
Loan
isAvailable
BookCopy
FacultyMember requestBook(
?ISBN) R1
R3confBookReq(...)
/faculteit technologie management
Reaction Rules
ON Event RECEIVE requestBook(?ISBN) FROM ?DepLib
IF Condition BookCopy.isAvailable(?ISBN, ?InvNo)
THEN Action SEND confBookReq(?ISBN)
Effect CREATE COMMITMENT TOWARDS ?DepLib TO deliverBook(?ISBN) BY tomorrow();
CREATE BELIEF Loan(?DepLib, ?ISBN, ?InvNo, today())
/faculteit technologie management
A reaction rule as a Petri net transition
Rule
InMsg
Cond
OutMsg
Effect
/faculteit technologie management
Our Approach to Formal Analysis:
• Start with an expressive AOR model.
/faculteit technologie management
Our Approach to Formal Analysis:
• Start with an expressive AOR model.
• Reduce the rule-based behavior specifications to a classical Petri net.
/faculteit technologie management
Our Approach to Formal Analysis:
• Start with an expressive AOR model.
• Reduce the rule-based behavior specifications to a classical Petri net.
• Apply classical analysis techniques (e.g. with Woflan) to catch errors.
/faculteit technologie management
Restrictions for obtaining classical Petri nets:
• the event term consists of an atom without content parameters
• the state condition consists of zero or more (possibly negated) propositional variables
• the action term consists of an atom without content parameters
• the effect expression consists of zero or more (possibly negated) propositional variables
/faculteit technologie management
Mapping R1,R2,R3 into Petri Net Transitions
CentralLibraryDepLibrary
R1
requestBook
isAvailable
requestBook
isAvailable
R2
comm/claim todeliverBook
Loan
deliverBook
confBookReq
R3
confBookReq