This GP is conducted in WS 2015 with a team of nine Computer Science Master students. Below, you find the original task description.
Enterprise Architecture Management (EAM) tools provide comprehensive views on manifold aspects of an enterprise IT landscape, like
- IT Systems and their relations
- Technology platforms, and their usage by IT Systems
- Business capabilities and processes, and their coverage by IT systems and technologies
EAM views provide standardized reports on the types of issues listed above, so that IT and business stakeholders can make decisions based on up-to-date maps of their IT landscape. Typical EAM entities in these views are IT systems, infrastructure services and platforms, business capabilities and processes, and so forth.
Current tools in the market tend to be monolithic and inflexible due to an implicit metamodel. Such metamodels are usually customizable to an extent, but cannot be freely defined from scratch. In our approach, we want to base an EAM tool on a custom-tailored metamodel. That way, the EAM tool can be adapted flexibly to the specific needs of an IT organization.
This project should develop a domain-specific language (DSL) to describe EAM views and metamodel entities with their relations. The DSL must be shaped in a way that it can be implemented using the Groovy programming language.
This project contains the following tasks:
- Explore the basics of EAM views and metamodels
- Define EAM standard entities and relationships, as well as most commonly used EAM views, using sources like the EAM Pattern Catalogue by TU München (Prof. Matthes)
- Explore the nature and purpose of Domain-Specific Languages, and how to implement them using Groovy
- Design a DSL for the aspects defined in (2), with a proof-of-concept Groovy implementation
- Practical experience with EAM concepts
- Experience with research and data modelling
- Familiarity with designing a DSL based on domain analysis
- Interest in EAM
- Interest in research and modelling
- Basic programming experience