Posts tagged ‘Rational Software Architect’

Integrating and Managing IT Architecture Models – part 8 – Conclusion

The Collaborative Development Support Environment entails three major objectives:

  • an overarching Objective Architecture Model for ship combat systems – the enterprise
  • enhance operational interoperability and developmental and acquisition re-use of common components
  • share and implement architecture models across the whole range contractors/developers working on combat systems and related programs

We have shown how a canonical model can be developed using a well defined modeling language based on extensions to UML 2 and following a process defined with patterns and abstract models to create Objective Architecture Model models that will be consistent across all of the enterprise. The source for these models can be a native tool for creating them, or via the transformations, from any source registered in the repository.

Once in the repository, they are governed by strict user-defined security access controls and version control and configuration management.

We have shown how a repository based solution will enhance operational interoperability and developmental and acquisition re-use of common components by providing a comprehensive meta-data facility with dynamic, user-defined relationships among the assets and artifacts of the repository. This meta-data facility supports ad hoc queries to facilitate maximum visibility and re-use through a user-defined measurement of quality for each artifact.

We have shown how different participants can utilize tools of choice and through the transformation process they can share and implement architecture models across the whole range of contractors/developers working on combat systems and related programs

Other tools to manage requirements, version control, defect tracking, reporting tools ReqPro, Clear Case, BIRT, Clear Quest, Bluefield, Zephyr, RMC, graphical rendering applications, and many others have been integrated into this solution structure to provide the comprehensive management necessary to achieve the interoperability and collaborative goals.

Integrating and Managing IT Architecture Models – part 7 – The Objective Architecture Repository

The repository is the key to this solution approach. It must include facilities for:

  • Storing the assets (i.e., the Objective Architecture Model models)
  • Storing user specified meta-data that describes the models, their owners and other significant relationships
  • Storing and accessing/invoking the transforms and their related XSDs
  • Flexible, user-defined governance for input and output, including access control and user group access
  • Ad hoc queries on the meta-data
  • Ad hoc queries on the assets – i.e., the models
  • Browser based-access
  • Version control and configuration management of all artifacts, assets, meta data and policies
  • Extensible into the “Very Large Database” realm
  • User-defined Security processes to isolate classified model fragments
  • User defined ranking of assets to guide and assist in re-use

The repository structure, itself, can be dynamic.  For example, administrators can add new users and groups, change access policies, and establish new relationships among assets.

However, the abstract canonical model of Objective Architecture Models should be developed and established as a fairly static entity.

This canonical architecture would consist of a set of:

  • A set of abstract constructs that could be specialized for individual models
  • A set of patterns and a well defined process for constructing an Objective Architecture Model by composing and populating the patterns. The source for actually constructing the architecture model could be a user using a “native” tool, or a transform from another source.

Next – "Part 8 Conclusion" …

Integrating and Managing IT Architecture Models – part 6 – Governance

A general governance approach must be developed and implemented to allow any solution to work. The governance policies are all user-defined and controlled by special governance administrator teams.

Security

Due to the nature of the models stored in the repository, the repository must be built to handle both classified and unclassified information. The repository will be partitioned for classified and unclassified information. There may be more than one of each kind of partition and they may be logical or physical and may reside in completely different locations. For classified model fragments, special repository segments may be deployed in secure enclaves with access controlled under standard classified processes and procedures.

The repository will have logical partitions for segregation of special sets of data such as contractor proprietary data.

Security must be implemented at the access points to govern authentication and authorization to repository system functions, including controlled access to classified information. The policy must define and control access between named users and named objects. The enforcement mechanism shall allow users to specify and control sharing of those objects by named individuals, or defined groups of individuals or by both.

The access control mechanism shall provide that objects are protected from unauthorized access.

Security must be implemented to as fine a grain as necessary on the actual assets stored in the repository. These access controls shall be capable of including or excluding access to the granularity of a single user. Access permission to an object by users not already possessing access permission shall only be assigned by authorized users.

Security must be implemented to control access to governance and security policy.

Version Control

At some point in the lifecycle of every Objective Architecture Model model, it will be inserted into the repository. At that point, it will be versioned within the repository. Any future changes that are checked into the repository will be governed by the Versioning Policy defined as part of the user defined governance policies.

Version identifiers will be one of the key query criteria for access to the Objective Architecture Model assets.

Configuration Management

Every Objective Architecture Model will be a fragment and/or comprised of model fragments.

