1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Petri Net Part 6 pptx

30 135 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Use of Petri Nets for Modeling an Agent-Based Interactive System: Basic Principles and Case Study
Trường học University of Example
Chuyên ngành Computer Science
Thể loại Thesis
Năm xuất bản 2023
Thành phố Example City
Định dạng
Số trang 30
Dung lượng 0,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

Use 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 2

Card (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 3

Use 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 5

Use 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 6

Craye, 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 7

Use 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 8

Stanton, 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 9

On 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 10

fashion 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 11

On 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 12

Fig 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 13

On 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 14

place 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 15

On 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

Ngày đăng: 21/06/2014, 19:20

TỪ KHÓA LIÊN QUAN