Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatica
Programul de studii: Programare bazată pe componente - în limba engleză
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MID1011	Petri Nets in Software Modeling and Verification	

Semester	Hours: C+S+L	Category	Status	
4	2+1+0	speciality	compulsory	

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
SACAREA Christian	Ph.D.	Lect.	Programming  Languages and Methods	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
Specific learning outcomes and competencies: The acquired knowledge and experience will allow the students to actively use Petri nets and the computer-aided tools based on them in modelling, design, verification, and implementation of various classes of systems. Based on the acquired theoretical knowledge, the student is able to transfer approaches of the Petri net theory to the domain of other formal models too.

Generic learning outcomes and competences: Abilities to apply and develop advanced information technologies based on suitable formal models, to propose and use such models and theories for automating the design, implementation, and verification of computer-based systems.

IV. Course contents
1.	An introduction to Petri nets, their philosophy and applications, the notion of a net and of the derived basic terms
2.	Condition/Event (C/E) Petri nets, cases and steps, the state space of C/E systems, cyclic and live C/E systems, equivalence of C/E systems.
3.	Contact-free C/E systems, complementation, case graphs and their application for analysing C/E systems.
4.	Processes of C/E systems, occurrence nets, properties of properties and composition of processes.
5.	Complementation of C/E systems, the synchronic distance, special synchronic distances, C/E systems and the propositional calculus, facts.
6.	Place/Transition (P/T) Petri nets, their definition, evolution rules, their state space, basic analytical problems (safety, boundedness, conservativeness, liveness).
7.	Representing the possibly infinite state space of Petri nets by a reachability tree, computing and using reachability trees for analysing P/T Petri nets.
8.	P and T invariants of P/T Petri nets, their definition, the ways of computing them and using them for analysing P/T Petri nets.
9.	Subclasses and extensions of P/T Petri nets, state machines, marked graphs, free-choice Petri nets, Petri nets with inhibitors, timed and stochastic Petri nets.
10.	The notion of a Petri net language, types of such languages, their closure properties, their relation to the Chomsky hierarchy. Computability and complexity of some selected Petri net-related problems.
11.	Coloured Petri nets (CPNs), their basic modelling primitives, an inscription language, CPN Design as an example of a tool based on CPNs.
12.	Analysis of CPNs, occurrence graphs, invariants, and their use in analysing systems.
13.	Hierarchical and object-oriented Petri nets, basic concepts of a hierarchical design, substitution and invocation, adding object-oriented features on top of Petri nets, PNtalk as a language based on object-oriented Petri nets.

V. Bibliography
1.	Reisig, W.: Petri Nets, An Introduction, Springer Verlag, 1985. ISBN: 0-387-13723-8
2.	Jensen, K.: Coloured Petri Nets, Basic Concepts, Analysis Methods and Practical Use, Springer Verlag, 1993. ISBN: 3-540-60943-1
3.	Girault, C., Valk, R.: Petri Nets for Systems Engineering: A Guide to Modeling, Verification, and Applications, Springer Verlag, 2002. ISBN 3-540-41217-4
4.	Desel, J., Reisig, W., Rozenberg, G.: Lectures on Concurrency and Petri Nets, Advances in Petri Nets, Lecture Notes in Computer Science, vol. 3098, Springer Verlag, 2004. ISBN 3-540-22261-8

VI. Thematic of didactic activities per weeks
According to the course content presented in IV. 

Projects and individual work of students:
1.	An application of C/E systems.
2.	An application of P/T Petri nets.
3.	An application of CPNS.
4.	An application of object-oriented Petri nets.
Each project implies modelling of a non-trivial system (or its part) by means of a Petri net of the given class and its simulation, analysis, and verification. Suitable computer-aided tools (e.g., PESIM, INA, PEP, TimeNET, CPN Design, Maria, PNtalk, etc.) will be used in the projects.	

VII. Didactic methods used
Lectures, presentations, conversations, projects, exercises, individual study, homework assignments.

VIII. Assessment
The activity ends with a written final exam. During the semester, the students will have to prepare a theoretical report and a software project in the topic. Optionally, the students can design an illustrative example for a course concept. 
Final grade consists from:
•	Final writtenexam:                                      30%
•	The quality of the project                           30%
•	Technical report :                                       25% 
•	A representativ example presentation :      15%

IX. Additional references
1. GUY VIDAL-NAQUET, ANNI CHOQUET-GENIET, Reseaux de Petri et Systemes Paralleles, Armond Colin, 1992.
2. T. JUCAN, F. L. TIPLEA, Retele Petri, Ed. Univ. "Al.I.Cuza", Iasi, 1995.
3. T. JUCAN, F. L. TIPLEA, Retele Petri. Teorie şi Practica, Ed. Academiei, 1999.	

	Dean,							Chair head,
Prof. Dr. Leon Tambulea					Prof. Dr. Bazil Parv

	Date,							Course responsible,
October 1, 2009						Lect. SACAREA Cristian, Ph.D.