Use of Petri Nets for Modeling an Agent-Based Interactive System: visible to the user.. Use of Petri Nets for Modeling an Agent-Based Interactive System: Fig.. Modelling of an interactiv
Trang 1Use of Petri Nets for Modeling an Agent-Based Interactive System:
visible to the user)
E= {e1,1; e1,2; e1,3, e2,3,; e2,1; e2,2; e3,1; e3,2}: set of events coming (1) from the agents of the
interface with the application module (via the dialogue controller agents which send e1,1 and
e1,2 events to the presentation module), such as alerts, dysfunctional events, incidents, and
so on (2) from user actions such as: commands or confirmations (e1,3; e2,3), (3) from non visible actions which become events for other agents (e2,1; e2,2; e3,1; e3,2)
AC= { acv1,1; acv2,1; acv1,2; acv2,2; acN1,1; acN1,2; acN1,3; acN2,3; acN3,3}: set of agent actions; these actions can be visible (acv1,1; acv2,1; acv1,2; acv2,2; acv1,3), such as the display of information on a screen, or non visible (acN1,1; acN1,2; acN1,3; acN2,3;acN3,3), such as a request for service to other agents
R= {r1,1; r2,1; r1,2; r2,2;r1,3}: set of resources (such as keyboard, mouse, windows…) necessary for the visible actions of the agents, in order to carry out their actions (r1,1 is related to acv1,1,
r2,1 is related to acv2,1 , and so on)
C= {cv1,1; cv2,1; cv1,2; cv2,2; cN1,1; cN1,2; cN1,3; cN2,3; cN3,3}: set of conditions related to the execution of the visible or non visible actions (cv1,1 is related to acv1,1, cv2,1 is related to acv2,1, and so on)
Fig 6 Reformulated example related to the disturbance (presentation module)
For a better representation of the example visible in figure 6, one associates an agent identifier i,j with all the information present in the example; i is the event, action or necessary resource number; j is the agent number (from 1 to N) The possible couples constituted with visible (acvi,j) and non visible (acNi,j) actions are obtained following the appearance of an ei ,j event, under the conditions that ci,j is true and the ri,j resource is available The modeling of services of each of the three agents forming the presentation module can be expressed as follows, with r0,j: resource not necessary for the execution of the non visible action (acN0,j) by an agent j, and with acv0,j and aN0,j: visible and non visible actions which are not performed by the agent j
Trang 2Card (E1) = 3, Card (Acv1) = 2, Card (AcN1) = 1
Nb_Actions = Card (Acv1) + Card (AcN1) = 2+1=3
Nb_Couples = Nb_Actions – Nb_Services = 3 – 3 = 0
Card (E2) = 3, Card (Acv2) = 2, Card (AcN2) = 1
Nb_Actions = Card (Acv2) + Card (AcN2) = 2+1=3
Nb_Couples = Nb_Actions – Nb_Services = 3 – 3 = 0
Card (E3) = 2, Card (Acv3) = 1, Card (AcN3) = 3
Nb_Actions = Card (Acv3) + Card (AcN3) = 1+3=4
Nb_Couples = Nb_Actions – Nb_Services = 4 – 4 = 0
service In figure 7, we present a model of interaction between the agents of the presentation
module of the human-machine interface
Figure 8 shows an example of release of the service s7,1 “Change_Delay_Threshold_Vehicle”
of the agent called Traffic_State belonging to the presentation module of the human-machine
interface Following the appearance of the event e7,1 “Delay_Threshold_Vehicle” the
interface agent Vehicle checks the corresponding condition c7,1 “Appearance of the event and delay > 5” If the condition is verified, the service is started; the visible action acv7,1 is activated The activation of this action exploits the resource r7,1“Dialog_Box” and reveals an alarm message bound for the human operator
Trang 3Use of Petri Nets for Modeling an Agent-Based Interactive System:
Fig 7 Modeling of the example related to the disturbance (Rehim, 2005)
We notice, with the example presented above (figure 8), that there is no non visible action (acN0,1) of agent 1 in transition T1, i.e that there is no interaction with other internal agents; but on the other hand, thanks to the visible action acv7,1, agent 1 acts on an external agent which is the window n°2 belonging to the presentation module of the interactive system
Trang 4,QGLFDWHG
E\WKH($6
e 7,1 e 7,1
The PN used represent a promising tool for the modeling of such interactive systems Their originality and their power reside in (1) their capacity to visualize the behavior of each agent (external or internal actions), as well as (2) their capacity of abstraction which makes it possible to keep the same information without any visual complexity, and (3) their formal aspect also enables them to be potentially efficient at the time of the evaluation and validation phase (which is not dealt with in this article)
There are several perspectives with this work We are currently studying and developing an assistance tool for the evaluation of interactive systems This tool makes
it possible to connect to each interface agent, evaluation agents intended to analyze their behavior at the time of situations of use The PN must make it possible to
Trang 5Use of Petri Nets for Modeling an Agent-Based Interactive System:
reconstitute the human activities performed (Trabelsi, 2006; Tran et al., 2007) A second perspective relates to generalization with the agents of the two other modules: (1) interface with the application, (2) dialogue controller Another perspective relates to the evaluation of the approach suggested in various application domains (for instance design and evaluation web sites)
5 Acknowledgements
The authors thank the FEDER, the GRRT and the Nord-Pas de Calais region for their financial support (SART, EUCUE and MIAOU projects) They also thank André Péninou, Hacène Maoudji, Aïssam Rehim and Abdelwaheb Trabelsi for their contribution to various modeling aspects described in this chapter
6 References
Abed, M (1990) Contribution à la modélisation de la tâche par des outils de spécification
exploitant les mouvements oculaires : application à la conception et à l'évaluation des interfaces homme-machine Thèse de doctorat, Université de Valenciennes et
du Hainaut-Cambrésis, septembre
Abed, M, Bernard, J.M, Angué, J.C (1992) Method for comparing task model and activity
model Proceedings 11th European annual conference Human Decision Making and Manual Control, Valenciennes, France
Tabary, D., Abed, M (1998) TOOD: an object-oriented methodology for describing user task
in interface design and specification - An application to air traffic control La Lettre
de l'Intelligence Artificielle, 134, pp 107-114
Abed, M (2001) Méthodes et modèles formels et semi-formels pour la conception et
l’évaluation des systèmes homme-machine Habilitation à diriger des recherches, Université de Valenciennes et du Hainaut-Cambrésis, 02 mai 2001
Benạssa, M.L., Ezzedine, H., Angué, J.C (1993) An interface Specification Method for
industrial processes XII European annual conference on human decision making and manual control, Kassel, Germany, juin
Bernonville, S., Leroy, N., Kolski, C., Beuscart-Zéphir, M (2006) Explicit combination
between Petri Nets and ergonomic criteria: basic principles of the ErgoPNets method Proceedings of the 25th Edition of EAM'06, European Annual Conference
on Human Decision-Making and Manual Control (September 27-29, 2006, Valenciennes, France), PUV
Coutaz, J (1987) PAC, an Object-Oriented Model for Dialog Design In: Bullinger,
Hans-Jorg, Shackel, Brian (ed.): INTERACT 87 - 2nd IFIP International Conference on Human-Computer Interaction September 1-4, Stuttgart, Germany p.431-436 David, R & Alla, H (2004) Discrete, continuous, and hybrid Petri Nets 1er ed Springer
Verlag, 2004, XXII, 524 p Hardcover ISBN 3-540-22480-7
Ezzedine, H., Kolski, C (2005) Modelling of cognitive activity during normal and abnormal
situations using Object Petri Nets, application to a supervision system Cognitive, Technology and Work, 7, pp 167-181
Ezzedine, H., Trabelsi, A., Kolski, C (2006) Modelling of agent oriented interaction using
Petri Nets, application to HMI design for transport system supervision P Borne, E
Trang 6Craye, N Dangourmeau (Ed.), CESA2003 IMACS Multiconference Computational Engineering in Systems Applications (Lille, France, July 9-11, 2003), Ecole Centrale
Lille, Villeneuve D'Ascq, pp 1-8, janvier, ISBN 2-9512309-5-8
Ezzedine, H., Trabelsi, A., Kolski, C (2006) Modelling of an interactive system with an
agent-based architecture using Petri nets, application of the method to the
supervision of a transport system Mathematics and Computers in Simulation, 70, pp
358-376
Ezzedine, H., Trabelsi, A (2005) From the design to the evaluation of an agent-based
human-machine interface Application to supervision for urban transport system
P Borne, M Benrejeb, N Dangoumeau, L Lorimier (Ed.), IMACS World Congress
"Scientific Computation, Applied Mathematics and Simulation" (July 11-15, Paris), ECL,
pp 717-725, juillet, ISBN 2-915913-02-1
Ezzedine, H., Maoudji, H & Péninou A (2001) Towards agent oriented specification of
Human-Machine Interface : Application to the transport systems 8th IFAC Symposium on Analysis, Design, and Evaluation of Human-Machine Systems (IFAC-HMS 2001), pp 421-426, Kassel, Germany, 18-20 September
Foley, J.D & Van Dam, A (1982) Fundamentals of Interactive Computer Graphics,
Addison-Wesley (IBM Systems Programming Series), Reading, MA
Goldberg, A (1980) Smalltalk-80, the interactive programming environnement
Addision-Wesley
Gomes, L., Barros, J.P., Coasta, A (2001) Man-machine interface for real-time telecontrol
based on Petri nets specification In T Bahill, F.Y Wand (Eds.), IEEE SMC 2001 Conference Proceedings (e-Systems, e-Man and e-Cybernetics), Arizona, USA: IEEE Press, pp 1565-1570
Gracanin, D., Srinivasan, P & Valavanis, K.P (1994) Parametized Petri nets and their
applications to planning and coordination in intelligent systems IEEE Transactions
on Systems, Man and Cybernetics, Vol 24, pp 1483-1497
Guittet, L (1995) Contribution à l'Ingénierie des IHM - Théorie des Interacteurs et
Architecture H4 dans le système NODAOO, Thèse de l’Université de Poitiers, 1995 Jensen, K (1980) Coloured Petri Nets and Invarient Method Daimi PB 104, Aarhus
University
Jensen, K (1996) Coloured Petri Nets, Basic Concepts, Analysis Methods and Practical Use
2nd edition, vol n°2, Springer-Verlag
Kontogiannis, T (2003) A Petri Net-based approach for ergonomic task analysis and
modeling with emphasis on adaptation to system changes Safety Science, vol 41 n°10, pp 803-835
Kaddouri, S.A., Ezzedine, H., Angué, J.C (1995) Task modelling using object Petri Nets In
Anzạ Y., Ogawa K., Mori H (Eds.), Symbiosis of Human and Artefact, HCI International'95: 6th International, Tokyo, Japan (pp 988-994) Amsterdam: Elsevier
Mahfoudhi, A., Abed, M., Angué, J.C (1995) An Object Oriented Methodology for
Man-Machine systems analysis and design Anzai Y., Ogawa K., Mori H (Ed.), Symbiosis of Human and Artefact, HCI International'95: 6th International, Tokyo, Japan, Elsevier, Amsterdam, pp 965-970, janvier
Maoudji, H., Ezzedine, H & Péninou A (2001) Agents oriented specification of interactive
systems In M.J Smith, G Salvendy, D Harris, R Koubek (Ed.), Usability
Trang 7Use of Petri Nets for Modeling an Agent-Based Interactive System:
evaluation and Interface design: Cognitive Engineering, Intelligent Agents and Virtual Reality, volume 1 (pp 71-75) London : Lawrence Erlbaum Associate Publishers
Maoudji, H., Ezzedine, H., Péninou, A & Kolski, C (2000) Amélioration de la qualité des
correspondances dans les réseaux de transports urbains Rapport d'étude à parcours du projet coopératif GRRT, Juillet
mi-Moldt, M., Wienberg, F (1997) Multi-Agent-Systems based on Coloured Petri Nets In
Proceedings of the 18th International Conference on Application and Theory of Petri Nets, Toulouse
Moray, N (1997) Human factors in process control In Handbook of human factors and
ergonomics, G Salvendy (Ed.), John Wiley & Sons, INC., pp 1944-1971
Moussa, F., Riahi, M., Kolski, C., Moalla, M (2002) Interpreted Petri Nets used for
Human-Machine Dialogue Specification in Process Control : principles and application to the Ergo-Conceptor+ tool Integrated Computer-Aided Engineering, 9, pp 87-98 Moussa, F., Kolski, C., Riahi, M (2006) Analyse des dysfonctionnements des systèmes
complexes en amont de la conception des IHM : apports, difficultés, et étude de cas Revue d'Interaction Homme Machine (RIHM), 7, pp 79-111
Navarre, D., Palanque, P., Bastide, R (2003) A Tool-Supported Design Framework for
Safety Critical Interactive Systems, Interacting with computers, 15 (3), pp 309-328 Nigay, L., Coutaz, J (1997) Software architecture modelling: Bridging Two Worlds using
Ergonomics and Software Properties In Formal Methods in Human-Computer Interaction, P Palanque & F Paterno (Eds.), Springer-Verlag: London Publ., ISBN 3-540-76158-6, 1997, pp 49-73
Ouadou, K (1994) AMF : Un modèle d’architecture multi-agents multi-facettes pour
Interfaces Homme-Machine et les outils associés Thèse de l’Ecole Centrale de Lyon 1994
Palanque, P & Bastide, R (1995) Design, specification and of interactive systems Springer
Verlag 1995, ISBN 3-211-82739-0 370 pages
Palanque, P., Bastide, R (1990) Petri nets with objects for specification, design and
validation of user-driven interfaces In proceedings of the third IFIP conference on Human-Computer Interaction, Interact'90, Cambridge,UK, 27-31 August
Palanque, P (1992) Modélisation par objets coopératifs interactifs d'interfaces
homme-machines dirigées par l'utilisateur Ph.D Thesis, University of Toulouse 1, France Palanque, P., Bastide, R (1997) Synergistic modelling of tasks, system and users using
formal specification techniques Interacting With Computers, 9 (12), pp 129-153 Palanque, P., Bastide, R., Sengès, V (1995) Task model–system model: towards an unifying
formalism In proceedings of the HCI international (EHCI'95), Chapman & Hall,
pp 189-212
Palanque, P., Farenc, C., Bastide, R (1999) Embedding Ergonomic Rules As Generic
Requirements in a formal Development Process of Interactive Software In Proceeding Interact’99, Sasse A., Jonhson C (Eds), IOS Press, pp 408-416
Pfaff, (1985) User interface management system Springer-Verlag
Rehim, A (2005) Etude des outils exploitant des réseaux de Petri agent pour l’évaluation
des systèmes interactifs Mémoire de Master recherche
Sibertin-Blanc, C (1985) High-level Petri nets with Data Structure Proceedings 6th
EWPNA, June, Espoo, Finland, 1985
Trang 8Stanton, N (1994) Human factors in alarm design Taylor & Francis Ltd, London
Tabary, D., Abed, M (2002) A software Environment Task Object Oriented Design
(ETOOD) Journal of Systems and Software, 60, pp.129-141
Tarpin-Bernard, F & David, B (1999) AMF : un modèle d'architecture agents
multi-facettes Techniques et Sciences Informatiques Hermès Paris Vol 18 No 5 pp
555-586 Mai Thèse de doctorat, Université Joseph Fourier Grenoble 1, Mars
Trabelsi, A (2006) Contribution à l’évaluation des systèmes interactifs orientés agents
Application à un poste de supervision de transport urbain Thèse de doctorat, Université de Valenciennes et du Hainaut-Cambrésis, 25 septembre
Trabelsi, A., Ezzedine, H & Kolski, C (2006) Un mouchard électronique orienté agent pour
l’évaluation de systèmes interactifs de supervision CIFA2006, Bordeaux, France, 30-31 Mai et 1 juin Université de Valenciennes et du Hainaut-Cambrésis, juillet Tran, C.D., Ezzedine, H & Kolski, C (2007) Towards a generic and configurable model of
an electronic informer to assist the evaluation of agent-based interactive systems ICEIS’2007, 9th International Conference on Entreprise Information Systems 12-16 June,
Funchal, Madeira- Portugal
Williem, R., Biljon, V (1988) Extending Petri Nets for specifying Man-Machine dialogues
International Journal of Man-Machine Studies, vol 28, pp 437-45
Winckler, M., Barboni, E., Palanque, P., Farenc., C (2006) What Kind of Verification of
Formal Navigation Modelling for Reliable and Usable Web Applications? 1st Int Workshop on Automated Specification and Verification of Web Sites, Valencia, Spain Electronic Notes Theoretical Computer Science, 157(2), pp 207-211
Trang 9On the Use of Queueing Petri Nets for Modeling and Performance Analysis of
Distributed Systems
Samuel Kounev and Alejandro Buchmann
Technische Universität Darmstadt
Germany
1 Introduction
Predictive performance models are used increasingly throughout the phases of the software engineering lifecycle of distributed systems However, as systems grow in size and complexity, building models that accurately capture the different aspects of their behavior becomes a more and more challenging task The challenge stems from the limited model expressiveness on the one hand and the limited scalability of model analysis techniques on the other This chapter presents a novel methodology for modeling and performance analysis of distributed systems [Kounev, 2006] The methodology is based on queueing Petri nets (QPNs) which provide greater modeling power and expressiveness than conventional modeling paradigms such as queueing networks and generalized stochastic Petri nets Using QPNs, one can integrate both hardware and software aspects of system behavior into the same model In addition to hardware contention and scheduling strategies, QPNs make it easy to model software contention, simultaneous resource possession, synchronization, blocking and asynchronous processing These aspects have significant impact on the performance of modern distributed systems
To avoid the problem of state space explosion, our methodology uses discrete event simulation for model analysis We propose an efficient and reliable method for simulation
of QPNs [Kounev & Buchmann, 2006] As a validation of our approach, we present a case study of a real-world distributed system, showing how our methodology is applied in a step-by-step fashion to evaluate the system performance and scalability The system studied is a deployment of the industry-standard SPECjAppServer2004 benchmark A detailed model of the system and its workload is built and used to predict the system performance for several deployment configurations and workload scenarios of interest Taking advantage of the expressive power of QPNs, our approach makes it possible to model systems at a higher degree of accuracy providing a number of important benefits The rest of this chapter is organized as follows In Section 2, we give a brief introduction
to QPNs Following this, in Section 3, we present a method for quantitative analysis of QPNs based on discrete event simulation The latter enables us to analyze QPN models of realistic size and complexity In Section 4, we present our performance modeling methodology for distributed systems The methodology is introduced in a step-by-step
Trang 10fashion by considering a case study in which QPNs are used to model a real-life system and analyze its performance and scalability After the case study, some concluding remarks are presented and the chapter is wrapped up in Section 5
2 Queueing Petri nets
Queueing Petri Nets (QPNs) can be seen as a combination of a number of different extensions to conventional Petri Nets (PNs) along several different dimensions In this section, we include some basic definitions and briefly discuss how QPNs have evolved A deeper and more detailed treatment of the subject can be found in [Bause, 1993]
2.1 Evolution of queueing Petri nets
An ordinary Petri net (also called place-transition net) is a bipartite directed graph
composed of places, drawn as circles, and transitions, drawn as bars A formal definition
is given below [Bause and Kritzinger, 2002]:
Definition 1 An ordinary Petri Net (PN) is a 5-tuple where :
1 is a finite and non-empty set of places,
2 is a finite and non-empty set of transitions,
3 are called backward and forward incidence functions, respectively,
4 is called initial marking.
The incidence functions and specify the interconnections between places and transitions If , an arc leads from place p to transition t and place p is called an input place of the transition If , an arc leads from transition t to place p and place p is called an output place of the transition The incidence functions assign natural numbers to arcs, which we call weights of the arcs When each input place of transition t contains at least as many tokens as the weight of the arc connecting it to t, the transition is said to be enabled An enabled transition may fire, in which case it destroys tokens from its
input places and creates tokens in its output places The amounts of tokens destroyed and created are specified by the arc weights The initial arrangement of tokens in the net
(called marking) is given by the function , which specifies how many tokens are contained in each place
Different extensions to ordinary PNs have been developed in order to increase the
modeling convenience and/or the modeling power Colored PNs (CPNs) introduced by K
Jensen are one such extension [Jensen, 1981] The latter allow a type (color) to be attached
to a token A color function C assigns a set of colors to each place, specifying the types of tokens that can reside in the place In addition to introducing token colors, CPNs also
allow transitions to fire in different modes (transition colors) The color function C assigns
a set of modes to each transition and incidence functions are defined on a per mode basis
A formal definition of a CPN follows [Bause & Kritzinger, 2002]:
1 is a finite and non-empty set of places,
2 is a finite and non-empty set of transitions,
3 C is a color function that assigns a finite and non-empty set of colors to each place and a finite and non-empty set of modes to each transition
4 and are the backward and forward incidence functions defined on , such that
Trang 11On the Use of Queueing Petri Nets for Modeling and
1
5 is a function defined on P describing the initial marking such that
Other extensions to ordinary PNs allow temporal (timing) aspects to be integrated into
the net description [Bause & Kritzinger, 2002] In particular, Stochastic PNs (SPNs) attach
an exponentially distributed firing delay to each transition, which specifies the time the transition waits after being enabled before it fires Generalized Stochastic PNs (GSPNs)
allow two types of transitions to be used: immediate and timed Once enabled, immediate transitions fire in zero time If several immediate transitions are enabled at the same time,
the next transition to fire is chosen based on firing weights (probabilities) assigned to the
transitions Timed transitions fire after a random exponentially distributed firing delay as
in the case of SPNs The firing of immediate transitions always has priority over that of timed transitions A formal definition of a GSPN follows [Bause & Kritzinger, 2002]:
Definition3 A Generalized SPN (GSPN) is a 4-tuple where:
1 is the underlying ordinary PN,
2 is the set of timed transitions, ,
3 is the set of immediate transitions, ,
4 is an array whose entry is a rate of a negative exponential distribution specifying the firing delay, if is a firing weight specifying the relative firing frequency, if
Combining CPNs and GSPNs leads to Colored GSPNs (CGSPNs) [Bause & Kritzinger, 2002]:
Definition 4 A Colored GSPN (CGSPN) is a 4-tuple where:
2 is the set of timed transitions, ,
3 is the set of immediate transitions, ,
is a rate of a negative exponential distribution specifying the firing delay due to color c, if is a firing weight specifying the relative firing frequency due to
.
While CGSPNs have proven to be a very powerful modeling formalism, they do not provide any means for direct representation of queueing disciplines The attempts to
eliminate this disadvantage have led to the emergence of Queueing PNs (QPNs) The main
idea behind the QPN modeling paradigm was to add queueing and timing aspects to the places of CGSPNs This is done by allowing queues (service stations) to be integrated into
places of CGSPNs A place of a CGSPN that has an integrated queue is called a queueing place and consists of two components, the queue and a depository for tokens which have
completed their service at the queue This is depicted in Figure 1
The behavior of the net is as follows: tokens, when fired into a queueing place by any of its input transitions, are inserted into the queue according to the queue's scheduling strategy Tokens in the queue are not available for output transitions of the place After completion of its service, a token is immediately moved to the depository, where it becomes available for output transitions of the place This type of queueing place is called timed queueing place In addition to timed queueing places, QPNs also introduce
immediate queueing places, which allow pure scheduling aspects to be described Tokens
in immediate queueing places can be viewed as being served immediately Scheduling in
1 The subscript MS denotes multisets C(p) denotes the set of all finite multisets of C(p).
Trang 12Fig 1 A queueing place and its shorthand notation
such places has priority over scheduling/service in timed queueing places and firing of timed transitions The rest of the net behaves like a normal CGSPN An enabled timed transition fires after an exponentially distributed delay according to a race policy Enabled immediate transitions fire according to relative firing frequencies and their firing has priority over that of timed transitions A formal definition of a QPN follows:
Definition 5 A Queueing PN (QPN) is an 8-tuple
where:
x is the set of timed queueing places,
x is the set of immediate queueing places, and
x qi denotes the description of a queue 2 taking all colors of C(pi) into consideration, if pi is
x a queueing place or equals the keyword 'null', if pi is an ordinary place
x is the set of timed transitions,
a negative exponential distribution specifying the firing delay due to color c, if
or a firing weight specifying the relative firing frequency due to color
Example 1 (QPN) Figure 2 shows an example of a QPN model of a central server system with memory constraints based on [Bause and Kritzinger, 2002] Place p 2 represents several terminals, where users start jobs (modeled with tokens of color ‘o’) after a certain thinking time These jobs request service at the CPU (represented by a G/C/l/PS queue, where C stands for Coxian distribution) and two disk subsystems (represented by G/C/1/FCFS queues) To enter the system each job has to allocate a certain amount of memory The amount of memory needed by each job is
2 In the most general definition of QPNs, queues are defined in a very generic way allowing the specification of arbitrarily complex scheduling strategies taking into account the state of both the queue and the depository of the queueing place [Bause, 1993] For the purposes of this chapter, it is enough to use conventional queues as defined in queueing network theory
Trang 13On the Use of Queueing Petri Nets for Modeling and
Fig 2 A QPN model of a central server with memory constraints (reprinted from [Bause
all transition firings are equally likely.
2.2 Hierarchical queueing Petri nets
A major hurdle to the practical application of QPNs is the so-called largeness problem or state-space explosion problem: as one increases the number of queues and tokens in a QPN,
the size of the model's state space grows exponentially and quickly exceeds the capacity
of today's computers This imposes a limit on the size and complexity of the models that are analytically tractable An attempt to alleviate this problem was the introduction of
Hierarchically-Combined QPNs (HQPNs) [Bause et al., 1994] The main idea is to allow
hierarchical model specification and then exploit the hierarchical structure for efficient
numerical analysis This type of analysis is termed structured analysis and it allows models
to be solved that are about an order of magnitude larger than those analyzable with conventional techniques
HQPNs are a natural generalization of the original QPN formalism In HQPNs, a queueing place may contain a whole QPN instead of a single queue Such a place is called
a subnet place and is depicted in Figure 3 A subnet place might contain an ordinary QPN
or again a HQPN allowing multiple levels of nesting For simplicity, we restrict ourselves
to two-level hierarchies We use the term High-Level QPN (HLQPN) to refer to the upper level
of the HQPN and the term Low-Level QPN (LLQPN) to refer to a subnet of the HLQPN
Every subnet of a HQPN has a dedicated input and output place, which are ordinary places of a CPN Tokens being inserted into a subnet place after a transition firing are added to the input place of the corresponding HQPN subnet The semantics of the output
Trang 14place of a subnet place is similar to the semantics of the depository of a queueing place: tokens in the output place are available for output transitions of the subnet place Tokens contained in all other places of the HQPN subnet are not available for output transitions
of the subnet place Every HQPN subnet also contains actual — population place used to
keep track of the total number of tokens fired into the subnet place
Fig 3 A subnet place and its shorthand notation
3 Quantitative analysis of queueing Petri nets
In [Kounev & Buchmann, 2003], we showed that QPNs lend themselves very well to modeling distributed e-business applications with software contention and demonstrated how this can be exploited for performance prediction in the capacity planning process However, we also showed that modeling a realistic e-business application using QPNs often leads to a model that is way too large to be analytically tractable While, HQPNs and structured analysis techniques alleviate this problem, they do not eliminate it This is the reason why QPNs have hardly been exploited in the past 15 years and very few, if any, practical applications have been reported The problem is that, until recently, available tools and solution techniques for QPN models were all based on Markov chain analysis,
which suffers the well known state space explosion problem and limits the size of the models
that can be analyzed This section3 shows how this problem can be approached by exploiting discrete event simulation for model analysis We present SimQPN - a Java-
based simulation tool for QPNs that can be used to analyze QPN models of realistic size and complexity While doing this, we propose a methodology for simulating QPN models and analyzing the output data from simulation runs SimQPN can be seen as an implementation of this methodology
3 Originally published in Performance Evaluation Journal, Vol 63, No 4-5, S Kounev and
A Buchmann, SimQPN-a tool and methodology for analyzing queueing Petri net models by means of simulation, pp 364-394 Copyright Elsevier (2006).
Trang 15On the Use of Queueing Petri Nets for Modeling and
SimQPN is a discrete-event simulation engine specialized for QPNs It is extremely lightweight and has been implemented 100% in Java to provide maximum portability and platform-independence SimQPN simulates QPNs using a sequential algorithm based on the event-scheduling approach for simulation modeling Being specialized for QPNs, it simulates QPN models directly and has been designed to exploit the knowledge of the structure and behavior of QPNs to improve the efficiency of the simulation Therefore, SimQPN provides much better performance than a general purpose simulator would provide, both in terms of the speed of simulation and the quality of output data provided
3.1 SimQPN design and architecture
SimQPN has an object-oriented architecture Every element (for e.g place, transition or token) of the simulated QPN is internally represented as object Figure 4 outlines the main simulation routine which drives each simulation run As already mentioned, SimQPN's internal simulation procedure is based on the event-scheduling approach [Law and Kelton, 2000] To explain what is understood by event here, we need to look at the way the simulated QPN transitions from one state to another with respect to time Since only immediate transitions are supported, the only place in the QPN where time is involved is inside the queues of queueing places Tokens arriving at the queues wait until there is a free server available and are then served A token's service time distribution determines how long its service continues After a token has been served it is moved to the depository
of the queueing place, which may enable some transitions and trigger their firing This leads to a change in the marking of the QPN Once all enabled transitions have fired, the next change of the marking will occur after another service completion at some queue In this sense, it is the completion of service that initiates each change of the marking
Therefore, we define event to be a completion of a token's service at a queue
SimQPN uses an optimized algorithm for keeping track of the enabling status of transitions Generally, Petri net simulators need to check for enabled transitions after each change in the marking caused by a transition firing The exact way they do this, is one of the major factors determining the efficiency of the simulation [Gaeta, 1996] In
[Mortensen, 2001], it is shown how the locality principle of colored Petri nets can be
exploited to minimize the overhead of checking for enabled transitions The locality principle states that an occurring transition will only affect the marking on immediate neighbor places, and hence the enabling status of a limited set of neighbor transitions SimQPN exploits an adaptation of this principle to QPNs, taking into account that tokens deposited into queueing places do not become available for output transitions immediately upon arrival and hence cannot affect the enabling status of the latter Since checking the enabling status of a transition is a computationally expensive operation, our goal is to make sure that this is done as seldom as possible, i.e., only when there is a real possibility that the status has changed This translates into the following two cases when the enabling status of a transition needs to be checked:
1 After a change in the token population of an ordinary input place of the transition,
as a result of firing of the same or another transition Three subcases are distinguished:
(a) Some tokens were added In this case, it is checked for newly enabled modes by
considering all modes that are currently marked as disabled and that require tokens of the respective colors added