An Outline of Rule-Based Renement for Petri Nets. Julia Padberg. Technical University of Berlin. Institute for Communication- and Software-Technique

Similar documents
Petri Net Transformations

FUNCTORS JULIA PADBERG. Institute for Communication and Software Technology.

From Abstract Data Types. H. Ehrig, M. Gajewsky, U. Wolter. Technical University of Berlin

Petri Net Modules in the Transformation-Based Component Framework

Fundamental Theory for Typed Attributed Graph Transformation

Forschungsberichte der Fakultät IV Elektrotechnik und Informatik. Concurrency in Reconfigurable Place/Transition Systems:

Implementing -Reduction by. Hypergraph Rewriting. Sabine Kuske 1. Fachbereich Mathematik und Informatik. Universitat Bremen. D{28334 Bremen, Germany

Parallel Independence in Hierarchical Graph Transformation

Attribution of Graphs by Composition of M, N -adhesive Categories

Proceedings of the 12th International Workshop on Graph Transformation and Visual Modeling Techniques (GTVMT 2013)

Concurrency for Graph Grammars in a Petri net shell

Formal Modelling and Analysis of Recongurable Object Nets Based on the RON Editor

A Static Analysis Technique for Graph Transformation Systems

A Graph Rewriting Semantics for the Polyadic π-calculus

Compact Regions for Place/Transition Nets

Secondly, a loose semantics for graph transformation systems is dened, which

Local state refinement on Elementary Net Systems: an approach based on morphisms

Composition and Decomposition of DPO Transformations with Borrowed Context

An Algebraic View of the Relation between Largest Common Subtrees and Smallest Common Supertrees

Embedding and Confluence of Graph Transformations with Negative Application Conditions

Double-pushout graph transformation revisited

Ensuring Structural Constraints in Graph-Based Models with Type Inheritance

Lectures - XXIII and XXIV Coproducts and Pushouts

An algebraic model of observable properties in distributed systems

A Taste of. Categorical Petri Nets

Towards a Notion of Transaction in Graph Rewriting 1

Composition of Elementary Net Systems based on α-morphisms

sset(x, Y ) n = sset(x [n], Y ).

1. Introduction and preliminaries

Math 541 Fall 2008 Connectivity Transition from Math 453/503 to Math 541 Ross E. Staffeldt-August 2008

Analysis and Optimization of Discrete Event Systems using Petri Nets

Parameterized Reachability Trees for Algebraic Petri Nets

Towards Component Verification in the Generic Component Framework

UNIVERSITÀ CA FOSCARI DI VENEZIA Dipartimento di Informatica Technical Report Series in Computer Science. Rapporto di Ricerca CS

Aperiodic languages and generalizations

Topos Theory. Lectures 17-20: The interpretation of logic in categories. Olivia Caramello. Topos Theory. Olivia Caramello.

Research Article On Categories of Fuzzy Petri Nets

Symbolic Graphs for Attributed Graph Constraints

Abstracting away from cell complexes

A Framework for the Verification of Infinite-State Graph Transformation Systems 1

Boolean Algebra and Propositional Logic

Proving Termination of Graph Transformation Systems using Weighted Type Graphs over Semirings

What are Sifted Colimits?

On-the-Fly Construction, Correctness and Completeness of Model Transformations based on Triple Graph Grammars

Boolean Algebra and Propositional Logic

3. The Sheaf of Regular Functions

A Polynomial Time Algorithm for Parsing with the Bounded Order Lambek Calculus

Composition and Decomposition of DPO Transformations with Borrowed Context

Topos Theory. Lectures 21 and 22: Classifying toposes. Olivia Caramello. Topos Theory. Olivia Caramello. The notion of classifying topos

Graph Transformation via Abstract Diagrams

Transformation of Corecursive Graphs

Barr s Embedding Theorem for Enriched Categories

Category Theory (UMV/TK/07)

Markings in Perpetual Free-Choice Nets Are Fully Characterized by Their Enabled Transitions

where Σ is a finite discrete Gal(K sep /K)-set unramified along U and F s is a finite Gal(k(s) sep /k(s))-subset

On the modularity in Petri Nets of Active Resources

Extremal problems in logic programming and stable model computation Pawe l Cholewinski and Miros law Truszczynski Computer Science Department Universi

TECHNISCHE UNIVERSITÄT DRESDEN. Fakultät Informatik. Technische Berichte Technical Reports. Daniel Kirsten. TUD / FI 98 / 07 - Mai 1998

group Jean-Eric Pin and Christophe Reutenauer

Another algorithm for nonnegative matrices

A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS

ALGEBRAS OVER EQUIVARIANT SPHERE SPECTRA

Some glances at topos theory. Francis Borceux

and acyclic structure of all its possible concurrent computations. Interestingly, the

Universal Properties

PART I. Abstract algebraic categories

Category Theory. Categories. Definition.

ALGEBRAIC K-THEORY HANDOUT 5: K 0 OF SCHEMES, THE LOCALIZATION SEQUENCE FOR G 0.

Bjorn Poonen. Cantrell Lecture 3 University of Georgia March 28, 2008

Complete Process Semantics for Inhibitor Nets Technical Report

Pushouts, Pullbacks and Their Properties

Derived Algebraic Geometry IX: Closed Immersions

Unbounded quantifiers and strong axioms in topos theory

On Term Graphs as an Adhesive Category

Structures in tangent categories

A few bridges between operational and denotational semantics of programming languages

Categories and Modules

A short introduction to mereology

A Grothendieck site is a small category C equipped with a Grothendieck topology T. A Grothendieck topology T consists of a collection of subfunctors

Graph-based specification of access control policies

Algebraic Geometry

AMALGAMATIONS OF CATEGORIES

Tree sets. Reinhard Diestel

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

0.1 Spec of a monoid

Potential reachability in commutative nets

Functorial Models for Petri Nets 1

Counting and Constructing Minimal Spanning Trees. Perrin Wright. Department of Mathematics. Florida State University. Tallahassee, FL

Postulated colimits and left exactness of Kan-extensions

Derived Algebraic Geometry I: Stable -Categories

Category theory and set theory: algebraic set theory as an example of their interaction

Attributed Graph Transformation via Rule Schemata: Church-Rosser Theorem

BX with Triple Graph Grammars PART 2: SYMMETRIC DELTA LENSES

Assume the left square is a pushout. Then the right square is a pushout if and only if the big rectangle is.

An introduction to locally finitely presentable categories

SOME OPERATIONS ON SHEAVES

arxiv: v1 [math.ct] 28 Oct 2017

Graph Transformations

Amalgamable diagram shapes

Latin squares: Equivalents and equivalence

Transcription:

An Outline of Rule-Based Renement for Petri Nets Julia Padberg Technical University of Berlin Institute for Communication- and Software-Technique FB 13 Sekr. 6-1 D-10587 Berlin e-mail: padberg@cs.tu-berlin.de August 13, 1996 Extended Abstract The concept of renement is a well-known technique within software engineering in general and for stepwise development of Petri nets in particular. In fact, several dierent concepts for the renement of nets have been proposed in literature, above all the renement of places, transitions or even subnets by some other subnet. Based on the idea of formal grammars, we propose rulebased renement to present rules denoting the replacement of a subnet by another one, without changing the remaining part of the whole net. This has the advantage of a simple local presentation of the renement, even if the whole system is large and complex. We consider to have a rule p with a left-hand side net L that is replaced by a right-hand side net R. This rule can be applied to some net N, yielding the new net M. This application of a rule 1 p, called transformation 1, is denoted by N =) p M. We study rule-based renement and horizontal structuring for Petri nets in general. This means, that in [Pad96] we have introduced a notion of abstract Petri nets, that comprises several dierent Petri net classes, basic as well as high-level. A general approach to rule-based renement has already been introduced ([Pad96]) by the theory of high-level replacement systems in the sense of [EHKP91b, EHKP91a]. This theory generalizes the theory of graph grammars to high-level structures dened as objects in a suitable category. We discuss the relation of rulebased renement to other notions of renement. Moreover, we review the concepts and results for independence and parallelism of transformations from [EHKP91b, EHKP91a]. We introduce horizontal structuring techniques, union and fusion, that are expressed in the frame of high-level replacement systems using colimit constructions. Furthermore, we sketch the compatibility of these constructions with transformations. This work has been granted by the DFG Graduiertenkolleg \Kommunuikationsbasierte Systeme". Moreover, the proposal on the DFG-Forschergruppe Petrinetz-Technologie (working since 1.4.1996) by Prof. Dr. H. Weber, Prof. Dr. W. Reisig and Prof. Dr. H. Ehrig has strongly inuenced this work. 1 In the standard terminologyof graph grammars rules and transformations are called productions and derivations, respectively. In the context of nets, however, we prefer to speak about rules and transformations. 1

