Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatica
Programul de studii: Metode formale în programare - în limba engleză
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MID1025	Software Modeling	

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

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
CHIOREAN Ioan Danut	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
•	Teaching students about new concepts, trends and techniques used in software development.
•	Presenting the role of modeling, metamodeling and programming with models.
•	Explaining why these trends appeared, exemplifying by problems, aspects of software development that can be solved by applying the new techniques.
•	Highlighting the advantages of using the new technologies and tools against using "classical" technologies and tools (between 1980 - 2000)
•	Stimulating students' participation in extending and developing the new concepts, beyond understanding and using them.	

IV. Course contents
1.	The anatomy of modeling languages
2.	Navigating models and specifying constraints.
3.	Meta Object Facility (MOF)
4.	Modeling at different levels of abstraction
5.	Model Driven Architecture (MDA) and Model Driven Engineering (MDE)
6.	Domain Specific Modeling Languages (DSML)
7.	Model transformation
8.	Tools supporting MDA - case studies	

V. Bibliography
1.  David S. Frankel - Model Driven Architecture: Applying MDA to Enterprise Computing - Wiley Publishing 2003

2.  Steven Kelly and Juha-Pekka Tolvanen – Domain Specific Modeling - Wiley Publishing 2008

3.  Thomas Stahl and Markus Voelter – Model Driven Software Development - Wiley Publishing 2005

4.  Jos Warmer, Anneke Kleppe - The Object Constraint Language: Getting Your Models Ready for MDA, Second Edition - Addison Wesley 2003

5.  Jack Greenfield, Keith Short, Steve Cook, Stuart Kent, John Crupi - Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools - Wiley Publishing 2004

6.  Tony Clark, Paul Sammut, James Willans - APPLIED METAMODELLING A FOUNDATION FOR LANGUAGE DRIVEN DEVELOPMENT, SECOND EDITION - Ceteva Copyright - 2008 - online at http://itcentre.tvu.ac.uk/~clark/Publications.html

7.  Thomas Kuhne - Matters on (Meta-) Modeling - Software and Systems Modeling - Springer - Volume 5, Number 4 / December, 2006 - pp. 369-385

8.  [OMG] - Meta-Object Facility Specification - Version 2.0 - http://www.omg.org/cgi-bin/doc?formal/2006-01-01

9.  [OMG] - MOF 2.0/ XMI Mapping Specification, v. 2.1 - http://www.omg.org/cgi-bin/doc?formal/2005-09-01

10. [OCLE] - Object Constraint Language Environment - http://lci.cs.ubbcluj.ro/ocle	

VI. Thematic of didactic activities per weeks
Week 1
              The role and importance of modeling in the context of new trends in software development
References: [5] cap. 1 and [1] cap. 1

Week 2
              The anatomy of modeling languages
References: [4] cap. 8

Week 3
              Navigating models and specifying constraints.
References: [3] cap. 3 and [9]

Week 4
              Meta Object Facility (MOF)
                  a. metadata and their management
                  b. transferring MOF models using the XMI standard
References: [1] cap. 5, [7], [3] cap 6 and [8]

Week 5
                  c. MOF based repositories: UML, CWM, JMI
References: [1] cap. 5

Week 6
                  d. Domain Specific Languages
References: [2] cap 3 and 4 [5] cap. 9, [5] cap. 11 and [5] cap. 12

Week 7
              Modeling at different levels of abstraction
                  a. Platform Independent Models (PIM)
                  b. Platform Specific Models (PSM)
References: [1] cap. 8 and [7]

Week 8
              Model Driven Architecture (MDA) and Model Driven Engineering (MDE)
References: [4] cap. 3, [4] cap. 4 and [5] cap. 7

Week 9
              Aspect Oriented Modeling (AOM)
References: [2] cap. 1, 2 and 3

Week 10
              Model transformation
                  a. Automatic code generation
References: [6] cap. 14 and [8]

Week 11
                  b. Round Trip Engineering - Synchronizing the code with the model
References: [6] cap. 14 and [8]

Week 12-14
              Tools supporting MDA - case studies
References: [5] cap 11, [5] cap 12, [9]	

VII. Didactic methods used
Expositions: description, class lectures, explanations.
Conversations: debate, dialog, conversations for knowledge consolidation, conversations to systematize and synthesize knowledge.
Use of problems: use of problem questions, problems and problem situations.
Discovery: creative discovery, inductive discovery, deductive and experimental discovery.
Other methods: case study; cooperation, brainstorming, individual study, exercise, homework study.	

VIII. Assessment
The activity ends with a written final exam.  During the semester, the students will have to prepare a report related to a modern modeling topic and a software project, using appropriate modeling techniques and tools.

Final grade consists from:
•	Final written exam:                                       30%
•	The software project                                     30%
•	Report:                                                          20%
•	Activity during the semester:                        20%	

IX. Additional references

1.   Jim Arlow, Ila Neustadt - Enterprise Patterns and MDA : Building Better Software with Archetype Patterns and UML - Addison Wesley 2004

2.   Anneke Kleppe, Jos Warmer, Wim Bast - MDA Explained: The Model Driven Architecture--Practice and Promise - Addison Wesley 2003

3.   MOF – QVT Final Adopted Specification – http://www.omg.org/docs/ptc/05-11-01.pdf

4.   Dan Chiorean - Using OCL Beyond Specification, in Lecture Notes in Informatics 7 – “Practical UML-Based Rigorous Development Methods – Countering or Integrating the eXtremists - 3-88579-335-0, ISSN 1617-5468, pag. 57-68

5.   Dan Chiorean, Maria Borteş, Dyan Coruţiu - Object Constraint Language Environment, a Tool Supporting Teaching and learning UML, OCL, Metamodeling, Abstraction and Design by Contract – in Proceedings of Eight Workshop on Pedagogies and Tools for Teaching and Learning Object Oriented Concepts – online at: http://www.cs.umu.se/~jubo/Meetings/ECOOP2004

6.   Dan Chiorean, Adrian Carcu, Mihai Paşca, Cristian Botiza - Ensuring UML model consistency using the OCL environment – Electronic Notes in Theoretical Computer Science – ENTCS/102, 2004, pag. 99-110, http://dx.doi.org/10.1016/j.entcs.2003.09.005

7.   Dan Chiorean, Maria Borteş, Dyan Coruţiu - UML/OCL tools – Objectives, Requirements, State of the Art – The OCLE Experience; in Proceedings of 11th Nordic Workshop on Programming and Software Development Tools and Techniques pag. 163-180 – ISBN 952-12-1385-X, ISSN 1239-1905, 2004

8.   Fredrik Ferm - The four dimensions of system models – online at: http://www-128.ibm.com/developerworks/rational/library/nov06/ferm/

9.   Navigating UML models with UML – http://www.cs.tut.fi/~mda/documentation/eclipse/guide/OCLModelNavi.htm

	Dean,							Chair head,

	Date,							Course responsible,
	27 April 2009						Lect. CHIOREAN Ioan Danut, Ph.D.