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	
MID1003	Behavioral Modeling of Software Systems	

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

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
LAZAR Ioan	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
To introduce the student in advanced design techniques for behavioral modeling.
To present the mappings between UML behavioral metamodels and some existing lightweight frameworks.
To offer the student the opportunity to participate at designing a new framework that incorporates the correspondence between UML models and concrete frameworks.
To offer the student the instruments that will allow him/her to enhance the framework to other specific needs.	

IV. Course contents
UML metamodels
UML extension mechanism - profiles
UML behavior models: sequence diagrams, communication diagrams, state machines, activities
Modeling object internal behavior
Modeling user interface navigation using statemachines and activities. 
Modeling business processes
Model transformation and code generation
Executable UML models
Agile MDA	

V. Bibliography
1. AndroMDA. Business Process Management for Struts Cartridge. 2006. http://galaxy.andromda.org/docs/andromda-bpm4struts-cartridge/index.html
2. Erich Gamma et al. Design Patterns: Elements of Reusable Object Oriented Software. Addison Wesley, 1995.
3. Erich Gamma and Kent Beck. Contributing to Eclipse: Principles, Patterns, and Plug-Ins. Addison Wesley, 2003.
4. Martin Fowler. Patterns of Enterprise Application Architecture. Addison Wesley, 2002.
5. Martin Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition. Addison Wesley, 2003.
6. Michael Mahemoff. Ajax Design Patterns. O@Reilly, 2006.
7. Stephen J. Mellor, Kendall Scott, Axel Uhl, and Dirk Weise. MDA Distilled: Principles of Model-Driven Architecture. Addison Wesley, 2004.
8. Rod Johnson et al. Spring 2.0 Reference Documentation. 2006. http://www.springframework.org/	

VI. Thematic of didactic activities per weeks
Week 1:  Introduction
	UML sequence diagrams
	UML communication diagrams
	Reference: [Fowler, 2003], [UML 2.0 Superstructure]
Week 2: State machines
	UML metamodel 
	State GoF Design Pattern
	Modeling object internal behavior
	Reference: [Fowler, 2003], [UML 2.0 Superstructure]
Week 3:  UML extension mechanism
	UML profiles
	UML profiles for user interfaces
	Reference: [UML 2.0 Superstructure]
Week 4:  An MDA approach for designing user interfaces
	MDA
	Modeling user interface navigation using statemachines
	Reference: [MDA], [AndroMDA]
Week 5:  Transforming user interface models for web applications
	QVT
	MVC Pattern
	Reference: [Gamma et al, 1995], [Johnson, 2006], [QVT]
Week 6:  Developing Web user interface navigation for AJAX applications
	Adding stereotypes for AJAX applications
	Model transformation
	Reference: [Mahemoff, 2006]
Week 7:  UML Activities &#8211; part I
	Actions and Control flow
	Modeling User interface navigation
	Reference: [Fowler, 2003], [UML 2.0 Superstructure]
Week 8:  UML Activities &#8211; part II
	Data flow
	Modeling business processes
	Reference: [Fowler, 2003], [UML 2.0 Superstructure]
Week 9:  UML profiles for activities
	Other transformation tools
	AndroMDA
	Reference: [AndroMDA]
Week 10:  Agile MDA
	Reference: [Mellor, 2004]
Week 11:  Building an Agile MDA Eclipse plug-in &#8211; part I
	Reference: [Mellor, 2004], [Gamma and Beck, 2003]
Week 12:  Building an Agile MDA Eclipse plug-in &#8211; part II
	Integration of statemachine diagrams
	Reference: [Mellor, 2004], [Gamma and Beck, 2003]
Week 13:  Building an Agile MDA Eclipse plug-in &#8211; part III
	Integration of activity diagrams
	Reference: [Mellor, 2004], [Gamma and Beck, 2003]
Week 14:  Building an Agile MDA Eclipse plug-in &#8211; part IV
	Adding an Agile MDA process
	Reference: [Mellor, 2004], [Gamma and Beck, 2003]	

VII. Didactic methods used
The course is based on the following methods: exposure, conversation, didactical proof, modelling, and the discussion of some case studies and programming examples. 
Each student must prepare a research paper on an established topic, and a software project.	

VIII. Assessment
The activity ends with a written final exam (grade E). During the semester, the students will have to prepare a theoretical report (grade R) and a software project that will have to illustrate the use of behavioral models for business logic and user interfaces (grade P). The final grade is the weighted mean of the grades mentioned above. The final grade = 40%E + 20%R + 40%P. 
Successful passing of the exam is conditioned by the final grade that has to be at least 5. Passing of the exam is also conditioned by grade E to be at least 5.	

IX. Additional references

	Dean,							Chair head,

	Date,							Course responsible,
	24.09.2009						Lect. Dr.  LAZAR Ioan