Configurations can be created from model fragments and these configurations will also be under version control.

Next Part – "7 The Objective Architecture Repository" …

Integrating and Managing IT Architecture Models – part 5 – Transformations

A core technical issue is the development and exchange of models and model components across multiple partners using multiple different, non-compatible software tools and modeling notations.

For the Objective Architecture Model we require:

  • The schema for a repository that will hold the Objective Architecture Models,
  • A transformation from the repository whose elements are UML elements to a XML file defined by a XSD (Call this the repository XML, or just R-XML, and R-XSD).
  • The inverse transformation from the XML file to the repository must also be defined.
  • The XSD and these two transforms must be maintained together and must reflect any changes to the repository schema.

Although the Objective Architecture Model may, itself, be a native XML file, having a level of indirection – i.e., the R-XML – allows other tools and techniques to be brought to bear for special purposes. The R-XSD can be published, and remain fairly static, while the internal representation of the Objective Architecture Models may need to be modified. The R-XML/R-XSD can be used by other tools such as Web 2.0 applications, rendering programs, simulation systems, virtual world insertion and many others yet to be determined. By providing this level of indirection, all of these tools have a common access that is insulated from the actual form of the assets in the repository.

For each source of an objective model, we require:

    • XML/XSD for the output of the source (Call this the source XML, or simply S-XML)
    • Transformation from the S-XML to R-XML
    • The inverse Transform from R-XML to S-XML.

    In some cases, the source may not emit a S-XML. In those cases, the transform must read/write the native source data. This will require a separate concept definition file analogous to the XSD that must be maintained in synch with the transformations.

    Using modern natural language processors, it is possible to construct transforms of natural language documents into the Objective Architecture Repository. This approach is applicable when the information in a NL document can provide strict adherence to some formal requirements: for example, Federal Information Processing Systems must comply with strict federal security requirements that are expressed in English, but systems must be able to prove compliance in some way. Transforming the NL security specification into a formal model can provide the basis for rigorous evaluation of compliance.

    These transformations could be implemented via XSLT, Java, or any other appropriate language that provides the best solution for the given source.

    M2

     

    Flow of Models To and From the Repository

    Check in

    • A ModelSource either has a native XML file format, or can emit a XML file, S-XML, defined by S-XSD.
    • The S-Transform transforms the S-XML file to a R-XML file, using the R-XSD and S-XSD to formulate the R-XML file.
    • The R-Transform-1 converts the R-XML file into an Objective Architecture Model model in the repository.

    Check out

    • Checking out a model from the repository works in the opposite way.
    • The R-Transform extracts the UML model from the repository, and transforms it into a R-XML file based on the R-XSD.
    • The S-Transform-1 transforms the R-XML file into the S-XML file using the R-XSD and S-XSD to govern the transformation.

    Next – "Part 6 Governance" …

    Integrating and Managing IT Architecture Models – part 4 – Solution Scope

    There are two requirements that must be satisfied to meet the goal of implementing and sharing architecture models across the whole range of contractors and developers working on related enterprise programs:

    • A well defined methodology for modeling the Objective Architecture Models
    • A set of transformations that can transform models to and from any well defined source into the Objective Architecture Model.

      Objective Architecture Model Methodology

      A methodology for the purposes of this discussion consists of:

      • An ontology that defines the concepts necessary to construct the Objective Architecture Model
      • A set of modeling elements and their relationships from which models can be constructed – i.e., a modeling language defined as extensions to UML 2 through the profile mechanism. UML Profile for Integrated Architecture – UPIA RSx 7.5
      • A process for constructing an Objective Architecture Model from the elements defined in the ontology and the modeling language elements IAM2
      • A set of rules that can be used to validate the Objective Architecture Models including verification of conformance to requirements and other rules defined for the domain
      • A schema for a repository that will hold the models created from the process and elements IAM2 Canonical Model
      • A repository that contains the Objective Architecture Models – i.e., the assets, and meta-data that describes and relates the assets and includes the transforms and XSDs for each of the objective model sources Rational Asset Manager – RAM
      • A minimal set of reports sufficient to report the validity and efficacy of a model  Business Intelligence Reporting Tool – BIRT reports
      • Detailed description of the above sufficient for a modeler to create valid Objective Architecture Models Rational Method Composer
      • Governance processes that manage security, the version control and configuration management of the objective models, the rules and transformations. User defined policy as standard RAM feature

      Next: "Part 5 – Transformations"

      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" …