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
Semester
Hours: C+S+L
Category
Type
Component-Based Programming - in English
1
2+0+2
speciality
compulsory
Modeling and Simulation - in English
1
2+0+2
speciality
compulsory
Teaching Staff in Charge
Lect. LAZAR Ioan, Ph.D.,  ilazarcs.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 – part I
Actions and Control flow
Modeling User interface navigation
Reference: [Fowler, 2003], [UML 2.0 Superstructure]
Week 8: UML Activities – 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 – part I
Reference: [Mellor, 2004], [Gamma and Beck, 2003]
Week 12: Building an Agile MDA Eclipse plug-in – part II
Integration of statemachine diagrams
Reference: [Mellor, 2004], [Gamma and Beck, 2003]
Week 13: Building an Agile MDA Eclipse plug-in – part III
Integration of activity diagrams
Reference: [Mellor, 2004], [Gamma and Beck, 2003]
Week 14: Building an Agile MDA Eclipse plug-in – part IV
Adding an Agile MDA process
Reference: [Mellor, 2004], [Gamma and Beck, 2003]
References
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.
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject