CS 587 -
Model-Driven Software Development
Description
Study Material
Schedule
Grading
Project
Exam Guidelines
Bilsen Logo
Instructor:
Dr. Bedir Tekinerdoğan
bedir@cs.bilkent.edu.tr
Exam Guidelines
For the exam you have to be able to answer the following questions:
What is a model?
What is a metamodel?
What is a metametamodel?
Multiple views of models
What is model-based development?
What is model-driven development? What is the different with model-based development?
How does MDSD help to improve reuse and productivity?
What are modeling maturity levels?
What is the targeted modeling maturity level in MDSD?
What is agile software development?
How does agile software development cope with documentation?
What is the role of domain in MDSD?
Abstraction of Computing vs. Abstraction from Domain
Why is roundtrip engineering not MDSD?
UML1.* to UML2.*
SysML
What is Software Language Engineering?
Difference between Software Language Designer vs. Software Language User
Motivation for metamodeling
What is abstract syntax?
What is concrete syntax?
What is static semantics?
How to use OCL?
What is the semantics of a model?
Example metamodels
What defines the quality of a metamodel?
What is metamodel conformance? How to check this?
What is grammar? What are the different types?
What is a metalanguage?
What is a domain-specific language?
What is BNF and EBNF? What is the relation?
What is self-description?
Why is metamodeling more expressive than grammars?
What is MOF?
What is the relation between EBNF and MOF?
Why do we need metametamodeling?
What is the OMG 4 layer architecture?
Why is MOF not only for OO? How to use it for non-OO?
What are the four possible ways for creating metamodels?
How to define a metamodel from scratch?
What is heavyweight extension of a metamodel?
What is profiling?
What is the difference of profiling in UML1.* vs. profiling in UML2.*?
Why is it necessary to define a domain-specific concrete syntax?
What is the extension relationship in UML2.*?
How to define a profile (textual/visual)?
How to use a profile?