login Register forgot password or username?
Search:         
Support:
Customer area
Evaluation request form
Evaluators start here
General request/feedback
NTR Meeting webinar request
GSA schedule
Newsletter archive
Cradle XML documentation
Cradle Security Certificate
Reference
Cradle from 3SL, the complete Model Based Systems Engineering Toolsuite, specialising in requirements management, requirements capture, model based systems engineering and for systems engineering software, support and consultancy, the logical choice: Cradle from 3SL.
General request/feedback
NTR Meeting webinar request
GSA schedule
Newsletter archive
Cradle XML documentation
Cradle Security Certificate
Reference

February 2010 [Cradle 6.1]

Model Hierarchies

Cradle is more than a requirements management tool. Cradle integrates a rich and powerful modelling capability with requirements, risk, issue, and test management. Cradle has a set of powerful and flexible modelling tools based on the concept of model hierarchies. These allow arbitrarily large hierarchies of models to exist in each domain in a Cradle database:

  • The Essential Domain can be used for a variety of implementation-independent models, such as models for:
    • Business process modelling
    • Operational modelling
    • Logical analysis models
    • Use case modelling
  • The Implementation Domain can be used for a variety of implementation-dependent models, such as models for:
    • Logical architecture modelling
    • Physical architecture modelling
    • Subsystem design modelling
    • Functional or behavioural modelling

Uses for Model Hierarchies

A model hierarchy is a hierarchy of models in a domain that can be used to show different:

  • Levels of scope, such as a military system-of-systems context:

  • Phases in the project lifecycle, and the models developed in each phase (controlled elaboration in process such as RUP - Rational Unified Process):

  • Type of product, or options for a product, or variants of a product:

Model Hierarchy and Default Model

Each domain can have any number of model hierarchies. All model hierarchies are linked to a single top-level placeholder called ModelHierarchy that is hidden inside Cradle. So, you can create any number of top-level models, and you can create any number of sub-models below each of them to create any number of model hierarchies that are large as you need them to be.

Each domain has a default model called Default. All model information (diagrams, data definitions and specifications) that are not explicitly created inside one of your models will be held in the Default model. The Default model also means that you can start to work with Cradle models immediately, without any need to first define a model hierarchy.

Model Levels

Each domain in a Cradle database can have a model hierarchy with any number of models organised into a hierarchy with at most 16 model levels. So this means that you can have any number of models in a domain, and any number of model hierarchies in a domain and any number of models in a model hierarchy, but these hierarchies of models can be at most 16 levels deep.

Each of the 16 model levels is given a name, such as:

  • Product Types
  • Product Ranges
  • Products
  • Variants

for a product-orientated 4-level hierarchy, or more generically:

  • System of Systems
  • Systems
  • Subsystems
  • Components
  • Assemblies

You don’t need to name all 16 levels. You only need to give names to the levels that you will use. So if you will only create hierarchies of models that are 3 levels deep, then you only need to give names to the first 3 model levels.

Please note that the number of model levels has nothing to do with the number of levels of diagram inside a model. A model can contain any number of diagrams and these diagrams can be in hierarchies of any depth, 10 levels, 20 levels or more. The limit of 16 only applies to the number of levels of models, not the diagrams inside each of the models.

Models are created as children of an existing member of the model hierarchy, provided that a model level already exists for the new model. When a project defines its first model, it is a child of ModelHierarchy and the model level All already exists, so the new model (and other models at the same level) can be created without difficulty. A child of this model cannot be created until the second model level (below All) has been created. A project using a hierarchy of models will almost certainly rename the top model level All to a name that is more descriptive. For example:

MUIDs and Namespaces

Internally, Cradle uses Model Unique Identifiers (MUIDs) for each model. Each model is identified by a MUID, an integer automatically assigned by Cradle when the model is first created. All user-defined MUIDs are unique. MUIDs are never reused in a project. A model must also have a name, which does not have to be unique in a model hierarchy, but which must be unique (ignoring any differences in case) in the set of model names for the children of a given parent model in the model hierarchy.

The Cradle tool UIs (and import/export files) refer to a model by its namespace which is the location of a model in a model hierarchy as a . (dot or period) separated list of the models from the top of the hierarchy down to and including the model itself.

Some example namespaces from the above model hierarchy are:

Default

Battlespace

Battlespace.Air.UAV

A model namespace is entered by a user or is a value that Cradle generates when needed for display and reporting purposes. Model namespaces are unique, for although it will be possible to have two models with the same name (albeit with different MUIDs), such models cannot both be children of the same parent model in the model hierarchy.

If a model is moved in a model hierarchy, its MUID doesn’t change, but its namespace will change, and its new namespace will be seen the next time that it needs to be generated.

A model is an inter-related collection of diagrams and their symbol’s descriptions (as data definitions and specifications) that are collectively a description of a part of (or all of) the system under study and within which consistency checking and other analyses can occur.

A model can only exist as part of exactly one model hierarchy.

Notations

When you define a model, you can specify which diagram notations will be provided in that model.

This means that if, for example, you want an operational model, then you could decide that the model can only contain PFDs (Process Flow Diagrams). Similarly, if you want a model dedicated to the use cases for a system, then you could define that the model can only contain UCDs (Use Case Diagrams) and perhaps also SQDs (Sequence Diagrams).

Limiting the notations that can be used in a model allows Cradle to simplify the UI that it presents to you for each model. For example, if a model can only contain UCDs, then Cradle will allow you to select use case specifications, but not equipment, class, process or function specifications.

Operations

You can copy information from one model to another, in the same domain or between domains. You can export information from one model and import it into another model in the same or between domains. You can create cross references between the contents of one model and the contents of another model, in the same or between domains.

Cross References

You can create cross references from any non-model information (such as requirements and user-defined items - system notes) to elements (specifications and data definitions) in any model in the model hierarchy of either or both of the Essential and Implementation domains.

You can create cross references between data definitions in different models, either in the same domain or between domains. Data definitions in the same model continue to be linked by pseudo cross references as defined by the data compositions of the data definitions (held in the data definitions’ COMPOSITION frames).

If a model is moved within a model hierarchy, or is moved between model hierarchies, the cross references from and to the items in the model are not broken because the cross references use the MUID to identify the model, not its name or namespace.

Browsing Models

Generally, the browsing structure provided with model hierarchies is:

The model hierarchy is presented as one or more top-level models and their children, to whatever depth and size has been defined by the project, so the model hierarchy would be:

The expansion of a model will be:

Partitioning

Each model is a distinct collection of diagrams and supporting specification and data definition descriptions. The contents of each model are completely separate from the contents of all other models.

This means that there is no need for users to adopt numbering or naming conventions inside any model. Each model can use exactly the same numbering and naming conventions as any or all other models, and the diagrams and their descriptions in each model will still be distinct and separate.

Data Definitions

By creating completely distinct models, the model hierarchy ensures that the data definitions are no longer common to all models in a domain. Data definitions are still common to all diagrams (of all notations) within a model, so that a symbol called Target Data in one diagram will still share the same data definition item description with another symbol also called Target Data in another diagram, but only if these diagrams are in the same model.

In general, this is also believed to be a beneficial outcome.

Data definitions within a model will continue to be linked by their own pseudo cross references, but the isolation of data definitions within a model will mean that new types of cross reference are now required so that data definitions in different models in the same domain can be linked, and to allow data definitions in models of different domains to be linked.

In this issue
  1. 3SL Newsletters
  2. Newsletter Contents
  3. 3SL Website
  4. Need Help?
  5. 3SL Available to AMCOM
  6. 3SL on Twitter
  7. 3SL Blog
  8. New Webinar Facility
  9. New 3SL Contact Us Live
  10. Cradle Licence Certificates
  11. REconf 2010
  12. Cradle Roadmap
  13. Password Changes
  14. Named User Licences
  15. Linking Cradle to JIRA
  16. New LDAP Configuration Guide
  17. Cradle Licence Usage
  18. Non Functional Requirements
  19. Non Functional Requirement Graphs
  20. Models and Domains
  21. Model Operation Scopes
  22. Model Hierarchies
  23. Dual Screen Support
  24. Word 2007 Bug
  25. Citrix and Office 2007 Problems
  26. Old Versions of Cradle

Back to the newsletter archive.