We consider rule-based renement for Petri nets as special cases of transformations in high-level replacement systems. High-level replacement systems are formulated for an adequate category PN of Petri nets with a distinguished class M of morphisms which is used to classify dierent types of rules. Concept 1 (Rule-based Renement for Petri Nets) Let PN be a category where the objects can be regarded as Petri nets, and the morphisms as structure preserving functions, that is as Petri net morphisms. Like other kinds of formal grammars, high-level replacement systems consist of a start item and a set of rules. Based on the algebraic approach to graph grammars (introduced in [Ehr79]) and its categorical formulation in high-level replacement systems [EHKP91a, EHKP91b] our notion of rules and transformations in high-level replacement systems and Petri nets is based on morphisms and pushouts in an adequate category PN of Petri nets. The rule is splitted into a deleting part L, an adding part R and an interface K which is presented, such that the rule p is given by p = (L l K! r R) where l and r are Petri net morphisms. Deleted are those parts of the net L that are not in the image of the morphism l : K! L. In general terms, the `dierence' between L and K is deleted. Adding works symmetrically, all those parts of R are added, that are not in the image of the morphism r : K! R. The transformation N =) p M is dened using two pushouts (1) and (2) : - l r L K R g1 (1) g2 (2) g3?? -? N C M c1 c2 These pushout constructions can be regarded as a union of nets with shared subnets. In this case the pushout (1) describes the net N as the union of L and C, where the common subnet K is shared. Analogously, M presents the union of R and C with respect to K. If the rule p is applied to the net N via an occurrence morphism g1 : L! N, the deletion step is expressed by the construction of a net C, called context net or pushout complement, together with morphisms g2 : K! C and c1 : C! N. Then (1) becomes a pushout, that is N becomes the gluing of L and C via K. In fact, the occurrence morphism g1 has to satisfy a specic condition, called gluing condition (see [Ehr79]). This condition ensures that the deletion step yields a well-dened context net C. Otherwise, the rule cannot be applied with occurence g1. Once we have the context net C with g2 : K! C the addition is dened by using the pushout (2), that is M becomes the gluing of R and C via K. 2 Example 2 (Renement Step for Requirements Engineering) We demonstrate the application of a rule using an example of a case study introduced in [Erm96], concerning the requirements engineering of a medical information system. The main task has been to describe the actual state of documents and routines at the German Heart Center in Berlin with algebraic high-level nets and to model the abstraction from actual state to functional essence using rule-based renement of algebraic high-level nets. The following transformation step is taken from this case study as an example. Consider the rule r A 8 = (L r A 8 K r A 8! R r A 8) in gure 1, where the objects are algebraic high-level nets and the morphisms are inclusions. Intuitively spoken, an algebraic high-level 2

net is a place/transition net with inscriptions from an algebraic specication. The corresponding algebraic specication is not given here, but can be found in [Erm96]. The rule in gure 1 is concerned with the measurement of the blood pressure during the treatment of a patient. For each measuring we additionally test for hypertension. In this case the doctor is informed by a distinct warning in the temperature chart. The left hand side net L r A 8 of the rule r A 8 contains the places italwert 2, sdokument 3, and 4 as well as the transitions 5 and italwert in FK eintragen 6. The interface net K r A 8 consists of the same places, but lacks the transition and its adjacent arcs. This inclusion morphism K r A 8! L r A 8 means that the transition is deleted. In addition the right hand side net R r A 8 contains the place Wert zur Blutdruckpruefung 7, and the transitions Bluthochdruck in FK vermerken 8 and. The latter has the same name like the transition that has been deleted. Nevertheless, it is a dierent transition, because of the additional arc to the place Wert zur Blutdruckpruefung. Moreover, the specication has to be adapted coherently by adding the equations used for the entry of blood hypertension (for details see [Erm96]). getpat()=patid Anord=get_Anord(get_AnBg()) italwert italwert in FK eintragen getpat()=patid FK=get_FK() ch_ (,ch_fk(fk,)) italwert italwert in FK eintragen getpat()=patid FK=get_FK() - ch_ (,ch_fk(fk,)) italwert italwert in FK eintragen getpat()=patid FK=get_FK() ch_ (,ch_fk(fk,)) getpat()=patid Anord=get_Anord(get_AnBg()) ch_ (,ch_fk(fk,hochdr)) Wert zur Bluthochdruckpruefung Bluthochdruck in FK vermerken hochdr(bd)=t FK=get_FK() v(bd,zp,patid) L r A 8 K r A 8 R r A 8 Figure 1: Rule for Addition of Blood Hypertension The application of rule r A 8 to the net A a yields the following transformation shown in gure 2. The deletion of the transition yields the context net C A and the addition of the place Wert zur Blutdruckpruefung, and the transitions Bluthochdruck in FK vermerken and yields the net A b. 2 measured vital value 3 ward documents 4 patient at ward 5 measuring blood pressure 6 entering vital value into temperature chart 7 value for hypertension examination 8 marking hypertension in temperature chart 3

L r A 8 K r A 8 R r A 8 getpat()=patid Anord=get_Anord(get_AnBg()) italwert italwert italwert in FK eintragen getpat()=patid FK=get_FK() - ch_ (,ch_fk(fk,)) italwert italwert in FK eintragen getpat()=patid FK=get_FK() ch_ (,ch_fk(fk,)) italwert in FK eintragen getpat()=patid FK=get_FK() ch_ (,ch_fk(fk,)) getpat()=patid Anord=get_Anord(get_AnBg()) ch_ (,ch_fk(fk,hochdr)) Bluthochdruck in FK vermerken hochdr(bd)=t FK=get_FK() v(bd,zp,patid)??? italwert italwert in FK eintragen getpat()=patid FK=get_FK() ch_ (,ch_fk(fk,)) v(ea,zp,patid) v(p,zp,patid) v(t,zp,patid) v(zd,zp,patid) v(mad,zp,patid) getpat()=patid Anord=get_Anord(get_AnBg()) Puls messen getpat()=patid Anord=get_Anord(get_AnBg()) puls_erw(anord)=t Temperatur messen getpat()=patid Anord=get_Anord(get_AnBg()) temp_erw(anord)=t Pfleger ZD messen getpat()=patid Anord=get_Anord(get_AnBg()) zvd_erw(anord)=t MAD messen getpat()=patid Anord=get_Anord(get_AnBg()) mad_erw(anord)=t Ein-/Ausfuhr messen getpat()=patid Anord=get_Anord(get_AnBg()) ein/aus_erw(anord)=t italwert v(p,patid) v(t,patid) v(zd,patid) v(mad,patid) Puls messen getpat()=patid Anord=get_Anord(get_AnBg()) puls_erw(anord)=t Temperatur messen v(ea,patid) getpat()=patid Anord=get_Anord(get_AnBg()) temp_erw(anord)=t italwert in FK eintragen getpat()=patid FK=get_FK() - Pfleger ch_ (,ch_fk(fk,)) ZD messen getpat()=patid Anord=get_Anord(get_AnBg()) zvd_erw(anord)=t MAD messen getpat()=patid Anord=get_Anord(get_AnBg()) mad_erw(anord)=t Ein-/Ausfuhr messen getpat()=patid Anord=get_Anord(get_AnBg()) ein/aus_erw(anord)=t Werte zur Bluthochdruckpruefung italwert italwert in FK eintragen getpat()=patid FK=get_FK() v(bd,patid) Bluthochdruck in FK vermerken hochdruck(bd)=t FK=get_FK() Wert zur Bluthochdruckpruefung v(p,zp,patid) v(t,zp,patid) v(zd,zp,patid) v(mad,zp,patid) v(ea,zp,patid) ch_ (,ch_fk(fk,)) v(bd,patid) ch_ (,ch_fk(fk,hochdr)) getpat()=patid Anord=get_Anord(get_AnBg()) Puls messen getpat()=patid Anord=get_Anord(get_AnBg()) puls_erw(anord)=t Temperatur messen getpat()=patid Anord=get_Anord(get_AnBg()) temp_erw(anord)=t Pfleger ZD messen getpat()=patid Anord=get_Anord(get_AnBg()) zvd_erw(anord)=t MAD messen getpat()=patid Anord=get_Anord(get_AnBg()) mad_erw(anord)=t Ein-/Ausfuhr messen getpat()=patid Anord=get_Anord(get_AnBg()) ein/aus_erw(anord)=t A a C A A b Figure 2: Rule-Based Renement 3 4

Concept 3 (Relationship to Renement Concepts for Petri nets) It remains to discuss, how our notion of transformation is related to the various notions of re- nement in Petri net literature. Assume that we have an arbitrary renement of some net N to some other net M dened via some of the techniques known in literature. Then N and M can be regarded as the left and the right hand side of the following rule p = (N ;! M) with the empty net ; as the interface. Applying this rule p to the net N leads to the (quite trivial) transformation N =) p M. Hence, each renement discussed in literature, can be considered as a transformation in our sense. A more substantiated approach to include several well-known renements (as in [MM90, Des91, DM90]) is given in [Pad96] using the new concept of Q-transformations within the frame of high-level replacement systems. The concept of Q-transformations combines well-known approaches of renement based on morphisms with the new concept of rule-based renement. Furthermore, we can transfer our results. The main idea is to supply rules with an addition morphism, illustrated by : q? l r-@r L K R This additional morphism belongs to a specic class Q of morphisms. Such morphisms can be vincinity preserving morphisms in the sense of [Des91, DM90]. In gure 3 we illustrate an example of this kind of morphism. Figure 3: Example of a Q-Morphism in the Sense of [DM90, Des91] p Figure 4 illustrates the above renement morphisms (g. 3) as a renement rule, that is a Q-rule. Another example for Q-morphisms are morphisms in the sense of [MM90], where gure 5 illustrates an example of this kind of morphism. 2 5

Figure 4: Example of a Q-Rule p Figure 5: Example of a Q-Morphism in the Sense of [MM90] 6

Concept 4 (Rule-Based Renement and Horizontal Structuring) Rule-based renement is based on high-level replacement systems in the sense of [EHKP91a, EHKP91b]. Transformations of Petri nets N =) p M are achieved by the application of a rule p = (L K! R) to the net N in an adequate category of Petri nets. The transformation yields the net M, where M is intuitively the result of deleting the subnet L from the net N and then adding the subnet R. In order to use rule-based renement for practical purposes it has { due to the size of typical applications in practice { to be applied in parallel as well as to be compatible with horizontal structuring. Concepts for Parallelism There are three important theorems concerning parallelism: The local Church-Rosser-Theorems I and II and the Parallelism Theorem. These theorems are based on the notions of parallel and sequential independence of transformations, which intuitively mean that the corresponding occurences of the rules are disjoint or overlap in gluing items of the interface only. Local Church-Rosser Theorem I states the fact that two parallel independent transformations G =) p H and G =) p0 H 0 can be sequentialized in any order, that means there is an object X and sequentially independent transformations G =) p H =) p0 X and G =) p0 p H =) 0 X. Local Church-Rosser Theorem II states, that two sequentially independent transformations can be computed in any order. Given the sequentially independent transformation G =) p H =) p0 X, then we have as well a sequentially independent transformation G =) p0 p H =) 0 X, where the rules are applied in the opposite order leading to the same object X. Parallel rules, intuitively given by the componentwise disjoint union, are constructed by using the coproduct of two rules p and p 0, denoted by p+p 0. A transformation via p+p 0 is called parallel transformation. The Parallelism Theorem asserts, that there are two operations ANALYSIS and SYNTHESIS transforming parallel transformations into sequentially independent ones and vice versa: ANALYSIS : A parallel transformation G p+p0 =) X can be analyzed by two sequentially independent transformation sequences G =) p H =) p0 X and G =) p0 p H =) 0 X that results in the same object X. SYNTHESIS : Each sequentially independent transformation G =) p H =) p0 X can be synthesized into one parallel transformation G p+p0 =) X yielding the same result X. ANALYSIS and SYNTHESIS are inverse to each other. Concepts for Horizontal Structuring are Compatible with Transformations There are two important concepts for horizontal structuring of high-level structures, called fusion and union. They generalize constructions known from coloured nets [Jen92] to high-level structures using the categorical concepts of coequalizers and pushouts. Intuitively spoken, a fusion G?!G F 0 means that the object G contains two copies of a subobject F which are fused in the resulting object G 0. 7

A union (G1; G2)> =)G I of two objects G1 and G2 with a shared subobject I means in general terms that the resulting object G is the gluing of G1 and G2 along the shared subobject I. The Fusion Theorem shows that for each fusion G?!G F 0 and each direct transformation G =) p H there is an induced fusion H?!H F p 0 and an induced direct transformation G =) 0 H 0 with the same object H 0, provided that the fusion is independent from the transformation: G =) p H?!H F 0 = G?!G F 0 p =) H 0 The Union Theorem states that for each union (G 1 ; G 2 )> =)G I and each pair of direct transformations G i =) Hi for i = 1; 2 there is an induced union (H1; H2)> =)H I and an induced parallel p i transformation G p1+p2 =) H with the same object H, provided that the union is independent of the given transformations: (G 1 ; G 2 )> =)G I p1+p2 =) H = (G 1 ; G 2 ) p1;p2 =) (H 1 ; H 2 )> =)H I Independence intuitively means that the subobjects F respectively I are preserved by the corresponding transformations. 2 References [Des91] [DM90] J. Desel. On Abstraction of Nets. In Advances in Petri Nets, pages 78{92. Springer erlag LNCS 524, 1991. J. Desel and A. Meceron. incinity Respecting Net Morphisms. In Advances in Petri Nets, pages 165{185. Springer erlag LNCS 483, 1990. [EHKP91a] H. Ehrig, A. Habel, H.-J. Kreowski, and F. Parisi-Presicce. From graph grammars to High Level Replacement Systems. pages 269{291, 1991. Lecture Notes in Computer Science 532. [EHKP91b] H. Ehrig, A. Habel, H.-J. Kreowski, and F. Parisi-Presicce. Parallelism and concurrency in high-level replacement systems. Math. Struct. in Comp. Science, pages 361{404, 1991. [Ehr79] H. Ehrig. Introduction to the algebraic theory of graph grammars. In. Claus, H. Ehrig, and G. Rozenberg, editors, 1st Graph Grammar Workshop, Lecture Notes in Computer Science 73, pages 1{69, 1979. [Erm96] [Jen92] [MM90] [Pad96] C. Ermel. Anforderungsanalyse eines medizinischen Informationssystems mit Algebraischen High-Level-Netzen. Technical Report 96-15, TU Berlin, 1996. Kurt Jensen. Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use, volume 1. Springer, 1992. J. Meseguer and U. Montanari. Petri nets are monoids. Information and Computation, 88(2):105{155, 1990. J. Padberg. Abstract Petri Nets: A Uniform Approach and Rule-Based Renement. PhD thesis, Technical University Berlin, 1996. 8