Automatic Code Generation From a High-Level Petri Net Based Specification of Dialogue

Size: px
Start display at page:

Download "Automatic Code Generation From a High-Level Petri Net Based Specification of Dialogue"

Transcription

1 Automatic Code Generation From a High-Level Petri Net Based Specification of Dialogue Philippe A. Palanque, Rémi Bastide, Valérie Sengès L.I.S., Université Toulouse I Place Anatole France, Toulouse Cedex, France {palanque, bastide, senges}@cix.cict.fr Abstract. This paper shows how the code for the user interface part of an interactive application can be automatically generated from an object-oriented specification formalism based on high-level Petri nets. The technique described here is very general and may be applied with any event-driven UIMS. The paper first describes the formalism called Interactive Cooperative Objects (ICO). It then presents a simple case study and details the techniques involved in the code generation process by applying them to this case study. Keywords. Formal methods, mathematical analysis, code generation 1. Introduction Nowadays, the vast majority of new software applications feature a WIMP (Windows Icons, Menu, Pointing) style interface. The underlying programming model of this kind of interface is event-driven in the meaning that the evolution of the application is triggered by user actions. In spite of the widespread use of such interfaces, the handling of their most important aspect (the structure of the man-machine dialogue) is still a research topic and has not yet found a proper answer, at least in the commercial products. In those tools, the focus is most often put on the definition of the external look of the interface, with the help of several very good interface presentation editors, and the definition of the internal behavior is generally left to the programmer. Several formal notations (such as grammars or finite state automata) translate easily into the event model [Green 86] needed for implementing the application using usual UIMSes. Unfortunately these notations have shown their limitations in the field of the specification of this kind of interfaces. The reactive nature of event-driven interfaces often leads to huge models hard to build, to manage and to verify mathematically. The reason is that such notations model the user as a parsable sequential file whereas the user is essentially unpredictable [Coutaz 87] and may be involved in several concurrent tasks at a time. In order to tackle those problems, some new formalisms have appeared. However, those formalisms either have a more general purpose and are not meant to be implemented [Fields 93, Abowd 91] or can only be implemented in a special language directly supporting the notation [Paterno 93], thus hampering their use for conventional software development. We have already proposed a formalism based on Petri nets and objects, allowing to describe the dialogue structure of event-driven interfaces. The first presentation [Bastide 90] mainly focused on the use of this formalism for specification, another paper [Palanque 93a] being devoted to the design methodology. This formalism, called Interactive

2 Cooperative Objects (ICO) is mathematically founded, and allows for a formal verification of the models [Palanque 93b]. The present paper aims at describing the techniques involved in the automatic generation of code for the event-handlers from the formal specification in our formalism. The generation of code is achieved by using the techniques provided by the Petri nets theory. Section II presents the ICO formalism, in which a high-level Petri net model is used for modeling the object's behavior. Section III uses a case study to demonstrate the use of the formalism. Section IV details the techniques involved in the automatic code generation and applies these techniques to the case study. 2. Interactive Cooperative Objects The ICO formalism is an object-oriented language specially designed for the modeling and implementation of event-driven interfaces [Palanque 93a, Bastide 90]. In this language, an object is an entity featuring four components: data structure, operations, presentation and behavior. The data structure of an object is a set of attributes, each of them having a name and a type. This type is either a simple type or an object class. Objects communicate according to a client-server relationship, and an object offers to its environment a set of operations called services. The ObCS (Object Control Structure) of an object fully defines its behavior: the availability of its services, but also how it processes service requests, the operations it performs on its own behalf, and the services it requires from other objects as a client. The ObCS of an ICO is defined by a high-level Petri net. Each service of an object is associated with one or several transitions in the ObCS. A service request may be accepted only when one of its associated transitions is enabled, and it is performed by the occurrence of such a transition. Graphically, the name of the service associated with a transition is written inside it in bold-faced type, while the input (resp. output) parameters of a service label a broken arrow incoming to (resp. outgoing from) the transition. The services of an ICO which are at the user s disposal, called user services, are pointed out by a small ellipse at the beginning of the incoming broken arrow. An ObCS may include transitions which are not associated with any service: they correspond to the object's spontaneous activity. The presentation of an object states its external look. This presentation is a structured set of widgets. The user-system interaction will only take place through those components. Each user action on a widget may trigger one of the ICO's user service, and the user services of an ICO are precisely the ones which may be activated by the user through a widget. The relation between user services and widgets is fully stated by the activation function which associates with each couple (widget, user action) the service to be triggered. When modeling a window by an ICO, the sequencing and synchronization constraints for the availability of the services offered to the user are expressed in the ObCS. Transitions relate to the object's services, stating their availability, and user services relate to widgets through the activation function. Thus the active or inactive state of the widgets may be known by looking at the ObCS' marking: the fact that no transition associated with a service is enabled by the current marking means that this service is not currently available to the user. This must be shown by graying out or otherwise inactivating the related widgets.

3 3. Modeling an Application In this section we will show how to model a database browsing application by following a stepwise design process. A window is modeled by an ICO, as for example the window shown in Figure 1; its presentation defines the window s layout, and its ObCS the window s dialogue. First, we present the informal user interface specification of the application. Next, we detail the non-interactive objects that are interface independent. Then, we define the ICO of the window displayed to the users Informal Specification The example chosen to illustrate the use of the formalism is a fairly common one: an editor for tuples in a relational database table whose attributes are (Identifier, X, Y). This editor allows adding new tuples into the database, deleting tuples, selecting tuples from those already stored and changing their values. Of course, our goal is to provide a fully user-driven dialogue, as opposed to a menu-driven one. Identifier : Fig. 1. Overall look of the window The overall look of the interface is shown in Figure 1. Three different areas can be distinguished in that window: The editing area, in which the attributes of a selected tuple may be edited through the use of standard interface components (radio buttons, check box, simple-line entry field). A scrollable list (list box) shows the tuples of the table, presenting them by their distinctive attribute (a primary key). Items in this list may be selected by clicking on them with the mouse. A command zone in which database operations (creation, deletion,...) may be launched by clicking on command pushbuttons. The actions available to the user change through time and depend on the state of the dialogue. Those dialogue rules are expressed here informally. One of the goals of the ICO

