Time Aware Models
The Time Aware Modeling feature allows analysts to create incremental versions of their models by providing easy access to tools that facilitate the migration of elements through multiple versions. It is now easy to see the evolution of a model over different versions, and create new versions of model elements automatically without altering the underlying structure of the 'As-Is' model.
Models by definition are an abstraction of things that exist in the real world. Just as time is an important dimension in the physical world, it is also an important concern with models that represent that world. These are some common situations where time and the evolution of versions is important in modeling:
- Architects use models to document the current state and then move on to the more challenging and rewarding task of defining what the future state will look like, often in a series of transitions
- When new customers are acquired, a Business Analyst is often challenged with describing how a base product should be configured for these different customer groups, resulting in different versions of the same product
- Business Strategists typically prescribe what a Capability model will look like for the organization of the future, resulting in at least two versions of the Capability model
- During mergers and acquisitions, Business Architects are tasked with describing the possible states of the enterprise after the takeover is complete
- Engineers are required to develop better or more efficient solutions to meet the challenges of the future, so define newer and better versions of the solution
- Testers need to be aware of different versions of a product when designing and running test cases
- Infrastructure engineers have to define future environments in response to performance or security concerns, creating multiple versions of servers, devices and even whole facilities
All of these situations require that time is incorporated into the models so that it can be reasoned and made explicit. Enterprise Architect's Time Aware modeling facilities can be used in all these situations, to ensure that time is included as a first class citizen in the models. Time is not measured or modeled in absolute or relative terms, but by representing any number of future states or differences in the form of versions.
Time Aware modeling is based on using tools to clone a Package structure (Packages and diagrams only) as a new version, and then selectively over-riding parts of the old version with new elements and relationships using either the 'Clone as New Version' capability or simply adding new material to the model as desired. This method allows a highly selective and incremental revision or development of a model, whilst maintaining traceability to both earlier and later development.
Time Aware modeling is not dependent on version control or baseline functionality, but is an entirely separate capability that helps analysts manage multiple versions or revisions of a model in a consistent and fully traceable manner. Conceptually it is analogous to the branching and merging in a version control system but as stated above it is a separate and unrelated mechanism.
This collection of images illustrates the basic process of working with cloned structures and elements in a Time Aware model.
Time Aware Model