Enterprise Architecture Body of Knowledge
Developing an EA

Modeling and Simulation

Author: Saurabh Mittal and Sheila A. Cane

A model is a smaller scale, simplified, and/or abstract representation of a real-world phenomenon or system. Simulation is used to conduct “what-if” analyses on a model in a computational environment.

An EA model is an approximation, abstraction or representation of the enterprise or portion thereof, which may include the people, processes, systems, information, and/or technologies. Models are used to gain insights into the structure, behaviors, interactions, and properties of the current enterprise, and to analyze the impacts of potential changes. Models are critical for understanding how an enterprise change can address strategic goals. They provide a low cost way to experiment with alternative designs or processes before making investments in new initiatives. An EA model is constructed as a “means to an end”, i.e., there is always a reason for developing an EA.

A model or set of models is an effective way to describe an organization and its resources because models tend to make the description more precise. Often, an EA model is a static model i.e. a model where the artifacts are either textual or graphical in nature, and therefore lack the expressive power to describe dynamic behavior.

To understand the dynamic behavior of an organization undergoing change, the EA model must be made executable. An executable model is a model with a simulation platform. An executable model can be used to conduct feasibility studies or analyze alternatives.

Executable EAs are architectures that are developed as models and realized as a simulation in a computational environment. However, simulation of an EA model is a non-trivial problem and the development of executable architecture methods and tools is still an open problem!

One way to venture into EA modeling and simulation is to use Business Process Modeling (BPM) tools that include a simulation engine. When the models become too complex, a domain specific language (DSL) can be used. DSLs undergo a series of internal model transformations to yield software code that can be mapped to a particular modeling paradigm.

There are 4 typical modeling paradigms that can be used when building an EA model: agent-based, process-flow, discrete- and continuous-time. An agent-based paradigm focuses on the system component’s (a.k.a agent’s) behavior and interactions between the agents and their environment. A process-flow model (e.g. BPM model) focuses on the business processes across various system’s participants. A discrete model is based on differential and difference equations for discrete units of time and events, whereas a continuous model is based on infinitesimal short duration of time in a discrete model. Careful consideration is needed when selecting a modeling paradigm as the simulation results may vary when the same model is executed through different methods and different abstraction levels. Abstractions play a key role here as abstractions may ultimately determine if the model is valid and useful. Simulation-modeling experts should be engaged to help design an appropriate executable EA model for the question you are trying to answer or the problem you are trying to solve.

Traditionally, M&S is done during the design phase to evaluate design choices. In agile, or rapidly changing environments, M&S can be applied throughout the life cycle in an iterative manner to evaluate and facilitate both technology and organizational change.

Keywords

Business model, Information model, Systems model, Service model, Executable model, simulation

Further Reading

  1. Levis, A.H., Wagenhals, L.W., Insub, S., Daesik, K., 2000, “C4ISR Architectures: II. A Structured Analysis Approach for Architecture Design”. System Architectures Laboratory, C3I Center, MSN 4D2, George Mason University.
  2. Mittal, S., 2006, “Extending DoDAF to Allow Integrated DEVS-Based Modeling and Simulation”, JDMS, Volume 3, Issue 2, 95- 123.
  3. Wagenhals, L.W, Haider, S. & Levis, A.H., 2002, “Synthesizing Executable Models of Object Oriented Architectures”, Workshop on Formal Methods Applied to Defense Systems.
  4. Ring, S. J., Nicholson, D. & Pallab S., 2007, “Activity-Based Methodology for Development and Analysis of Integrated DoD Architectures”, Information ScienceReference: Handbook of Enterprise Systems Architecture in Practice, Chapter 5, 85-113 Systems Modeling Language OMG, 2008.
  5. Mittal, S., Martin, J.L.R., 2013, "Netcentric System of Systems Engineering with DEVS Unified Process", CRC Press, Boca Raton, FL.

We are soliciting content in this topic area. If you are an expert in this enterprise architecture domain please consider participating. To inquire about this topic area contact us today.

Developing an EA