category of cones, if any, is called a limit of the D
diagram. This limit is also called universal cone.
Definition 7. (Barr and Wells, 2012; Barr and Wells,
2002) Let be a graph and a category. Let D:
be a diagram in with the shape and
C
:
constant functor (which maps all objects in C and all
arcs in id
C
). A commutative cocone with base D and
vertex C is a natural transformation p:D
C
.
Definition 8. The set of cocones along with the
morphisms between them form a category we call the
category of cocones.
Definition 9. An initial object (cocone) in the
category of cocones, if any, is called colimit of
diagram D. This colimit is also called the universal
cocone.
Definition 10. (Barr and Wells, 2012; Barr and Wells,
2002) A sketch = (, , ,) consists of a graph
, a set of diagrams in , a set of cones in , and
a set of cocones in . The graph arrows of a sketch
are often called sketch operations.
Definition 11. (Barr and Wells, 2012; Barr and Wells,
2002) A model of a sketch =(,,,) is a functor
M from to Set that takes each diagram from to a
commutative diagram in Set, each cone from to a
cone limit and every cocone from to a colimit
cocone.
We will denote with numbers the nodes of the shape
graph, with lowercase letters the nodes of the graph
of sketches and with uppercase letters, the objects of
the categories.
3 CATEGORICAL SKETCH OF
THE MODELING METHOD
A model is a point of view over a domain. To be able
to perceive the purpose of this paper, it is important
to understand the term modeling method
(Karagiannis and Kühn, 2002), and the difference
between a modeling language and a modeling
method.
A modeling method consists of two components:
(1) a modeling technique, which is divided in a
modeling language and a modeling procedure, and (2)
mechanisms & algorithms working on the models
described by a modeling language (Karagiannis and
Visic, 2011).
The static part of a process model is a graph with
some syntactic restrictions (Karagiannis and
Junginger and Strobl, 1996). These restrictions will
then be introduced into the sketch of a modeling
method metamodel based on mechanisms specific to
the category theory such as commutative diagrams,
limits and colimits. The result is the concept of
Categorical Modeling Method.
In this paper we will define and demonstrate the
concept of Categorical Modeling Method for the Petri
Net grammar. A Petri Net is a type of transition
system in which a transition does not affect a global
state, but the occurrence of an event affects only a
subset of conditions in its neighborhood.
Also, Petri Nets are an established model of
parallel computing (Glynn, 2009). In addition,
expressive graphics determine a wide use of Petri
Nets in modeling, analysis and design, covering a
significant area of sequentially controlled processes,
from the dynamics of individual entities, to the
dynamics of some collective entities.
The static part of a Petri Net is a directed graph,
weighted and bipartite graph, i.e. consisting of two
types of nodes, called places, and transition
respectively. Oriented arcs combine either a place
with a transition or a transition with a place. There are
no arcs connecting two places between them, or two
transitions between them. As graphical
representation, places are represented by circles, and
transitions through bars or rectangles.
The dynamic part of a Petri Net is represented by
the distribution of tokens on the nets places and the
modification of this distribution by conditional
triggering of the transitions.
The edges can be labeled with weights that are
positive and integer values. If the weight is one, it is
usually omitted in the graphical representations.
Frequently, concepts of conditions and events are
used, places are conditions, and transitions are events.
A transition (event) possesses a number of input
places called preconditions and a number of output
positions, which are postconditions for the event in
question.
A transition is triggered if all preconditions and
all postconditions are met. The triggering of a
transition affects only the conditions of its neighbor,
i.e. its preconditions and postconditions.
From a syntactic point of view, a Petri Net can be
defined as follows:
Definition 13. A Petri Net (PN) is a directed graph
= (X,, , ) which satisfies the following properties:
1. is a bipartite graph: X=PT , PT=
where: P- is a finite set of places, T- is a finite set of
transitions .
2. is a finite set of arcs, divided into two subsets:
=
PT
TP
,
PT
TP
=,