Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of GraphSearch.
Modeling Enterprise Architecture requires representing multiple diagrams of an enterprise, which typically shows the multiples business entities, IT systems, even software components and the services they offer. This could be done by a team of stakeholders having different backgrounds. One way to do this is to structure the model into hierarchical levels each of which can be of interest of just some, not all, stakeholders. Due to the differences in their background, stakeholders – the modelers may not want to use a single modeling approach, even a widely-recognized one, to build the enterprise model, which can be shared by the whole team. Developing a modeling framework that can be applied uniformly throughout the entire enterprise model and that can be used by all stakeholders is challenging. First, the framework should have a uniform approach to specifying the services offered by business entities, IT systems and software components and to describing their implementation across hierarchical levels. Second, the framework should allow the stakeholders to represent the service specification and the service implementation of multiple business entities and IT systems, even within the same hierarchical level. Third, the services offered by those entities and systems should be represented at different levels of granularity. Last but not least, the modeling framework should maintain the well-formedness of the enterprise model and the consistency between different diagrams opened by different stakeholders of the team. Today, there exist a few modeling methods or development processes in the field of Enterprise Architecture, as well as in software and system modeling that can address these issues to some extent. Among them, Adora, KobrA and OPM best meet the aforementioned four criteria, although they were not initially developed for modeling Enterprise Architecture. As a study on the state of the art, we analyzed these methods with respect to the four aforementioned modeling challenges. In this thesis, we define a modeling language and present a computer-aided tool for modeling Enterprise Architecture hierarchically. This modeling language allows the modeler to structure an enterprise into hierarchical levels, in terms of both organization and services. The computer-aided modeling tool helps the modeler visually build her model across levels and brings all levels together to make a coherent, well-formed model. Enterprise models can be visually built and represented in a notation that is based on the Unified Modeling Language using this tool. The modeling language is formally defined in Alloy – a lightweight declarative language based on first order logic and set theory. The data manipulated in the tool is verified against the Alloy code that formalizes the language. The modeling language and the computer-aided modeling tool constitute a hierarchy-oriented framework called SeamCAD that specifically address the four aforementioned issues. This framework has been applied several projects, both in industry and academic settings. We evaluated it by inviting external practitioners, researchers and master's students in our university to use it and to give their feedback.