Posts tagged ‘Modelling’

Integrating and Managing IT Architecture Models – part 3 – Scope – IT Perspective

The overall discussion is from an IT Architecture perspective, and does not address the integration issues of Enterprise Architecture Modeling in general.

An IT Architecture model is not simply one single model, rather it is made up of many specialized models that address different phases, requirements, capabilities, systems and deployments.

Premise:

A single IT Architecture Repository will provide a consistent view of the IT Architecture across all aspects of the enterprise. The repository is constructed with a rigorous methodology using a well defined set of conceptual elements and built using a common set of patterns  The assets in the repository are described with a comprehensive set of meta data that provides access and reuse. It contains:

  • references to enterprise documents
  • references to external documents
  • models from many sources transformed into the canonical form in the repository
  • artifacts built with many tools and techniques either directly stored in the repository or transformed into desired form

In this paper, this overarching Architecture Model is called the Objective Architecture Model.

Technical Barriers

In general, many participants in the Objective Architecture Model creation workflow use a variety of tools from different vendors using different techniques to represent a model. Some simply draw diagrams, some use spreadsheets, some use modeling tools based on various modeling languages such as IDEFx or UML.

There are three broad parts to the problem:

  • Common representation of the Objective Architecture Models
  • Transforming various source models to and from the common representation.
  • A repository capable of supporting extensive management, access, query and governance

Common Representation

Currently, there are several broad standards that specify modeling languages, e.g., IDEFx, UML. The DoD and MOD have defined a set of reports that are meant to provide a basis of comparison of various architectures, and the CADM was intended to define a schema for a repository of all DoD architectures. TOGAF is another standard that broadly defines a methodology for constructing models.

However, there is no standard process or methodology to guide modelers so that they produce models that can actually be compared. Furthermore, there are many tools used to construct the Objective Architecture Models, not all of which are actually models, rather many are simply pictures. Modelers have freedom to construct their models in any way they see fit.

Interchange/Transform

There is no industry-standard modeling interchange solution available for the existing problem.  A model exchange standard (XMI) exists for UML, but it does not apply to other notations such as IDEFx that are in use for architectural modeling.  Even if UML were the sole notation for the Objective Architecture Model, XMI model interchange would be hampered by the fact that even within the UML tool community both the UML standard and the XMI export and import are incompletely implemented.  

In practice exchanging models between tools via XMI is difficult for a number of reasons:

  • Different versions of the XMI exist (1.0, 1.1, 1.2, 2.0, 2.1). Tools often support only a few of them.
  • Some tools use proprietary extensions of the UML meta-model, or the XMI exporter generates XML code that is not fully compliant with the standards. In either case, the XMI file will not be understood by other tools.

This is especially true for diagram layout information – diagrams are lost in the process.

However, interchanging models is not sufficient to solve the problems facing the enterprise programs. To compare, align and evaluate Architecture Models from various sources, the enterprise must have a common modeling language, and a specific framework and process that specify how to construct a well formed model – i.e., a methodology.

Then there are two scenarios that can be used:

  • Create Objective Architecture Models using the “native” modeling methodology and tools
  • Import and export models from various sources to and from the Objective Architecture Model

Of course all of these must be governed by version control so that any configurations compiled from these various models and model fragments can be synchronized at the version level.

Next: "Part 4 – Solution Scope" …

Integrating and Managing IT Architecture Models – part 2 the "Problem Statement"

In large, complex enterprises, the ability of the organization to understand the vision and mission of the enterprise and to be able to measure manage and execute the acquisition and use of the capabilities to accomplish the mission is difficult at best without modeling the enterprise in some form.

These models may be simply a set of documentation that contains diagrams, spreadsheets, financial and market reports, and projections that help to set the strategic course.

For simple, vertical organizations, this may be sufficient, but in enterprises such as government agencies, and large global commercial enterprises, a static set of documents cannot provide the agility necessary to manage the enterprise on the global stage.

Formal models constructed with sophisticated tools that address the complexities of enterprise modeling include operational, financial, marketing and other specific models. One critical model – the Enterprise Architecture Model – is the overall view of the form and function of the enterprise, comprised in some way of all the other various models constructed for a specific set of stake holders’ viewpoint.

The more complex the enterprise, the more critical it is that the various concerns in the enterprise are well represented and that they share a consistent, comprehensive view of the enterprise. IT Architecture is one of those critical components of the enterprise Architecture. It plays a key role in the success of large enterprises, but the bridge between the business analysis and modeling of the enterprise to the IT Architecture model is tenuous at best. This is a weak link in the efforts to create a comprehensive model of the enterprise architecture that spans all of the concerns including the strategic, acquisition, operational, IT and other systems, deployment, and financial viewpoints of the many stake holders of the enterprise.

Even in the area of IT Architecture modeling, including the design and deployment of systems that support the enterprise, there may be many different techniques and tools used within the enterprise and for large enterprises like the DoD, most of the modeling is done by external vendors who have their own modeling methodology and tools.

These conditions give rise to several problems:

  • Multiple, incompatible representations of critical stake holder viewpoints that limit the usability of an enterprise architecture model at the strategic level of the enterprise
  • Weak association between the business viewpoints and the IT viewpoints within the models
  • Multiple, incompatible IT Architecture models

