Title: Presentation for Master Degree
1Presentation for Master Degree
- Formal Specification of Agent Interaction
Protocols andConstraint Satisfaction Problems
BO CHEN Supervisor Dr Samira Sadaoui
2Organization
- Background of Lotos
- CADP Toolbox
- Lotos for Agent Interaction Protocols (AIPs)
- Lotos for Constraint Satisfaction Problems (CSPs)
- Conclusion
- Perspectives
31 - Background of LOTOS
Lotos Language Of Temporal Ordering Specification
Describe the OSI services, protocols and
interfaces
Apply to sequential, concurrent, and distributed
systems
1 - Background of Lotos
4Lotos Language
Temporal constraints of system actions or events,
data exchanging
Lotos
Description of process behaviors and
synchronization
Process algebra
Description of data structures and value
expressions
Data types
1 - Background of Lotos
5Why Lotos?
Operational semantics
Expressiveness
Expressing many properties
Simulating behaviors
High abstraction
Strong theory
Avoiding undesirable details
Verifying properties
Great modularity
Many tools
Improving readability and facilitating maintenance
Supporting automation and increasing productivity
1 - Background of Lotos
6Example Vending-Machine Protocol
Insert_Money
Select_Drink
Activate_Selector
SELECTOR
MONEYBOX
Cancel
Select_Ok
Prepare_Drink
Serve_Ok
DISTRIBUTION
Internal gate
Return_change
Serve_Drink
External gate
1 - Background of Lotos
72 - CADP Toolbox
Lotos specification
Compilation
Labeled transition system
Simulation (examine the behavior of a system)
Model-checking verification (automatically prove
the correctness of a system)
Test generation (generate test cases for
implementation)
2 CADP Toolbox
8Validation
Specification conform to requirements?
Interactive simulation
Trace and monitor execution Detect errors
Goal-oriented simulation
Generate scenarios satisfying user-defined goals
Implementation conform to requirements?
Test generation
Derive test suites from user-defined test
purposes
2 CADP Toolbox
9Model-Checking Verification
Lotos specification
System correctness properties
Labeled transition system
Temporal logic formulas (Mu-calculus)
Model Checker
Yes (Properties being satisfied)
No (Conflicting examples)
2 CADP Toolbox
103 Lotos for Agent Interaction Protocols (AIPs)
- Why AIPs? MAS may enable next generation
computing
AIP Constraints and rules for agent interaction
Message types
Message content
Message order
3 Lotos for AIPs
11AIP Features
Broadcast
Synchronous message
Asynchronous message
Lotos Constructs
Triggering actions
Conditions
Repetition
3 Lotos for AIPs
12Generic Framework for Building AIPs
Specialize
New requirements
AIP specification
Generic architecture
Development methodology
Verify Validate
Correctness properties
Correct AIP specification
3 Lotos for AIPs
13Architecture of AIP Specifications
Agent process
Agent process
Agent process
SEND
RECV
SEND
RECV
SEND
RECV
Message buffer
Message buffer
Message buffer
Message transportation service
Role Agent
processMessage Data
types Communication MTS process
3 Lotos for AIPs
14Asynchronous Communication
A message
Message buffer
Agent
Message
Sender
Message
Receivers
Message type
Message content
Message
SEND
BUFFIN
3 Lotos for AIPs
15AIP Development
Stage 1 message types
Stage 2 message content
- Basic rules
- Roles
- Reactive and proactive messages
- Conditions
- More meaningful
- Rules
-
- Conditions
- Message
Validation Verification
3 Lotos for AIPs
16Specialization into an Online Auction
- Popularization of Internet auctions understand
their dynamic behaviors
AIP methodology
Generic specification
Auctionspecification
Administrator
Auctioneer
Seller
Buyer
Buyer
M
M
M
M
M
M
M
M
M
M
Message transportation service
3 Lotos for AIPs
17Validation and Verification
- Scenario generation
- auction failure, auction success, etc.
- Safety properties
- deadlock and livelock
- a buyer cannot cancel subscription if he/she is
the current winner - Liveness properties
- there exists an execution sequence that leads to
an auction success - Fairness justice properties
- give every buyer the equal opportunity to win an
item
3 Lotos for AIPs
184 - Lotos for CSPs
Use Lotos to describe CSPs
Use constraint propagation algorithms to solve
Lotos-based CSP specifications
4 Lotos for CSPs
19CSP Example Map Coloring Problem
Binary constraint satisfaction problem
Variables C1, C2 . C6 Domain Blue, Green,
Yellow Constraints in intention C1?C2, C3 ? C5
and etc.
Constraint in extension (blue, green), (blue,
yellow), (green, blue), (green, yellow),
(yellow, blue), (yellow, green)
4 Lotos for CSPs
20Template for Specifying CSPs
Names of variables or Number of variables
C1, C2, , C6
6
Domain size
dSize(X) 3
rel(C1, C2) true rel(C6, C4) true
Relations
Constraint
Sat(X, M, Y, N) M ne N (not equal)
X, Y Variable, M, N Value ID
4 Lotos for CSPs
21Temporal CSPs
- The model TemProTempPro Sadaoui
Before
Meet
tRel Variable, Variable -gt Disjunction_of_Allen_P
rimitives tRel(event1, event2) Before Meet
(Disjunction)
sp BeginTime, EndTime, Duration, Step -gtSOPO
dSopo Variable -gt SOPO dSopo(event1) sp(1, 26,
3, 1)
4 Lotos for CSPs
22Extension of Template
Template
Adapter
Adapter
Extension for temporal CSPs
Extension for general CSPs
(Facilitate describing temporal problem)
Adapter is a set of equations
4 Lotos for CSPs
23Solving Lotos-based CSP
Temporal description
Lotos Specifications
Problems
CSP description
Efficient CSP data structures
CSP Techniques
Model Checking
CSP algorithms
Solutions
4 Lotos for CSPs
245 - Conclusion
- Lotos is a good candidate for specifying AIPs
- concurrency (many roles may work in parallel)
- composition (reuse)
- verification (open environment)
- Lotos can also be used for describing CSPs
- equations for complex relations and constraints
- External implementation of sorts and operations
gives us flexibility to control the balance of
abstraction and efficiency
5 Conclusion
256 - Perspectives for AIPs
Better structure
ELotos
Quantitative time
More natural exception handling
Efficient data type
Improve model-checking speed for AIPs
Specific techniques
Facilitate specification construction
Assistant tools
6 Perspectives
26Perspectives for CSPs
User interface (Graphic elements)
Temporal CSPs
Define the graphic elements using Lotos or Elotos
New CSP algorithms
More powerful library
New extensions
6 Perspectives
27Questions?