An approach for specification and verification of multi-agent systems
Multi-agent systems (MASs) have been recognized as a modern approach for
software development where each of software components is independent and
autonomous like agent. However, how to ensure the correctness of their designs before
implementing is still an open and interesting problem. The objectives of this paper are
proposing a method for specifying and verifying multi-agent systems in order to solve the
described issue. In the method, the number of agents of the considering MAS is infinite.
As a result, the state spaces of these systems are also infinite.

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8

Trang 9

Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "An approach for specification and verification of multi-agent systems", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: An approach for specification and verification of multi-agent systems
single agent.
96 TRƯỜNG ĐẠI HỌC THỦ ĐÔ H NỘI
In the paper, we propose a method for the specification and verification of multi agent
systems which number of agents are infinite. CafeOBJ is used as a tool for specifying
agent’s actions and state space of the system. Theorem prover named CafeOBJ is also used
to verify invariant properties of the system.
4. THE PROPOSED METHOD
In multi agent systems, actions of each agent are autonomous. However, in some
cases, the objectives of the system are only obtained by the interaction of agents; for
example, the sharing resource in the system requires each agent must interact with others.
In order to verify the combination of agent can obtain the system goals or not, we need to
specify behaviors system by specifying the behaviors of agents. In this section, we propose
the method to resolve the issues. Firstly, we present the method for specifying agents
through specifying actions of agents. Next, the specification of MAS by specifying the
state space of MAS will be described. In section 4.3, the invariant properties which are
popular properties of MAS are defined. Finally, we propose a method to check whether the
MAS satisfy the invariant properties or not in section 4.4.
4.1. Specification of Agents
In MAS, an agent can be either acknowledged as an independent object that has an
inference mechanism or it can be a member of a system that requires each agent must
interact with others to obtain the system goals. In general level, the agent receives
information from the environment and information from other agents through its sensor. In
order to interact with other agents and the environment, an agent selects one of its actions.
Which action should be selected depends on information about the environment and the
current state of the system.
Let Aid be a set of indexes of agents and Sys be the state space of MAS. Each agent
aihas a finite set of n actions such as a i1 , a i2 , a i3 a in . The specification of agents is
performed by specification of its actions. Each action a ij is defined as follows.
Definition 1 . (Agent’s action). An action a ij is defined as a function which maps Aid ×
Sys to Sys (i.e., a ij : Aid × Sys → Sys).
Note 1. We use a ij (i, s) where i ∈ Aid, s ∈ Sys to denote that the agent a i performs the
action a ij at the state s of system. The impact of this action can make the system go to the
next state s’ = a ij (i, s) or remain the current state s.
TẠP CHÍ KHOA HỌC −−− SỐ 18/2017 97
In order to know whenever the action can be performed or not and therefore, the
system will go to another state or not, we define function c aij as follows:
Definition 2 . (Condition of agent’s action). A condition of agent’s action c aij
is defined as a function which maps Aid × Sys to {true, false} (i.e., c aij : Aid × Sys →
{true, false).
Note 2. We use c aij (i, s) where i ∈ Aid, s ∈ Sys to denote that the agent a i performs
the action a ij at the state s of system successfully or not and therefore, the system will go to
the next state s’ or not. If c aij (i, s) = true, action a ij (i, s) is performed successfully and the
system will go to the next state s. Otherwise, if c aij (i, s) = false, agent a i does not perform
action a ij successfully, the state of system is still s.
4.2. Specification of State Space of MAS
In MAS, number of agents often change during the development process of the
system, then we do not know exactly the number of agents in MAS. Thus, in this paper, we
consider the state space that is obtained by the impaction of agents’ actions is infinite. The
state space of MAS is a combination of the initial state and the next states. Let init be the
initial state and s be the state of MAS. At each state s ∈ Sys, the system will go to the next
state s’ = a ij (i, s) if one of agents a i(i ∈ Aid) performs successfully action a ij at state s. The
state space of MAS can be specified recursively:
Sys = {init} ∪∪∪ {a ij (i,s) | i ∈∈∈ Aid, s ∈∈∈ Sys, j ∈∈∈ [1.. n]}
4.3. Specification of Invariant Properties
A MAS which is developed has to satisfy some required properties. Before a system is
deployed, required properties need to be verified. In this paper, we only focus on
specification and verification of invariant required properties. These are common
properties of systems in general and MASs in particular. An invariant property is defined
as follows:
Definition 3. (Invariant property). An invariant property inv is defined as a function
which maps Sys to {true, false} (i.e., inv: Sys → {true, false}).
Note 3. We use inv(s) = true where s ∈ Sys to denote that the system has to satisfy
with all states of system. The verification of correctness of invariant property inv is
equivalent to verify that with every state s (s ∈ Sys) then inv(s) = true.
98 TRƯỜNG ĐẠI HỌC THỦ ĐÔ H NỘI
4.4. Verification of Multi agent Systems
Currently, software testing [26] has been recognized as the most popular solution for
detecting errors/mistakes of systems. However, testing has been done after implementing
phase in the life cycle of software development then we cannot apply testing for checking
the correctness of the design phase. In order to check the correctness of the design phase,
formal verification is currently widely applied. In this verification method, model checking
and theorem proving are two methods that have been using mostly. Model checking which
formally describes behaviors of the system and a required property is given into a model
checker for verifying correctness of the design of the system. However, this model is
difficult to use for analyzing the programs which contain complex data type like trees, lists,
recursive definitions [27]. Moreover, the number of states of the model is finite, then we
cannot apply this model for verifying the system that a number of states are infinite. In
MAS, the number of agents often changes during the system development process. In
general, we can assume that the number of agents is unknown. As a result, we cannot apply
model checking to verify the correctness of MAS.
Base on theorem proving described in section 2.2 and induction mathematical idea, we
propose a verified method that applied to prove the correctness of MAS that the state space
is specified recursively and number of agents is infinite. Suppose that the system has some
invariant properties and we have to verify that the system satisfies all invariant properties.
Figure 1 presents the proven process for verification of an invariant property of the system.
In this figure, the verification of an invariant property has been done by verifying in the
base case and induction case. In the base case, we check the property inv is satisfied at
initial state or not ( inv(init) = true ? ). If true, we move to prove inv in the inductive step.
Otherwise, if inv(init) = false , we can conclude that the system does not satisfy with
property inv . In inductive case, suppose that the system satisfies with property inv at state
s, we must prove that the system also satisfies with property inv at all the next states s’.
The next state s’ is the state of the system that is obtained by an action of any agent
performs successfully its action at state s. If property inv is satisfied at the next states of s
then we can conclude that the system satisfies with property inv . Otherwise, the system
does not satisfy with property inv . In the process of verifying invariant properties of MAS,
the obtained results are neither true nor false at some next states of the system. And
therefore, we cannot know that the system satisfies or not invariant properties. In these
cases, we need providing some lemmas to prove that inv(s) returns true. These lemmas are
based on attributes of system that relate to inv . Before being applied, these lemmas need to
be verified as well as properties of the system.
TẠP CHÍ KHOA HỌC −−− SỐ 18/2017 99
Base case
false Inv is not
inv(init ) = true satisfied
true
Induction hypothesis:
inv(s) = true | s Sys
Induction case
Neither true
Inv is not
Add lemmas nor false inv(s’) = true false
satisfied
s’ =aij(i,s)
true
inv is satisfied
Fig. 1. Verification process of invariant property of MAS.
5. CONCLUSION AND FUTURE WORKS
In this paper, we proposed a method for the specification and verification of multi
agent systems which state space is infinite. With this issue, model checking cannot be
applied to resolve. In the proposed method, we used algebraic language for specifying
behaviors of agents, behaviors of the system and invariant required properties. In the
specification of behaviors of agents, actions of agents were specified. In order to know
when an agent performs its action successfully, we also defined conditional action
function. Based on these specifications, state space of MAS was specified recursively as a
combination of initial state and the next states that are obtained when any agent performs
successful its actions. Required invariant properties of the system also were defined as the
properties that the system has to satisfy at all states of the system. After specifying MAS,
we presented the method for verification of the system. The proposed method is a theorem
prover named CafeOBJ has been done by checking invariant property is satisfied at initial
state and the next states.
As future work, we propose to realize the proposed method by specifying and
verifying Airline Ticket Booking system that number of booking agents is unknown. We
100 TRƯỜNG ĐẠI HỌC THỦ ĐÔ H NỘI
also intend to combine model checking and theorem proving for specifying and verifying
multi agent systems. For example, model checking is used for modeling behaviors of
booking agents and verifying them. This means that the correctness of the specification of
the system will be verified. The invariant required properties of the system will be verified
by theorem proving. This combination will provide benefits in term of automation and can
be used on large systems. Although invariant properties are common properties of the
system in general, several properties are not invariant, then it is necessary to research how
to translate the other properties into invariant properties. For example, based on semantics
of the properties we will translate the properties into invariant properties. This will increase
the applicability of the proposed method.
REFERENCE
1. Bergenti, F., Gleizes, M. P., Zambonelli, F., et al (2004), “Methodologies and Software
Engineering for Agent Systems” . The agent – Oriented Software Engineering Handbook :
pp.10 22.
2. Bernon, C., Cossentino, M., Gleizes., M. P., Turci, P., Zambonelli, F. (2004), “ A study of
some Multi Agent Meta Models” . The Fifth International Workshop on Agent Oriented
Software Engineering : pp.62 77.
3. B. Henderson Sellers and P. Giorgini, et al. (2005), “Agent Oriented Methodologies”: pp.136 172.
4. Alex L. G. Hayzelden and Rachel A. Bourne. (2001), “Agent Technology for Communication
Infrastructures ”: pp.254 260.
5. K. Sycara (1998), “Multi agent Systems”. AI Magazine , 19(2): pp.79 92.
6. G. Weiss (1999), “Multiagent Systems: a Modern Approach to Distributed Artificial
Intelligence”.pp.259 265.
7. M. Wooldridge (2002), “An Introduction to MultiAgent Systems”. pp.13 20.
8. Rajkumar Buyya (2012), “Software Life Cycle and Models” Available from:
9. E. M. Clarke (2001), “Model Checking”. Handbook of automated reasoning : pp.1635 – 1790.
10. J. Kramer and J. Magee (2006), “Concurrency: State Models & Java Programming”: pp.6 10.
11. CafeOBJ Home Page (2012), Avaiable from:
12. Kokichi Futatsugi, A.T. Nakagawa, and T. Tamai (2000), “CAFE: An Industrial Strength
Algebraic Formal Method”: pp.1 10.
13. Razvan Diaconescu and Kokich Futatsugi (1998), “CafeOBJ Report, The language, Proof
Techniques, and Methodologies for Object Oriented Algebraic Specification”: pp.1 31.
14. Michael Wooldridge (2012), “An Introduction to Multi Agent Systems”: pp.19 38.
15. K. Futatsugi, J. Goguen, J. P. Jouannaud, and J. Meseguer (1985), “Principles of OBJ2. Proc.
12th ACM Symposium on Principles of Programming Languages” , ACM: pp.52–66.
16. K. Futatsugi, J. Goguen, J P.Jouannaud, J. Meseguer and T. Winkler (2000), “Introducing
OBJ”: pp.3 167.
TẠP CHÍ KHOA HỌC −−− SỐ 18/2017 101
17. Joseph Goguen and R˘azvan Diaconescu (1994), “Towards an algebraic semantics for the
object paradigm” , Lecture Notes in Computer Science. Springer : pp.1 34.
18. Joseph Goguen and Grant Malcolm (2012), “A hidden agenda”. Available from:
cse.ucsd.edu/users/goguen/pubs/index.html
19. Vishnu Kotrajaras (2003), “Towards an Agent Searchable Software Component Using
CafeOBJ Specification and Semantic Web”, Satellite Workshop of the FM: pp.187 210.
20. Shuusaku Iida (2012), “Behavioural specification of a counter using CafeOBJ”, Available
from
21. Michael Wooldridge, Michael Fisher, Marc Philippe Huget, and Simon Parsons (2002),
“Model checking multi agent systems with MABLE” , ACM: pp.952–959.
22. Gerard J. Holzmann (2003), “The SPIN Model Checker”: pp.33 72.
23. Rafael H. Bordini, Michael Fisher, Willem Visser, and Michael Wooldridge (2006),
“Verifying multi agent programs by model checking”. Journal of Autonomous Agents and
Multi Agent Systems: pp.239–256.
24. Louise A. Dennis, Berndt Farwer, Rafael H. Bordini, and Michael Fisher (2008), “A flexible
framework for verifying agent programs”, Autonomous Agents and Multi Agent Systems:
pp.1303–1306.
25. N. Alechina, M. Dastani, F. Khan, B. Logan and J. J. Ch. Meyer (2010), “Using Theorem
Proving to Verify Properties of Agent Programs”. Springer: pp.1 33.
26. Ron Patton (2005), “Software testing”, pp.1 37.
27. Kaufmann, M., Moore, J.S (2004), “Some Key Research Problems in Automated Theorem
Proving for Hardware and Software Verification”. Spanish Royal Academy of Science
(RAMSAC) : pp.181–196.
PHƯƠNG PHÁP Đ C T VÀ KI M CH NG CÁC H ĐA TÁC T
Tóm tt tttt: Các h th ng ña tác t (MASs) ñã ñư c công nh n là phương pháp ti p c n hi n
ñ i cho phát tri n ph n m m, trong ñó m i thành ph n ph n m m là ñ c l p và có tính t
tr như tác t . Tuy nhiên, làm th nào ñ ñ m b o tính chính xác c a thi t k trư c khi thi
hành v n còn là m t v n ñ m và thú v . M c tiêu c a bài báo này là ñ xu t m t
phương pháp ñ c t và ki m ch ng các h th ng ña tác t ñ gi i quy t v n ñ ñư c mô
t . Trong phương pháp này, s lư ng tác t c a các h MAS là vô h n và do ñó không
gian tr ng thái c a h th ng cũng vô h n.
TTT T kkhhóóaakhóa:khóa Đ c t , ki m ch ng, h ña tác t , thuy t ch ng minh, các thu c tính b t bi n,
CafeOBJ.
File đính kèm:
an_approach_for_specification_and_verification_of_multi_agen.pdf

