Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Master
SUBJECT

Code	Subject	
MID1003	Behavioral Modeling of Software Systems	

Section	Sem.	Hours: C+S+L	Category	Type	
Component-Based Programming - in English	1	2+1+0	speciality	compulsory	
Modeling and Simulation  - in English	1	2+1+0	speciality	compulsory	

Teaching Staff in Charge	Lect. LAZAR Ioan, Ph.D., ilazar@cs.ubbcluj.ro	
Aims	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.
	
Content	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]
	
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/	
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.