4 modeling is to make formal and non-ambiguous such natural language informal requirements: It is forbidden to Select a tuple from the table when another one is being edited. It is forbidden to Quit the application while the user is editing a tuple. In any other case it must be possible to quit. It is forbidden to Delete a tuple whose value has been modified by the user. After a modification of the current tuple, only the actions Add, Replace and Reset are available. The user must be able to act on the items of the editing area at any time. Only tuples that satisfy the integrity constraints may be added to the database Non Interactive Objects: Tuples Class Tuple Attributes ident : Identifier; X : 1..3; Y : Boolean; Services Display; Add; -- The tuple's key -- The other attributes -- Display the attributes in the editing area -- Add the tuple to the database table. Copy :<o:tuple>; -- Creates a new object identical to the current one Correct:<r:BOOLEAN>;-- Does the tuple satisfy the integrity constraints? Delete; -- Delete the tuple Fig. 2. The class Tuple Our case study yields two object classes: class Tuple, which corresponds to the noninteractive application kernel, and class Editor, which is modeled by an ICO. The class Tuple is detailed in Figure 2. The instances of this class are passive entities, used only as a data structure, they thus do not feature an ObCS (to be more precise, the ObCS is trivial: each service is available at all moments) Modeling the Tuple Editor The class Editor is a full fledged ICO, featuring attributes, services, an ObCS and a presentation part. The description of the class, specifying the first two components, may be seen in Figure 3. The ObCS is shown in Figure 4, while the presentation, which consists of the widget list and the activation function, is detailed in Figure 5. Class Editor Attributes -- none Services Reset; Replace; Edit; Delete; Quit; Add; ObCS (see Figure 4) Presentation (see Figure 1 and Figure 5) end Fig. 3. The class Editor

5 The dialogue is modeled by a Petri net with objects (PNO). This provides a concise, yet formal and complete specification for the control structure of the application. The modeling power of the formalism allows to describe a lot of constraints, otherwise hard to describe in natural language. A transition of a PNO may occur if each of its input places holds at least one token, so that each variable labeling an input arc may be bound to an object. When a transition occurs, the objects bound to input variables are removed from the input places and their values are processed by the transition's action, which may also generate or delete objects. The new or modified objects are finally put into the output places. The PNO of the Editor's ObCS (Figure 4) is read in the following way: Initialization: The initial marking of the ObCS' net depends on the actual contents of the database at the time the window is opened (when the ICO is created). Figure 4 shows an initial marking: the places list, selected and edited are empty, and the place default contains the template for the first item to be edited. If the table was not empty, one tuple would be automatically selected while all the others would be in the place list. quit Edited <o,d> edit T8 T9 <o,d> <o,d> <o,d> <o,d> d.correct d.correct add d.add T6 reset o.display T7 replace o.delete; d.add; T5 edit d := o.copy T4 <d> <d> <key> <x> Selected List key = o.ident T10 select o.display <x> <x> T11 delete x.delete o.display <x> T2 delete x.delete o.create o.display o.correct add o.add T3 T1 Default edit o.correct Precondition arc with variable Default Place with an initial marking T1 edit Edited : <o,d : Tuple>; Type of places Selected, List, Default: <o : Tuple>; Fig. 4. The ObCS of the class Editor Transition T1 related to the Edit service Inhibitor arc

6 Processing From this initial state, only the two services edit and add (or transitions T1 and T2) may occur. The occurrence of the edit service removes the template token from the place default, modifies its value and puts it back into the same place. The occurrence of the add service depends on the precondition o.correct, which checks the integrity constraints on the object, eventually producing a modal error dialogue. If the precondition holds, the token is moved from the place default to the place selected. From now on, the table has one tuple. As the place selected is the only one holding a token, only the edit and delete services may occur. The occurrence of the delete service puts the PNO back in its initial state. The inhibitor arc between the place List and the delete service of the transition T3 means that this transition may only occur if the place is empty. The occurrence of the edit service results in creating a local copy of the tuple and depositing the original (o) and the copy (dup) in the place edited. While the place edited holds a token, several services may occur: Modify the value of the copy by the occurrence of the service edit. Replace the original by the copy through the service replace. Cancel all changes by the occurrence of the service reset (the copy is then deleted). Add the edited tuple to the table; the added tuple becomes selected, while the original one becomes unselected. If this edit / add cycle is performed a number of times, we will reach the state corresponding to Figure 1 where the place selected is empty, the place edited holds one token - a tuple whose identifier value is Item 04 -, and the place list contains at least tokens corresponding to tuples items 02, 03, 05 and 06. This picture shows three activated pushbuttons, which correspond to the currently allowed user operations on the database. The active or inactive state of the pushbuttons is fully determined by the possible occurrence of the transitions they relate to in the ObCS. For example, the delete button is not activated, since place selected holds no token. Figure 5 shows both the list of widgets associated with an Editor and how the user can request a user service. All the widgets of the editing area trigger the Edit service since their purpose is only to inform the dialogue that an editing action has been performed. Widget User's action Activated service PushButtonAdd Click Add PushButtonDelete Click Delete PushButtonReplace Click Replace PushButtonReset Click Reset PushButtonClose_Box Click Quit RadioButton1 Click Edit RadioButton2 Click Edit RadioButton3 Click Edit EntryText Keyboard Edit CheckBox Click Edit ListBox Click Select Fig. 5. The activation function

7 4. Automatic code generation The process for generating the application code from its formal ICO specification is pictured on Figure 6. ObCS of the ICOS Marking tree Marking graph Transformation of the OBCS ATN State / Transition matrix State / Service matrix Application code Code Generation Fig. 6. Steps of the automatic code generation process The process is divided into two main stages: The first one aims at transforming the ObCS into several intermediate representations, while the second aims at producing the code of the application. The first stage of the automatic code generation process is the transformation of the ObCS into an augmented transition network. The second stage processes the state / transition matrix, which is an equivalent description of the ATN. This matrix is correlated with the activation function, which relates the widgets to the actions to be performed. From these two components, the generation of the event-handlers for the widgets is quite simple, and essentially follows the process described in [Green 86] Transformation of the ObCS into an ATN The techniques to calculate an ATN from a Petri net based description have been extensively studied [Wood 70, Peterson 81] Calculation of the marking tree The marking tree of a Petri net provided with an initial marking explicitly details the set of reachable states from this initial marking, as well as the sequences of transitions needed to reach those states. Each node in this tree represents a reachable marking of the net, and each arc is labeled with the name of the transition which causes the corresponding change to the marking. In many cases, the set of reachable markings is infinite, and the

