Kont exam, 2015, questions

Funksjoner
Publisert 29. august 2016 av Trætteberg, Hallvard

General modeling

- Describe the main features of the Ecore modeling language, and compare them to UML class diagrams. Give examples based on the case.

- For this case, you may define two domain models, one capturing the structure/contents of a game (its definition), and one capturing the dynamic state of a running game. Give examples of both kinds.

- Describe the code generation mechanism of Ecore, e.g. what kind of code can be generated and how is it done. 

- Code generation is a kind of model transformation. How are transformations in general classified, and how is code generation related to this classification?

- What are constraints/invariants and how are the related to the domain model?

- What is a domain's dynamic behaviour, as opposed to its static structure? How can behaviour be described or modeled? How is it handled in Ecore?

- Describe a model-based approach to testing, i.e. what is tested and how?

MDE and DSLs

- What does the acronym MDE mean? Characterise MDE.

- What is a DSL? A DSL is typically defined in terms of two kinds of models, the abstract semantic model and the concrete syntax model. Explain the difference.

- What two main kinds of concrete syntaxes and corresponding models are typically used for DSLs. Describe the typical structure of each kind. Do you know other kinds than these two?

- Sketch a DSL for Pokémon Go-like games.

- What is a model transformation? Describe a general model of the relation between transformations and models.

- How are transformations typically used with DSLs?

- Transformations may be used in a web-based application, when responding to requests, how? Describe two kinds of transformations that may be used.

- What is model execution? What is model interpretation?

Components

- The term component can be used for both design time and runtime components, and the former is often called module. Explain the difference! In what way do OSGi support both kinds.

- Describe OSGi's component (module) model. How does it differ from the one used by maven?

- What is the similarity and difference between Eclipse plugins and OSGi bundles?

- Describe an OSGi bundle's life-cycle.

- Describe the idea of service providers, consumers and brokers. How is this related to OSGi's Declarative Services?

- OSGi's Declarative Services mechanism supports dependency injection, how?

- Describe how to use OSGi's Declarative Services to make extensible systems.

- What advantage does OSGi and OSGi frameworks provide when managing applications?

REST

- What are REST services and how do they relate to domain models?

- What is a service model (as used in the exercise project), how does it relate to REST, and why do we need one?