Resulting in the inability to:

  • reconcile required capabilities with developed and deployed systems
  • trace IT Architecture concepts to business requirements
  • exercise collaborative development among different vendors

Next: Part  3 – "Scope – the IT Perspective" …

Integrating and Managing IT Architecture Models

Tools come and go; vendors acquire or are acquired by others; new techniques replace old ones; and always, the practitioner struggles just to keep up.

Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!

- from the Red Queen‘s race in Lewis Carroll‘s Through the Looking-Glass

Telelogic was recently acquired by IBM, and a large part of the Enterprise Architecture market share is held by Telelogic’s System Architect. Yet many IBM customers are migrating to UML modeling and are looking for a migration path to move from SA to RSx (Rational Software )

It is also obvious that SA is a tool better suited than RSx for many EA tasks, but the path from EA to IT Architecture where UML is more often used is equally important, since traceability up and down the layers of the enterprise is a critical, and often missing, link in the strategic planning capabilities of the enterprise.

This is not an isolated example, rather it is a specific case of a far more pervasive and critical problem facing enterprises, especially those as complex as government agencies and global commercial corporations.

This begins a series of blog posts to discuss the general problem and describes a comprehensive solution that is comprised of a combination COTS (commercial off the shelf) and some custom transformations. It is applicable to the SA-to-RSx issues, but is applicable to a much broader set of problems.

The transformation aspect can be used independently of the repository part of the solution to provide alternative UI for RSx models. This solution is currently being tested in several significant engagements within the defense community.

Next: "Part 2 – the Problem Statement" …

Mapping Capabilities to Requirements

In my previous blog, I discussed the idea that architecture is the mapping of requirements to capabilities.

Are these mappings "one to one" and "onto"?

The mapping is into – not onto, since some requirements may not be met by existing capabilities, and some capabilities may not satisfy any particular requirement, but are included because they come along as part of other capabilities that are required.

The capabilities that are required, but do not exist, define the scope of the architecture that must be engineered and developed.

M2 The mapping is many-to-many. Many requirements can be satisfied by a single capability, and several capabilities may satisfy a single requirement. Of course, both requirements and capabilities may be complex concepts that can be decomposed into simpler entities.

For example:

  • One requirement satisfied by more than one capability: A requirement to control access to a computer system could be satisfied by a userid/password authorization and/or biometrics authorization capability.
  • One capability satisfying more than one requirement: Biometric identification can be used to meet authorization requirements, and provide usage pattern data.

So you are saying map some requirements to capabilities?

Yes, but even more than that.

End users are often much more conversant in expressing Requirements in terms of the capabilities that they envision they need in order to accomplish some goals or to complete a mission.

The IT guys, architects, designers and engineers, need Requirements specified in very precise terms in order to practice their magic. When end users evaluate a product they ask: "What does it do?", or "How do I use it?" – not: "What requirements does it satisfy?".

Ideally, end users express their needs in terms of capabilities that architects – through, modeling and analysis express in terms of requirements – usually functional requirements.

We make one further assumption, and that is, most of the requirements for any IT system have already been identified, analyzed, and realized in existing products. A key strategy that we are enabling is to map users’ expressions of capabilities directly to the capabilities provided by existing products. Using this approach, we can identify several candidate architectures that utilize existing products, and refine the design based on nonfunctional requirements. This gives the designers and implementers the luxury of concentrating on the really new and innovative aspects of a system and provides an infrastructure for testing those innovations that can be modified at the model level and generated as often as needed without extensive overhead.

Middleware for the front-end

M2 The history of back end middleware shows that we’ve progressed from custom solutions to repeatable custom solutions to Commercial Off The Shelf (COTS) solutions.  All the major software houses now sell COTS middleware for connecting the back end of systems.  A similar trend is occurring on the Front Ends of system as regards 3D capability.  With the advent of 3D Virtual Worlds, most notably www.secondlife.com, users have been freed from the limitations of structured gaming engines.  In game the operators’ choices are limited by the game’s designers.  The game engine provides certain choices and within that space the gamer is free to exercise his/her choice points.  Virtual Worlds, by contrast, do not typically have the concept of levels – play is more collaborative or free form.  As we see notions of gaming, virtual worlds & Web 2.0 merge together we can see that these models are, in and of themselves, decomposeable.

The graphic shows how we can view gaming & virtual worlds on a continuum depending upon how flexible the model is and who creates it.  This merge is happening with Web 2.0 technologies as well.  Facebook has become a gaming platform in and of itself and how desires to allow gaming consoles to access it (link).

While this post raises more questions than it solves, the intent is to show that in the same way that connecting back end systems became commoditized resulting in COTS middleware…the Front Ends of how we interact with software are becoming commoditized in a way that allows us to more easily traverse amongst them, i.e., from one virtual world to another, from a social networking site to a VW or within a game that has become so free form as to feel more like a virtual world.  All of these developments are a slow morph toward and end state that no one has designed.  It’s simply the way that technology undergoes natural selection when the selective force is human usability.