8 marking tree is thus also infinite. This infinite tree may be reduced to a finite structure called the covering tree of the net Calculation of the marking graph The marking graph of a Petri net is a state transition diagram whose behavior is strictly equivalent to that of the marked Petri net. The marking graph is easily deduced from the marking tree. The nodes of the marking tree which are associated with an identical marking are collapsed into a single node. Each node of the marking graph corresponds to a state of the dialogue. The marking graph is usually used to prove properties of the net that are dependent on its initial marking Calculation of the ATN Edit state 1 Quit state 4 Delete //n=0 Add Quit Delete/n--/ n>0 state 2 Select // n>0 Edit Add / n++ Reset Replace States correspond to the following markings of places (default, selected, edited, list): state 1 : (1, 0, 0, 0) state 2 : (0, 1, 0, ω) state 3 : (0, 0, 1, ω) state 4 : (0, 0, 0, ω) Registers n : number of tokens in the list place Edit state 3 Fig. 7. The ATN of the Editor The marking graph automatically produced from the ObCS of an ICO cannot be represented by a finite state automaton, but it can be by an augmented transition network (ATN) [Woods 70]. In the graphic representation of an ATN, states are depicted by ellipses (the initial state being thick lined) and transitions by arcs. The arc of a transition is labeled by: the service / the assignments, if any/ the preconditions, if any, as shown in Figure 7. An ATN is essentially a finite state automaton provided with a set of registers which may be checked and modified when a changing of state occurs. Thus, an ATN whose set of register is empty is a Finite State Automaton. This ATN is built from the covering graph of the ObCS. Only the states from which a transition associated with a service may occur are kept, and there is one register for each unbounded place of the ObCS (a place for which the number of tokens has no upper limit) being an input place of such a transition (the algorithm is given in [Palanque 92]). Figure 7 shows the ATN of the Editor, and thus the command language at the user s disposal.

9 State_1 State_2 State_3 T1 T2 T3 state_1 o.correct o.add state_2 n = 0 x.delete ; o.create ; o.display <self, f> state_1 T4 dup.clone(o) ; state_3 dup.correct T5 o.delete;dup.add; state_2 dup.correct T6 n ++ ; dup.add ; state_2 T7 o.display ; state_2 T8 T9 state_fin key = o.ident n>0 T10 o.display <self, f> state_2 n > 0 T11 n -- ; x.delete ; o.display <self, f> ; state_2 state_3 state_fin Fig. 8. The state-transition matrix generated from the ObCS of the Editor Although the ATN in Figure 7 may appear simpler than the original ObCS, we are convinced that the ObCS is actually simpler to design than the ATN. Indeed, for a complex dialogue, the most intricate parts to manage in the ATN construction are the

10 definition and the handling of the registers. These complex tasks may be avoided by the building of the ObCS. Moreover, the Petri net description allows for an easy description of the parallel dialogue and synchronization that are needed in multi-threaded applications and are especially difficult to model in a sequential formalism such as ATN Construction of the state-transition matrix An ATN may be described by a matrix, a representation which makes it easier to process by computer programs. This matrix is constructed in the following way: Each transition in the ATN is associated with a line in the matrix. Each state in the ATN is associated with a column in the matrix. Each cell in the matrix is divided into three components: The first one represents the conditions imposed on the triggering of the transition. These conditions may come from preconditions in the original ObCS transition, or may concern the value of one of the ATN registers. The second component of a cell represents the action to be performed when the transition occurs. This action is deduced both from the action in the original ObCS transition and from the modifications to be applied to the value of the ATN registers. The third component describes the state reached after the occurrence of the transition. The state-transition matrix generated from the ObCS of the example is shown on Figure Construction of a state-service matrix: In the state-transition matrix each line concerns one transition. As it is possible for a service to be related to several transitions it is possible for the matrix to contain several lines related to the same service. For example, the service Add is associated with transitions T2 and T4 (see Figure 4). The state-service matrix is constructed by merging all the lines related to a same service into one single line Code Generation The steps we have described so far are independent of any given UIMS. Of course the details of the final step, which is the actual code generation, depend heavily on the UIMS at hand and on the Application Programming Interface (API) it supports. The activation function is used to generate the part of the application code that aims at dispatching the incoming events to the right event handlers. In some UIMSs (such as the C language interface to the MS-Windows toolkit), this is done by explicitly generating a complex switch statement, where the first dispatching is done according to the identifier of the widget which has received the event, and the second dispatching is done according to the type of event received. With higher level APIs, this dispatching is often hidden to the programmer, and implemented with more powerful language constructs. This may be done for example by associating a widget identifier to a virtual member function in a class representing the window (such as in the Borland C++ ObjectWindows API), or the dispatching process may be at the very basis of the programming environment (such as in Microsoft Visual Basic), and thus totally transparent to the programmer. In any case, the activation function holds sufficient information to automatically generate the dispatching code. From the components that have been produced so far, it is possible to generate the code of the application.

11 Production of the procedures associated with the services: A callback procedure is automatically generated for each service. All the procedures to be generated have the same framework : a procedure is basically a switch structure according to the set of possible values for the state variable (corresponding to the columns of the state-service matrix). Each switch is filled in with the contents of a corresponding cell of the state-service matrix. Each branch of the switch will consist in four parts, the first three of which are directly extracted from the subcells of the corresponding cell in the matrix. The first part is a pre-condition test, the second one holds the semantic action, and the third one sets the state reached after the occurrence of the service. The fourth part of the branch corresponds to the visual feedback of the newly reached state. This part results in visually showing which user actions are enabled in the newly reached state. The necessary enabling and disabling actions are calculated from the state-service matrix and the activation function. The services for which the cell corresponding to the new state is empty have all their associated widget disabled. As an example, the callback procedure associated wih the add service is described in Figure 9 and clearly shows the four parts Setup of the event handlers: Callback procedure ADD; Switch (CurrentState) { // test of the state variable case state1 : // no pre-condition to test // semantic action o.add // add the tuple o to the table // state changing CurrentSate = State2 // change the current state // feedback of the commands available in the new state disable(pushbuttonadd) disable(pushbuttonreset) disable(pushbuttonreplace) enable(pushbuttonclose_box) enable(pushbuttondelete) enable(listbox) case state2 : // no action, PushButtonAdd is always disabled when the system is in State2 case state3 : o.add // add the tuple o to the table CurrentSate = State2 // change the current state n++ // increment the register representing the number of tuples in the table // show the commands available in new state disable(pushbuttonadd) disable(pushbuttonreset) disable(pushbuttonreplace) enable(pushbuttonclose_box) enable(pushbuttondelete) enable(listbox) } Fig. 9. Callback procedure automatically generated for the service Add

12 The final step to produce a runnable application is to associate an automatically generated procedure with a couple (widget, user-action). The details of this process depend completely on the API of development environment, and thus are not detailed here, but the process is usually straightforward. When the dispatching is done by the system (such as in Visual Basic), an empty procedure has only to be filled in with a call to the corresponding callback procedure. 5. Conclusion This article is devoted to the generation of code from an interface specification based on the ICO formalism. This step appears very late in the life cycle of an interactive application but the ICO formalism may be usefully applied at earlier stages as it allows for a complete, concise and non-ambiguous specification of the user-software dialogue and lends to mathematical analysis and proof of the interface behavior before its implementation. To take advantage of all those features, we are in the process of building a complete UIMS based on the ICO formalism, including analysis modules, run-time interpretation and graphical edition of both the presentation and the ObCS parts. 6. REFERENCES [Abowd 90] Abowd G.D. Agents: Communicating interactive processes, in proceedings of Interact'90 Elsevier p Cambridge August [Bastide 90] Bastide R., Palanque P. Petri nets with objects for the design, validation and prototyping of user-driven interfaces. in proceedings of Interact'90 Elsevier p Cambridge August [Coutaz 87] Coutaz J. The construction of user interfaces and the object paradigm. ECOOP'87, European Conference on Object Oriented Programming. Paris, June p [Fields 93] Fields, B., Harrison M., Wright P. From informal requirements to agent-based specification: an aricraft warning case study. Workshop on formal mlethods for the design of interactive systems. York, July 23rd [Green 86] GREEN M. A survey of three dialogue models. ACM Transaction on Graphics, vol 5, n 3, July 1986, p [Palanque 92] PALANQUE P. Modeling user-driven interfaces by means of Interactive Cooperative Objects. Ph.D. Dissertation of University Toulouse (France) [Palanque 93a] Palanque Ph., Bastide R., Sibertin-Blanc C., Dourte L. Design of User- Driven Interfaces using Petri Nets and Objects. In proceedings of Conference on Advanced Information Systems Engineering : CAISE 93 Lecture Notes in Computer Science n 685, Paris, France, 8-11 June 1993, p [Palanque 93b] Palanque, Ph., Sibertin-Blanc C., Bastide, R. Formal specification, design and validation of user-driven interfaces using a Petri net and object based model. Poster session to the conference on Human-Computer Interaction, (HCI'93), Loughborough, U.K [Paterno 93] Paterno F. Definition of properties of User Interfaces using Action-Based Temporal Logic. In proceedings of the 5th International Conference on Software Engineering and Knowledge Engineering (SEKE'93) June 18-16, 1993.

13 [Peterson 81] Peterson, J.L. Petri net theory and modeling of systems. Prentice-hall [Wasserman 85] Wasserman A. Extending State-Transition Diagrams for the Specification of Human-Computer Interaction. IEEE Transactions on Software Engineering, vol. 11, n 8, August 1985; p [Wood 70] WOOD W.A. Transition network grammars for natural language analysis. Communications of the ACM, vol. 13 n 10,October 1970, pp

The dialog tool set : a new way to create the dialog component

The dialog tool set : a new way to create the dialog component The dialog tool set : a new way to create the dialog component Guilaume Texier, Laurent Guittet, Patrick Girard LISI/ENSMA Téléport 2 1 Avenue Clément Ader - BP 40109 86961 Futuroscope Chasseneuil Cedex

More information

Modeling a groupware editing tool with Cooperative Objects

Modeling a groupware editing tool with Cooperative Objects Modeling a groupware editing tool with Cooperative Objects Rémi Bastide, Philippe Palanque LIHS-FROGIS, University Toulouse I, Place Anatole France, 31042 Toulouse Cedex, FRANCE E-mail: {bastide palanque@univ-tlse1.fr

More information

DISCRETE-event dynamic systems (DEDS) are dynamic

DISCRETE-event dynamic systems (DEDS) are dynamic IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 7, NO. 2, MARCH 1999 175 The Supervised Control of Discrete-Event Dynamic Systems François Charbonnier, Hassane Alla, and René David Abstract The supervisory

More information

IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS

IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS Leontyev Denis Vasilevich, Kharitonov Dmitry Ivanovich and Tarasov Georgiy Vitalievich ABSTRACT Institute of Automation and

More information

An Approach Integrating two Complementary Model-based Environments for the Construction of Multimodal Interactive Applications 1

An Approach Integrating two Complementary Model-based Environments for the Construction of Multimodal Interactive Applications 1 An Approach Integrating two Complementary Model-based Environments for the Construction of Multimodal Interactive Applications 1 David Navarre, Philippe Palanque, Pierre Dragicevic & Rémi Bastide LIIHS-IRIT,

More information

DTS-Edit: an Interactive Development Environment for Structured Dialog Applications

DTS-Edit: an Interactive Development Environment for Structured Dialog Applications DTS-Edit: an Interactive Development Environment for Structured Dialog Applications Fabrice Depaulis, Sabrina Maiano and Guillaume Texier LISI / ENSMA, Téléport 2, 1 Avenue Clément Ader, BP 40109, 86961

More information

BCS-FACS Workshop on Formal Aspects of the Human Computer Interface

BCS-FACS Workshop on Formal Aspects of the Human Computer Interface ELECTRONIC WORKSHOPS IN COMPUTING Series edited by Professor C.J. van Rijsbergen C.R. Roast and J.I. Siddiqi, Sheffield Hallam University, UK (Eds) BCS-FACS Workshop on Formal Aspects of the Human Computer

More information

Composability Test of BOM based models using Petri Nets

Composability Test of BOM based models using Petri Nets I. Mahmood, R. Ayani, V. Vlassov and F. Moradi 7 Composability Test of BOM based models using Petri Nets Imran Mahmood 1, Rassul Ayani 1, Vladimir Vlassov 1, and Farshad Moradi 2 1 Royal Institute of Technology

More information

SOFTWARE DESIGN AND DEVELOPMENT OF MUTIMODAL INTERACTION

SOFTWARE DESIGN AND DEVELOPMENT OF MUTIMODAL INTERACTION SOFTWARE DESIGN AND DEVELOPMENT OF MUTIMODAL INTERACTION Marie-Luce Bourguet Queen Mary University of London Abstract: Key words: The multimodal dimension of a user interface raises numerous problems that

More information

Directed Graph for Finite-State Machine

Directed Graph for Finite-State Machine Directed Graph for Finite-State Machine Tito D. Kesumo Siregar (13511018) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

More information

KRON: An Approach for the Integration of Petri Nets in Object Oriented Models of Discrete Event Systems

KRON: An Approach for the Integration of Petri Nets in Object Oriented Models of Discrete Event Systems KRON: An Approach for the Integration of Petri Nets in Object Oriented Models of Discrete Event Systems J.L. Villarroel, J.A. Bañares and P.R. Muro-Medrano Departamento de Ingeniería Eléctrica e Informatica

More information

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework Enrico Biermann, Claudia Ermel, Frank Hermann and Tony Modica Technische Universität Berlin, Germany {enrico,lieske,frank,modica}@cs.tu-berlin.de

More information

A Formalization of Transition P Systems

A Formalization of Transition P Systems Fundamenta Informaticae 49 (2002) 261 272 261 IOS Press A Formalization of Transition P Systems Mario J. Pérez-Jiménez and Fernando Sancho-Caparrini Dpto. Ciencias de la Computación e Inteligencia Artificial

More information

Managing test suites for services

Managing test suites for services Managing test suites for services Kathrin Kaschner Universität Rostock, Institut für Informatik, 18051 Rostock, Germany kathrin.kaschner@uni-rostock.de Abstract. When developing an existing service further,

More information

On Petri Nets and Predicate-Transition Nets

On Petri Nets and Predicate-Transition Nets On Petri Nets and Predicate-Transition Nets Andrea Röck INRIA - project CODES Roquencourt - BP 105 Le Chesnay Cedex 78153, FRANCE Ray Kresman Department of Computer Science Bowling Green State University

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS

More information

Simulink/Stateflow. June 2008

Simulink/Stateflow. June 2008 Simulink/Stateflow Paul Caspi http://www-verimag.imag.fr/ Pieter Mosterman http://www.mathworks.com/ June 2008 1 Introduction Probably, the early designers of Simulink in the late eighties would have been

More information

Design of User-Driven Interfaces Using Petri Nets and Objects

Design of User-Driven Interfaces Using Petri Nets and Objects Design of User-Driven Interfaces Using Petri Nets and Objects Philippe A. Palanque 1, R6mi Bastide 1, Louis Doarte 2 aud Cluistophe Sibertin-Blanc 3 I: L.I.S., Universit~ Toulouse I Place Anatolr France,

More information

PETRI NET MODELLING OF CONCURRENCY CONTROL IN DISTRIBUTED DATABASE SYSTEM

PETRI NET MODELLING OF CONCURRENCY CONTROL IN DISTRIBUTED DATABASE SYSTEM PETRI NET MODELLING OF CONCURRENCY CONTROL IN DISTRIBUTED DATABASE SYSTEM Djoko Haryono, Jimmy Tirtawangsa, Bayu Erfianto Abstract- The life time of transaction is divided into two stages: executing stage

More information

CS 4300 Computer Graphics

CS 4300 Computer Graphics CS 4300 Computer Graphics Prof. Harriet Fell Fall 2011 Lecture 8 September 22, 2011 GUIs GUIs in modern operating systems cross-platform GUI frameworks common GUI widgets event-driven programming Model-View-Controller

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Harsh Beohar LF 265, harsh.beohar@uni-due.de Harsh Beohar Course Modelling of Concurrent Systems 1 Course handler

More information

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics

More information

Petri-net-based Workflow Management Software

Petri-net-based Workflow Management Software Petri-net-based Workflow Management Software W.M.P. van der Aalst Department of Mathematics and Computing Science, Eindhoven University of Technology, P.O. Box 513, NL-5600 MB, Eindhoven, The Netherlands,

More information

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Harsh Beohar LF 265, harsh.beohar@uni-due.de Harsh Beohar Course Modelling of Concurrent Systems 1 Course handler

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification Proceedings of the 2009 IEEE International Conference on Systems, Man, and Cybernetics San Antonio, TX, USA - October 2009 Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

More information

Timo Latvala. January 28, 2004

Timo Latvala. January 28, 2004 Reactive Systems: Kripke Structures and Automata Timo Latvala January 28, 2004 Reactive Systems: Kripke Structures and Automata 3-1 Properties of systems invariants: the system never reaches a bad state

More information

The alternator. Mohamed G. Gouda F. Furman Haddix

The alternator. Mohamed G. Gouda F. Furman Haddix Distrib. Comput. (2007) 20:21 28 DOI 10.1007/s00446-007-0033-1 The alternator Mohamed G. Gouda F. Furman Haddix Received: 28 August 1999 / Accepted: 5 July 2000 / Published online: 12 June 2007 Springer-Verlag

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

Modeling Crisis Management System With the Restricted Use Case Modeling Approach

Modeling Crisis Management System With the Restricted Use Case Modeling Approach Modeling Crisis Management System With the Restricted Use Case Modeling Approach Gong Zhang 1, Tao Yue 2, and Shaukat Ali 3 1 School of Computer Science and Engineering, Beihang University, Beijing, China

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

10 Implinks and Endpoints

10 Implinks and Endpoints Chapter 10 Implinks and Endpoints Implementation links and endpoints are important concepts in the SOMT method (described in the SOMT Methodology Guidelines starting in chapter 69 in the User s Manual).

More information

High-Fidelity Prototyping of Interactive Systems Can Be Formal Too

High-Fidelity Prototyping of Interactive Systems Can Be Formal Too High-Fidelity Prototyping of Interactive Systems Can Be Formal Too Philippe Palanque, Jean-François Ladry, David Navarre, and Eric Barboni IHCS-IRIT, Université Paul Sabatier Toulouse 3, France {ladry,palanque,navarre,barboni}@irit.fr

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

T Reactive Systems: Kripke Structures and Automata

T Reactive Systems: Kripke Structures and Automata Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Kripke Structures and Automata Spring 2005, Lecture 3 January 31, 2005 Tik-79.186 Reactive Systems 2 Properties of systems invariants: the system

More information

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL 5.1 INTRODUCTION The survey presented in Chapter 1 has shown that Model based testing approach for automatic generation of test

More information

BPMN Getting Started Guide

BPMN Getting Started Guide Enterprise Studio BPMN Getting Started Guide 2017-09-21 Applies to: Enterprise Studio 3.0.0, Team Server 3.0.0 Table of contents 1 About modeling with BPMN 5 1.1 What is BPMN? 5 1.2 BPMN modeling 5 1.3

More information

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04 Outline Petri nets Introduction Examples Properties Analysis techniques 1 Petri Nets (PNs) Model introduced by C.A. Petri in 1962 Ph.D. Thesis: Communication with Automata Applications: distributed computing,

More information

these developments has been in the field of formal methods. Such methods, typically given by a

these developments has been in the field of formal methods. Such methods, typically given by a PCX: A Translation Tool from PROMELA/Spin to the C-Based Stochastic Petri et Language Abstract: Stochastic Petri ets (SPs) are a graphical tool for the formal description of systems with the features of

More information

From Task Graphs to Petri Nets

From Task Graphs to Petri Nets From Task Graphs to Petri Nets Anthony Spiteri Staines Department of Computer Inf. Systems, Faculty of ICT, University of Malta Abstract This paper describes the similarities between task graphs and Petri

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 The Theory of Classification Part 2: The Scratch-Built

More information

A Tool-Supported Design Framework for Safety Critical Interactive Systems

A Tool-Supported Design Framework for Safety Critical Interactive Systems A Tool-Supported Design Framework for Safety Critical Interactive Systems Rémi Bastide, David Navarre & Philippe Palanque LIIHS-IRIT, University Toulouse 3, 118 route de Narbonne, 31062 Toulouse Cedex

More information

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models Diane Bahrami, Alain Faivre, Arnault Lapitre CEA, LIST, Laboratory of Model Driven Engineering for Embedded Systems (LISE), Point

More information

MANUFACTURING SYSTEM MODELING USING PETRI NETS

MANUFACTURING SYSTEM MODELING USING PETRI NETS International Conference on Economic Engineering and Manufacturing Systems Braşov, 26 27 November 2009 MANUFACTURING SYSTEM MODELING USING PETRI NETS Daniela COMAN, Adela IONESCU, Mihaela FLORESCU University

More information

TRANSPARENCY ANALYSIS OF PETRI NET BASED LOGIC CONTROLLERS A MEASURE FOR SOFTWARE QUALITY IN AUTOMATION

TRANSPARENCY ANALYSIS OF PETRI NET BASED LOGIC CONTROLLERS A MEASURE FOR SOFTWARE QUALITY IN AUTOMATION TANSPAENCY ANALYSIS OF PETI NET BASED LOGIC CONTOLLES A MEASUE FO SOFTWAE QUALITY IN AUTOMATION Georg Frey and Lothar Litz University of Kaiserslautern, Institute of Process Automation, PO Box 3049, D-67653

More information

Separating Product Variance and Domain Concepts in the Specification of Software Product Lines

Separating Product Variance and Domain Concepts in the Specification of Software Product Lines Separating Product Variance and Domain Concepts in the Specification of Software Product Lines Pertti Kellomäki Software Systems Laboratory, Tampere University of Technology P.O. Box 553, FIN-33101 Tampere,

More information

Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram

Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram TOYOAKI TOMURA, SATOSHI KANAI and TAKESHI KISHINAMI Abstract. A manufacturing cell

More information

Formal Methods in Software Engineering. Lecture 07

Formal Methods in Software Engineering. Lecture 07 Formal Methods in Software Engineering Lecture 07 What is Temporal Logic? Objective: We describe temporal aspects of formal methods to model and specify concurrent systems and verify their correctness

More information

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS Juan Antonio de la Puente Dept. of Telematics Engineering School of Telecommunication, Technical University of Madrid E-mail: jpuente@dit.upm.es 1. Introduction

More information

Simulating Task Models Using Concrete User Interface Components

Simulating Task Models Using Concrete User Interface Components Simulating Task Models Using Concrete User Interface Components David Paquette Department of Computer Science University of Saskatchewan dnp972@cs.usask.ca April 29, 2004 Abstract Interaction Templates

More information

IBM Rational Rhapsody Gateway Add On. User Guide

IBM Rational Rhapsody Gateway Add On. User Guide User Guide Rhapsody IBM Rational Rhapsody Gateway Add On User Guide License Agreement No part of this publication may be reproduced, transmitted, stored in a retrieval system, nor translated into any

More information

RECURSIVE DEFINITION, BASED ON A META-MODEL, FOR THE TYPE SYSTEM OF COMPLEX COMPUTING SYSTEMS ARCHITECTURES

RECURSIVE DEFINITION, BASED ON A META-MODEL, FOR THE TYPE SYSTEM OF COMPLEX COMPUTING SYSTEMS ARCHITECTURES An. Şt. Univ. Ovidius Constanţa Vol. 12(1), 2004, 45 58 RECURSIVE DEFINITION, BASED ON A META-MODEL, FOR THE TYPE SYSTEM OF COMPLEX COMPUTING SYSTEMS ARCHITECTURES Abstract A theoretical abstract analysis

More information

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur Module 3 Requirements Analysis and Specification Lesson 6 Formal Requirements Specification Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a formal

More information

A Tutorial on Agent Based Software Engineering

A Tutorial on Agent Based Software Engineering A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on Agent Based Software Engineering Qun Zhou December, 2002 Abstract Agent oriented software

More information

Abstract. 1. Conformance. 2. Introduction. 3. Abstract User Interface

Abstract. 1. Conformance. 2. Introduction. 3. Abstract User Interface MARIA (Model-based language for Interactive Applications) W3C Working Group Submission 3 February 2012 Editors: Fabio Paternò, ISTI-CNR Carmen Santoro, ISTI-CNR Lucio Davide Spano, ISTI-CNR Copyright 2012

More information

Describing Computer Languages

Describing Computer Languages Markus Scheidgen Describing Computer Languages Meta-languages to describe languages, and meta-tools to automatically create language tools Doctoral Thesis August 10, 2008 Humboldt-Universität zu Berlin

More information

Petri Nets: Properties, Applications, and Variations. Matthew O'Brien University of Pittsburgh

Petri Nets: Properties, Applications, and Variations. Matthew O'Brien University of Pittsburgh Petri Nets: Properties, Applications, and Variations Matthew O'Brien University of Pittsburgh Introduction A Petri Net is a graphical and mathematical modeling tool used to describe and study information

More information

Towards a Task-Oriented, Policy-Driven Business Requirements Specification for Web Services

Towards a Task-Oriented, Policy-Driven Business Requirements Specification for Web Services Towards a Task-Oriented, Policy-Driven Business Requirements Specification for Web Services Stephen Gorton and Stephan Reiff-Marganiec Department of Computer Science, University of Leicester University

More information

Finite Automata. Dr. Nadeem Akhtar. Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur

Finite Automata. Dr. Nadeem Akhtar. Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur Finite Automata Dr. Nadeem Akhtar Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur PhD Laboratory IRISA-UBS University of South Brittany European University

More information

An Agent Modeling Language Implementing Protocols through Capabilities

An Agent Modeling Language Implementing Protocols through Capabilities An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,

More information

INTERACTION TEMPLATES FOR CONSTRUCTING USER INTERFACES FROM TASK MODELS

INTERACTION TEMPLATES FOR CONSTRUCTING USER INTERFACES FROM TASK MODELS Chapter 1 INTERACTION TEMPLATES FOR CONSTRUCTING USER INTERFACES FROM TASK MODELS David Paquette and Kevin A. Schneider Department of Computer Science, University of Saskatchewan, Saskatoon, SK S7N 5A9,

More information

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Available online at  ScienceDirect. Procedia Computer Science 56 (2015 ) Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 56 (2015 ) 612 617 International Workshop on the Use of Formal Methods in Future Communication Networks (UFMFCN 2015) A

More information

SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3

SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3 IOG SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3 Technical report SmartResource: Proactive Self-Maintained Resources in Semantic Web 12/13/2005 University of Jyväskylä Agora Center Author:

More information

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Give your application the ability to register callbacks with the kernel. by Frédéric Rossi In a previous article [ An Event Mechanism

More information

Chapter 3. Advanced Techniques. The advanced techniques presented in this chapter are meant to solve difficult grids.

Chapter 3. Advanced Techniques. The advanced techniques presented in this chapter are meant to solve difficult grids. Chapter Advanced Techniques The advanced techniques presented in this chapter are meant to solve difficult grids... Pairs, triples and subsets In this section, we focus on looking for sets of particular

More information

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Somayeh Azizi 1, Vahid Panahi 2 Computer science department, Sama Technical and vocational, Training

More information

Model-checking with the TimeLine formalism

Model-checking with the TimeLine formalism Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software

More information

A Brief Introduction to Coloured Petri Nets

A Brief Introduction to Coloured Petri Nets A Brief Introduction to Coloured Petri Nets Kurt Jensen Computer Science Department, University of Aarhus NyMunkegade, Bldg. 540, DK-8000 AarhusC, Denmark E-mml: kjensen9 WWV~: http://www.daimi.aau.dk/~kjensen/

More information

LIHS-FROGIS, Université Toulouse I, Place Anatole France, F Toulouse CEDEX, France

LIHS-FROGIS, Université Toulouse I, Place Anatole France, F Toulouse CEDEX, France Bastide, Rémi, Sy, Ousmane and Palanque, Philippe. "Formal Support for the Engineering of CORBA-Based Distributed Object Systems." IEEE International Symposium on Distributed Objects and Applications (DOA'99),

More information

COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung

COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung POLYTECHNIC UNIVERSITY Department of Computer and Information Science COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung Abstract: Computer simulation of the dynamics of complex

More information

HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM. Janetta Culita, Simona Caramihai, Calin Munteanu

HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM. Janetta Culita, Simona Caramihai, Calin Munteanu HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM Janetta Culita, Simona Caramihai, Calin Munteanu Politehnica University of Bucharest Dept. of Automatic Control and Computer Science E-mail: jculita@yahoo.com,

More information

Automatic Generation of Graph Models for Model Checking

Automatic Generation of Graph Models for Model Checking Automatic Generation of Graph Models for Model Checking E.J. Smulders University of Twente edwin.smulders@gmail.com ABSTRACT There exist many methods to prove the correctness of applications and verify

More information

The Lean Cuisine+ Notation Revised

The Lean Cuisine+ Notation Revised Res. Lett. Inf. Math. Sci., (2000) 1, 17-23 Available online at http://www.massey.ac.nz/~wwiims/rlims/ The Lean Cuisine+ Notation Revised Chris Scogings I.I.M.S., Massey University Albany Campus, Auckland,

More information

How to Exploit Abstract User Interfaces in MARIA

How to Exploit Abstract User Interfaces in MARIA How to Exploit Abstract User Interfaces in MARIA Fabio Paternò, Carmen Santoro, Lucio Davide Spano CNR-ISTI, HIIS Laboratory Via Moruzzi 1, 56124 Pisa, Italy {fabio.paterno, carmen.santoro, lucio.davide.spano}@isti.cnr.it

More information

The SPIN Model Checker

The SPIN Model Checker The SPIN Model Checker Metodi di Verifica del Software Andrea Corradini Lezione 1 2013 Slides liberamente adattate da Logic Model Checking, per gentile concessione di Gerard J. Holzmann http://spinroot.com/spin/doc/course/

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Statecharts Based GUI Design. Statecharts Based GUI Design

Statecharts Based GUI Design. Statecharts Based GUI Design Chenliang Sun csun1@cs.mcgill.ca School of Computer Science McGill University March 5, 2003 1.1 Overview What s GUI? Why GUI? Why Statechart Based GUI Design? What s Statechart? How? Case Study Testing

More information

Simulation-Based Analysis of UML Statechart Diagrams: Methods and Case Studies 1

Simulation-Based Analysis of UML Statechart Diagrams: Methods and Case Studies 1 Simulation-Based Analysis of UML Statechart Diagrams: Methods and Case Studies 1 Jiexin Lian, Zhaoxia Hu and Sol M. Shatz Department of Computer Science University of Illinois at Chicago Chicago, IL, U.S.A.

More information

THE TASK-TO-PRESENTATION-DIALOG MAPPING PROBLEM

THE TASK-TO-PRESENTATION-DIALOG MAPPING PROBLEM THE TSK-TO-PRESENTTION-LOG MPNG PROBLEM Quentin Limbourg and Jean Vanderdonckt Université catholique de Louvain, Place des Doyens, 1 B-1348 Louvain-la-Neuve, Belgium {Limbourg, Vanderdonckt}@isys.ucl.ac.be

More information

Dialogue Notations and Design

Dialogue Notations and Design Dialogue Notations and Design Learning Objectives State the two main classes of dialogue notations Explain why we need dialogue notations For the different types of diagrammatic dialogue notation within

More information

NiMMiT: A NOTATION FOR MODELING MULTIMODAL INTERACTION TECHNIQUES

NiMMiT: A NOTATION FOR MODELING MULTIMODAL INTERACTION TECHNIQUES NiMMiT: A NOTATION FOR MODELING MULTIMODAL INTERACTION TECHNIQUES Keywords: Abstract: Multimodal Interaction, Interaction Technique, Interactive Virtual Environment, Metaphors, Model-Based Design The past

More information

A Top-Down Visual Approach to GUI development

A Top-Down Visual Approach to GUI development A Top-Down Visual Approach to GUI development ROSANNA CASSINO, GENNY TORTORA, MAURIZIO TUCCI, GIULIANA VITIELLO Dipartimento di Matematica e Informatica Università di Salerno Via Ponte don Melillo 84084

More information

40 Behaviour Compatibility

40 Behaviour Compatibility 40 Behaviour Compatibility [2] R. De Nicola, Extentional Equivalences for Transition Systems, Acta Informatica, vol. 24, pp. 21-237, 1987. [3] J. Gray, Notes on Data Base Operating Systems, in Operating

More information

Human Computer Interaction Lecture 08 [ Implementation Support ] Implementation support

Human Computer Interaction Lecture 08 [ Implementation Support ] Implementation support Human Computer Interaction Lecture 08 [ Implementation Support ] Imran Ihsan Assistant Professor www.imranihsan.com aucs.imranihsan.com HCI08 - Implementation Support 1 Implementation support programming

More information

Management Science Letters

Management Science Letters Management Science Letters 4 (2014) 111 116 Contents lists available at GrowingScience Management Science Letters homepage: www.growingscience.com/msl A new method for converting extended version of petri

More information

Exception Handling in S88 using Grafchart *

Exception Handling in S88 using Grafchart * Presented at the World Batch Forum North American Conference Woodcliff Lake, NJ April 7-10, 2002 107 S. Southgate Drive Chandler, Arizona 85226-3222 480-893-8803 Fax 480-893-7775 E-mail: info@wbf.org www.wbf.org

More information

Towards the integration of security patterns in UML Component-based Applications

Towards the integration of security patterns in UML Component-based Applications Towards the integration of security patterns in UML Component-based Applications Anas Motii 1, Brahim Hamid 2, Agnès Lanusse 1, Jean-Michel Bruel 2 1 CEA, LIST, Laboratory of Model Driven Engineering for

More information

Comparing and Contrasting different Approaches of Code Generator(Enum,Map-Like,If-else,Graph)

Comparing and Contrasting different Approaches of Code Generator(Enum,Map-Like,If-else,Graph) Comparing and Contrasting different Approaches of Generator(Enum,Map-Like,If-else,Graph) Vivek Tripathi 1 Sandeep kumar Gonnade 2 Mtech Scholar 1 Asst.Professor 2 Department of Computer Science & Engineering,

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Ravi K. Gedela, Sol M. Shatz and Haiping Xu Concurrent Software Systems Lab The University of Illinois at Chicago Chicago, IL USA

Ravi K. Gedela, Sol M. Shatz and Haiping Xu Concurrent Software Systems Lab The University of Illinois at Chicago Chicago, IL USA Compositional Petri Net Models of Advanced Tasking in Ada-95 1 Ravi K. Gedela, Sol M. Shatz and Haiping Xu Concurrent Software Systems Lab The University of Illinois at Chicago Chicago, IL 60607 USA Abstract

More information

Issues on Decentralized Consistency Checking of Multi-lateral Collaborations

Issues on Decentralized Consistency Checking of Multi-lateral Collaborations Issues on Decentralized Consistency Checking of Multi-lateral Collaborations Andreas Wombacher University of Twente Enschede The Netherlands a.wombacher@utwente.nl Abstract Decentralized consistency checking

More information

Functional verification on PIL mode with IAR Embedded Workbench

Functional verification on PIL mode with IAR Embedded Workbench by Cristina Marconcini, STM CASE s.r.l. Functional verification on PIL mode with IAR Embedded Workbench The increase of complexity of embedded system components combined with time-to-market constraints

More information

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development

More information

Online Conformance Checking for Petri Nets and Event Streams

Online Conformance Checking for Petri Nets and Event Streams Online Conformance Checking for Petri Nets and Event Streams Andrea Burattin University of Innsbruck, Austria; Technical University of Denmark, Denmark andbur@dtu.dk Abstract. Within process mining, we

More information

Implementation of Process Networks in Java

Implementation of Process Networks in Java Implementation of Process Networks in Java Richard S, Stevens 1, Marlene Wan, Peggy Laramie, Thomas M. Parks, Edward A. Lee DRAFT: 10 July 1997 Abstract A process network, as described by G. Kahn, is a

More information

Specification of Behavioural Requirements within Compositional Multi-Agent System Design

Specification of Behavioural Requirements within Compositional Multi-Agent System Design Specification of Behavioural Requirements within Compositional Multi-Agent System Design Daniela E. Herlea 1, Catholijn M. Jonker 2, Jan Treur 2, Niek J.E. Wijngaards 1,2 1 University of Calgary, Software

More information

I&R SYSTEMS ON THE INTERNET/INTRANET CITES AS THE TOOL FOR DISTANCE LEARNING. Andrii Donchenko

I&R SYSTEMS ON THE INTERNET/INTRANET CITES AS THE TOOL FOR DISTANCE LEARNING. Andrii Donchenko International Journal "Information Technologies and Knowledge" Vol.1 / 2007 293 I&R SYSTEMS ON THE INTERNET/INTRANET CITES AS THE TOOL FOR DISTANCE LEARNING Andrii Donchenko Abstract: This article considers

More information

Building Petri nets tools around Neco compiler

Building Petri nets tools around Neco compiler Building Petri nets tools around Neco compiler Lukasz Fronc and Franck Pommereau {fronc,pommereau}@ibisc.univ-evry.fr IBISC, Université d Évry/Paris-Saclay IBGBI, 23 boulevard de France 91037 Évry Cedex,

More information

Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages , August Timed automata have been proposed in [1, 8] to model nite-s

Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages , August Timed automata have been proposed in [1, 8] to model nite-s Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages 1243 1250, August 1992 1 Compiling Timed Algebras into Timed Automata Sergio Yovine VERIMAG Centre Equation, 2 Ave de Vignate, 38610 Gieres,

More information