Purpose of PDUIDs

This is the first in a short series of posts that explain Project Database Unique IDs (PDUIDs). This post explains the purpose of PDUIDs and their structure. Later posts will explain:

  • How PDUIDs can be viewed
  • How they can be used in operations in Cradle tools, API and WSI
  • How PDUIDs can be changed or preserved when information is moved between databases

Identifying Information

Each piece of information must be distinguishable from all other pieces of information so we can be sure we have found what we were searching for. We do this by marking each piece of information in a unique way.

For information in databases, the markings are unique values called keys or identities. A piece of information can have multiple identities, each for a different purpose. For example, although a company’s payroll system is likely to identify each person by a unique Employee ID, each person’s details will also include their governmental tax ID (such as a National Insurance number, a Unique Taxpayer Reference, a Sozialversicherungsnummer or a Social Security Number). This tax ID will also be unique and so could also be used as an identity for that person’s information.

Cradle has two forms of identity, item identities and Project Database Unique IDs (PDUIDs).

Database and Host Identities

Every Cradle system has a Cradle Database Server (CDS) to manage the information in its databases. The CDS is locked to a Host ID, the last 8 digits of the MAC address of the host’s primary network interface.

All databases in a Cradle system share a common Database ID (DID), a 10-character ID of the form:

Platform ID  Host ID

where:

Platform ID:CDS’s platform, 02 for Windows or 17 for Linux (other values are for obsolete platforms such as Domain/OS, SunOS, Solaris, HP-UX, Ultrix, SCO, OSF/1 and VMS)
Host ID:CDS’s host ID, also used in the system’s Security Code

For example:         1750D4FA4C

The role of a DID is to differentiate information in a database managed by one CDS from information in databases managed by any other CDS, even if all other particulars of the information are the same, such as they are the same item of the same item type in the same project in these disparate Cradle systems.

A common example is when organisations send information to each other, such as customers and suppliers. This creates two copies, or instances, of each piece of information. The databases’ DIDs differentiate the instances held by the customer and suppliers. This is important because:

  • An organisation cannot know if other organisations have changed information
  • It is important to know which organisations hold each piece of information and which pieces of information each organisation holds
  • It may be appropriate to designate one instance as primary so its content is authoritative and other instances are secondary

Project Identities

A Cradle system can manage many databases. Each database is used for one or more projects. Each database has a unique 4 character Project Code that is used at login to specify which database is to be accessed.

Separately, a Project ID (PID) can be specified when a database is created using the Project Manager tool, or c_prj utility. This is a 6-character string and is typically similar to the Project Code. It defaults to six underscores:

______

The Project ID can be used to label a database. It can be helpful if databases are related, for example as successive missions in a programme or separate vessels in a class of ships, when related Project IDs could be used:

  • ARTEM01
  • ARTEM02
  • ARTEM03

Role of Project IDs

It is likely that what might appear to be the same information could exist in two or more databases. This could be intentional and helpful, or it could be unhelpful and inconvenient. The fundamental role of a PID is to differentiate between databases:

  1. In the most common scenario, an organisation uses its standard process in several projects. These projects’ databases will contain the same types of information, such as hierarchies of needs and user requirements, and the same structuring and numbering conventions. It is quite likely that the databases will contain items with the same hierarchical numbers and, for groups and sub-groups, the same names:
    • 1 Context
    • 1.1 Purpose
    • 1.2 Roles
    • 1.2.1
    • 2 Stakeholders
    • 2.1 Purchasers
    • 2.2 Operators

Here it is inconvenient that multiple requirement 1.2.1s exist in the databases, each with unrelated contents. Viewing requirement 1.2.1 in isolation could give an incorrect understanding by interpreting it as part of one project when it is actually part of another project.

  1. In an alternate scenario, two or more databases could be logically related. Indeed one database may be an extension of another, or an evolution of it at a later stage in the project. In this case, viewing information in isolation would not show which database it came from and could also create an incorrect understanding.

In both scenarios, including a PID would differentiate the content of each database from the others.

Item Identities

Cradle databases contain different types of information. The basic unit of information in a Cradle database is the item. Every item has an associated item type that defines the type of information it contains. Projects can create their own item types in the schema that describes the database’s structure and rules. For example:

  • HLURs, high level user requirements
  • SRs, system requirements
  • TEST CASE, description of a test to be run with the steps to perform and their possible outcomes

Collectively the items of such user-defined item types are called system notes.

Identities and Instances

Every item has an identity to uniquely identify it amongst other items. An identity is the combination of the values of several attributes.

Items evolve over time. Projects will usually keep copies of items at different stages in their evolution. Cradle has the concept of instances of an item. Instances are copies of items as they were at some time in the past, typically in previous baselines. In MBSE (model based systems engineering) users can create multiple instances of diagrams and specifications as alternative analyses or designs. These alternatives co-exist until a choice is made between them.

An instance is the combination of:

  • A version number, initially empty and increasing 1, 2, 3… through successive baselines
  • A draft ID, either A if the item is not in a baseline or empty if the item is baselined. The values B, CZ are used for alternative diagram and specification items in MBSE analysis or design models.

Structure of an Identity

The identity of an item is:

Item ID  Instance ID

where:

Item ID:The collection of attributes that identify a specific item of a given item type
Instance ID:Which of possibly many instances of the item is being referred to

The different parts of item identities are:

Components of Item Identities
Components of Item Identities

where:

Domain ID:Either E (for Essential) or I (for Implementation), the domain containing the item’s model
Model ID:The item’s model, either a numeric Model Unique ID (MUID) or a namespace showing the model in the domain’s model hierarchy, such as: As Built.Prototype A.Architecture
Type:Either one of the 26 diagram types that Cradle supports such as DFD, eFFBD, UCD, PAD and so on, or a specification type (process specification, environment terminator or module specification) or a user-defined item type such as PRODUCT REQ, SBS or VALIDATION
Stereotype:Only used by information in SysML models, the item’s stereotype, such as <<actor>>, <<block>>, <<constraint>>, <<message>>, <<package>> and so on

The item identity is fundamental in Cradle. All other methods of identifying or labelling items, including those described in this document, are secondary to these item identities.

PDUIDs

The above tables show that there are significant differences between the identities of item types. They make specifying and working with identities complex, and do not provide a single sequence of values to identify all items in a database.

These problems are solved by the Project Database Unique ID (PDUID), which:

  • Apply to all of the item types
  • Have the same format for all of these item types
  • Are in a single sequence for all items, for example:
    • A PDUID could reference a diagram in a model with namespace B.C (with an equivalent MUID)
    • The next PDUID could reference a TEST CASE system note item
    • The next PDUID could be a diagram in a namespace Y model (different MUID to the above diagram)
    • The next PDUID could reference a change request
    • The next PDUID could be a data definition in the model with namespace B.C

PDUID Structure

The format of a PDUID is:

Database ID  Project ID  Unique ID

where the Database ID and Project ID are as described earlier, and the Unique ID is a number 1, 2, 3… zero-padded to 10 digits. PDUIDs are 26 character strings with the structure:

Cradle PDUID Structure
Structure of PDUIDs

PDUID Examples

Some example PDUIDs:

  • 0280A992E5SYSML_0000000022, in which:
    • 0280A992E5 : is the DID, the Database ID
    • SYSML_ : is the PID, the Project ID
    • 0000000022 : is the UID, the Unique ID
  • 0280A992E5SYSML_0000000023
    • 0280A992E5 : is the DID, the Database ID
    • SYSML_ : is the PID, the Project ID
    • 0000000023 : is the UID, the Unique ID
  • 0280A992E5SYSML_0000000024
  • 0280A992E5SYSML_0000000025

Role of PDUID Components

As such, and given their constituent parts:

  • The Unique ID enables the PDUID to uniquely identify a database item
  • The Project ID enables the PDUID to uniquely identify an item across multiple databases
  • The Database ID enables the PDUID to uniquely identify an item between separate Cradle systems, even if everything else about information in the databases in these Cradle systems is the same

PDUIDs as Item Identities

A PDUID identifies an item, but not a specific instance of that item. This is deliberate. It is more convenient if the PDUIDs of all instances of an item are the same. Therefore, an alternative for the identity of an item is:

PDUID  Instance ID

which identifies a specific instance of an item, where:

PDUID:Is the item’s PDUID as defined above that identifies an item
Instance ID:Which of possibly many instances of the item is being referred to, with the same meaning as above

PDUID Item Identity Examples

As examples, in the example database SYSM:

  1. There is a use case diagram Automobile Use Case Diagram whose identity is:
    • Domain ID: I
    • Namespace: SysML-Automobile, which has MUID 100
    • Type: uc, meaning a SysML use case diagram
    • Stereotype: use case
    • Number: uc-1
    • Version:
    • Draft: A

which has been assigned the PDUID 0280A992E5SYSML_0000000035 so the item’s identity is also:

    • PDUID: 0280A992E5SYSML_0000000035
    • Version:
    • Draft: A

that can also be expressed as:

    • Database ID: 0280A992E5
    • Project ID: SYSML_, and hence PUID: SYSML_0000000035
    • Unique ID: 0000000035
  1. In the same database there is also a TEST CASE item Keycode verification whose identity is:
    • Type: TEST CASE
    • Number: TC-20
    • Version:
    • Draft:  A

which has been assigned the PDUID 0280A992E5SYSML_0000000024 so the item’s identity is also:

    • PDUID: 0280A992E5SYSML_0000000024
    • Version:
    • Draft: A

that can also be expressed as:

    • Database ID: 0280A992E5
    • Project ID: SYSML_, and hence PUID: SYSML_0000000024
    • Unique ID: 0000000024
    • Version:
    • Draft: A

PUIDs

Project Unique ID (PUID) is the name given to the PDUID without its Database ID (DID). In other words, PUIDs are a means to identify pieces of information in a single database.

PDUID Lookup

Every Cradle database contains a table that is used to check if a PDUID has been used and to convert between item identities and PDUIDs. This table is empty when a database is first created. The table is not part of the information in Cradle export files. Rather, the table’s contents are created when items are created in the database, either by an operation in the database such as creating or copying items, or reordering a hierarchy of items, or by importing information into the database from an external file.

This table is used to:

  • Check if a PDUID has been used
  • Find the PDUID for a given item identity
  • Find the item identity for a given PDUID
  • Find the next UID to be used

Entries in the table are marked deleted when the last instance of the corresponding database item is deleted.

Selective Reuse of PDUIDs

PDUIDs are never reused for different pieces of information, but they are reused for the same piece of information. This means that if a piece of information is deleted, its entry in the PDUID table is marked deleted, but the entry remains in the table. If that piece of information is ever recreated, then the PDUID table entry will be found, marked active, and the PDUID recorded in the table entry will be applied to the piece of information.

If items are auto-numbered, then the items’ identities are never reused and so PDUIDs are never reused.

For items that are not auto-numbered, or do not support auto-numbering (such as diagram, specification or data definition items in models), then PDUIDs can be reused. PDUIDs can also be reused when information is imported, and previously-deleted items are found in the PDUID table and their PDUIDs reused. This can be over-ridden on import as will be discussed later.

Example Scenario

As an example, consider the scenario:

  1. Create item r1, the assigned PDUID is: 020A3857A3FRED__0000000001
  2. Create item r2, the assigned PDUID is: 020A3857A3FRED__0000000002
  3. Delete item r1
  4. Create item r3, the assigned PDUID is 020A3857A3FRED__0000000003. Note that the UID in this PDUID is not 1 (which is now available since r1 was deleted), it is 3, because new PDUIDs always use the next UID value.
  5. Create item r4, the assigned PDUID is: 020A3857A3FRED__0000000004
  6. Create item r1, the assigned PDUID is: 020A3857A3FRED__0000000001 because the original PDUID table entry for r1 has been found and marked active and its PDUID has been reused so that the new item r1 is assigned the same PDUID as the original item r1.

Reuse of PDUIDs on Import

The reuse of PDUIDs is the correct approach as it ensures that a given item always has the same identity, regardless of what happens during the life of a project.

If, for whatever reason, this is not the behaviour that you want, then use auto-numbered items so that every item will be guaranteed to have a new identity and hence guaranteed to also have a new PDUID. Since auto-numbering makes the reuse of item identities impossible; auto-numbering also ensures that it is impossible to reuse PDUIDs.

Product Range – Cradle-SE Desktop

Cradle-SE Desktop Overview

Model Based Systems Engineering across the Systems Lifecycle

Complete Application Lifecycle Management (ALM) and Model-Based Systems Engineering (MBSE) solution for the entire project lifecycle, fully user-definable and applicable to all agile and phase based processes.

  • Supports the full systems development lifecycle at system, subsystem and lower levels
  • Integrates in one product features normally spread across separate tools from different vendors
  • Completely user-definable and user-extensible with point-and-click UIs
  • Manage any information, including requirements, models, risks, interfaces, tests and verifications
  • Scalable to millions of items of information
  • Full traceability of data from external sources and version management of source documents
  • Full traceability and coverage analyses
  • User-definable views of data including tables, trees, documents, matrices, diagrams and graphs
  • User-defined metrics and management dashboards

Cradle-SE Desktop is a complete solution to manage and trace all the data for your agile and phase-based projects.

Capture and Track Information

Capture information from external documents and tools, and track changes in these sources. You can build new sets of requirements, analysis, architecture and design models, tests or verifications, and link them to the source data and to each other. Check the consistency and quality of this information, and prove the integrity of the models and other data with bi-directional coverage and traceability analyses.

Customers’ confidence can be raised with proof that your work satisfies its sources and constraints, and will meet their needs.

Easily track progress with metrics and KPIs and link to your WBS and actual progress to your project planning tools.

Create Databases and Information

Create any number of databases, each with a schema and multiple projects that contain any number of items of any number of user-defined item types. Each item has any number of attributes with up to 1TByte of data, held in Cradle, or referenced in files, URLs or other tools.

All items can be linked with user-defined types of cross reference. The links have attributes to justify, explain or parametise them. Links are direct and indirect, for full lifecycle traceability, impact and coverage analyses.

External documents can be loaded into hierarchies of items. Every item in Cradle is linked to its source in a document. Changes in new document versions are automatically found and the database updated. You can prove the integrity of all source data to your customers with a range of detailed coverage analyses of their documents.

Items can be linear, hierarchical and in many-to-many relationships. Items can be split, merged and reordered. All information can be shared and reused. Cradle can support product ranges, models, variants and builds, and generate comparative analyses between them as tables, pivot tables and matrices.

Create any number of analysis, process, architecture and design models using UML, SASD, IDEF, ADARTS, SysML and other notations. Group models in hierarchies and link all elements of all models to requirements, SBS, issues, test cases and all other information.

Track and View Information

Cradle tracks all edits to every requirement, test case, verification and all other information that you want it to hold. Edits can be reversed selectively or by group. Full or partial change logs are readily available.

You define how information is viewed and reported in any number of views, shown as nested tables, trees, matrices, pivot tables and as diagrams.

Manage Projects

Manage your projects with:

  • Metrics, user-defined calculations of items’ values
  • Key Performance Indicators (KPIs), results of metric calculations with colour-coded display bands
  • Bi-directional links to Project, including user task lists and actual progress reporting

Cradle is open. It supports many import/export formats, has several interface mechanisms to link to other tools, and connects to Microsoft Office components Word, Excel, PowerPoint, Visio and Project.

Cradle is simple to customise and use. You do not need to learn a scripting language or become a programmer to tailor it to your process. After every change to your schema, Cradle will automatically update collections of queries, views and other definitions that make you productive immediately.

Major Features

The major features are:

Cradle-SE Desktop Features
Cradle-SE Desktop Features

Supported Platforms

The supported platforms are:

Supported Platforms

Characteristics

The characteristics are:

Cradle-SE Desktop Characteristics
Cradle-SE Desktop Characteristics

Cradle-SE Desktop is part of the Cradle product range. The full, multi-user, product is Cradle Enterprise.

Product Range Highlights

  • Applies to agile and phase projects
  • Application lifecycle management
  • Requirements management
  • Modelling / MBSE
  • Full lifecycle integration
  • V&V
  • Reporting
  • Metrics
  • Dashboards
  • Project plans
  • Compliance management
  • Single user

Product Range – Cradle-RM Pro

Cradle-RM Pro Overview

Requirements Management across the Systems Lifecycle

Complete Application Lifecycle Management (ALM) and Requirements Management (RM) and documentation solution for the entire project lifecycle, fully user-definable and applicable to all agile and phase based processes.

  • Supports the full systems development lifecycle at system, subsystem and lower levels
  • Integrates in one product features normally spread across separate tools from different vendors
  • Completely user-definable and user-extensible with point-and-click UIs
  • Manage any information, including requirements, risks, interfaces, tests and verifications
  • Scalable to millions of items of information
  • Full traceability of data to source and generated documents with complete version management
  • Full traceability and coverage analyses
  • User-definable views of data including tables, trees, documents, matrices, diagrams and graphs
  • User-defined metrics and management dashboards

Cradle-RM Pro is a complete solution to manage, trace and document all the data for your agile and phase-based projects.

Capture and Track Information

Capture information from external documents and tools, and track changes in these sources. You can build new sets of requirements, functions, components, interfaces, tests or verifications, and link them to the source data and to each other. Check the quality and structure of this information, and prove the integrity of information with bi-directional coverage and traceability analyses.

Customers’ confidence can be raised with proof that your work satisfies its sources and constraints, and will meet their needs.

Easily track progress with metrics and KPIs and link to your WBS and actual progress to your project planning tools.

Create Databases and Information

Create any number of databases, each with a schema and multiple projects that contain any number of items of any number of user-defined item types. Each item has any number of attributes with up to 1TByte of data, held in Cradle, or referenced in files, URLs or other tools.

All items can be linked with user-defined types of cross reference. The links have attributes to justify, explain or parametise them. Links are direct and indirect, for full lifecycle traceability, impact and coverage analyses.

External documents can be loaded into hierarchies of items. Every item in Cradle is linked to its source in a document. Changes in new document versions are automatically found and the database updated. You can prove the integrity of all source data to your customers with a range of detailed coverage analyses of their documents.

Items can be linear, hierarchical and in many-to-many relationships. Items can be split, merged and reordered. All information can be shared and reused. Cradle can support product ranges, models, variants and builds, and generate comparative analyses between them as tables, pivot tables and matrices.

Track and View Information

Cradle tracks all edits to every requirement, test case, verification and all other information that you want it to hold. Edits can be reversed selectively or by group. Full or partial change logs are readily available.

You define how information is viewed and reported in any number of views, shown as nested tables, trees, matrices, pivot tables and as diagrams.

Generate versions of documents such as a URD, SRD, IRS, SDS and SSDS to match your or your client’s formats with user-defined templates and detailed traceability of which items were published in each document issue.

Manage Projects

Manage your projects with:

  • Metrics, user-defined calculations of items’ values
  • Key Performance Indicators (KPIs), results of metric calculations with colour-coded display bands
  • Bi-directional links to Project, including user task lists and actual progress reporting

Cradle is open. It supports many import/export formats, has several interface mechanisms to link to other tools, and connects to Microsoft Office components Word, Excel, PowerPoint, Visio and Project.

Cradle is simple to customise and use. You do not need to learn a scripting language or become a programmer to tailor it to your process. After every change to your schema, Cradle will automatically update collections of queries, views and other definitions that make you productive immediately.

Major Features

The major features are:

Cradle-RM Pro Features
Cradle-RM Pro Features

Supported Platforms

The supported platforms are:

Supported Platforms

Characteristics

The characteristics are:

Cradle-RM Pro Characteristics
Cradle-RM Pro Characteristics

Cradle-RM Pro is part of the Cradle product range. The full, multi-user, product is Cradle Enterprise.

Product Range Highlights

  • Applies to agile and phase projects
  • Application lifecycle management
  • Requirements management
  • Full lifecycle integration
  • V&V
  • Reporting
  • Document publishing
  • Metrics
  • Dashboards
  • Project plans
  • Compliance management
  • Single user

Product Range – Cradle-RM Desktop

Cradle-RM Desktop Overview

Requirements Management across the Systems Lifecycle

Complete Application Lifecycle Management (ALM) and Requirements Management (RM) solution for the entire project lifecycle, fully user-definable and applicable to all agile and phase based processes.

  • Supports the full systems development lifecycle at system, subsystem and lower levels
  • Integrates in one product features normally spread across separate tools from different vendors
  • Completely user-definable and user-extensible with point-and-click UIs
  • Manage any information, including requirements, risks, interfaces, tests and verifications
  • Scalable to millions of items of information
  • Full traceability of data from external sources and version management of source documents
  • Full traceability and coverage analyses
  • User-definable views of data including tables, trees, documents, matrices, diagrams and graphs
  • User-defined metrics and management dashboards

Cradle-RM Desktop is a complete solution to manage and trace all the data for your agile and phase-based projects.

Capture and Track Information

Capture information from external documents and tools, and track changes in these sources. You can build new sets of requirements, functions, components, interfaces, tests or verifications, and link them to the source data and to each other. Check the quality and structure of this information, and prove the integrity of information with bi-directional coverage and traceability analyses.

Customers’ confidence can be raised with proof that your work satisfies its sources and constraints, and will meet their needs.

Easily track progress with metrics and KPIs and link to your WBS and actual progress to your project planning tools.

Create Databases and Information

Create any number of databases, each with a schema and multiple projects that contain any number of items of any number of user-defined item types. Each item has any number of attributes with up to 1TByte of data, held in Cradle, or referenced in files, URLs or other tools.

All items can be linked with user-defined types of cross reference. The links have attributes to justify, explain or parametise them. Links are direct and indirect, for full lifecycle traceability, impact and coverage analyses.

External documents can be loaded into hierarchies of items. Every item in Cradle is linked to its source in a document. Changes in new document versions are automatically found and the database updated. You can prove the integrity of all source data to your customers with a range of detailed coverage analyses of their documents.

Items can be linear, hierarchical and in many-to-many relationships. Items can be split, merged and reordered. All information can be shared and reused. Cradle can support product ranges, models, variants and builds, and generate comparative analyses between them as tables, pivot tables and matrices.

Track and View Information

Cradle tracks all edits to every requirement, test case, verification and all other information that you want it to hold. Edits can be reversed selectively or by group. Full or partial change logs are readily available.

You define how information is viewed and reported in any number of views, shown as nested tables, trees, matrices, pivot tables and as diagrams.

Manage Projects

Manage your projects with:

  • Metrics, user-defined calculations of items’ values
  • Key Performance Indicators (KPIs), results of metric calculations with colour-coded display bands
  • Bi-directional links to Project, including user task lists and actual progress reporting

Cradle is open. It supports many import/export formats, has several interface mechanisms to link to other tools, and connects to Microsoft Office components Word, Excel, PowerPoint, Visio and Project.

Cradle is simple to customise and use. You do not need to learn a scripting language or become a programmer to tailor it to your process. After every change to your schema, Cradle will automatically update collections of queries, views and other definitions that make you productive immediately.

Major Features

The major features are:
Cradle RM Desktop Features

Supported Platforms

The supported platforms are:

Supported Platforms

Characteristics

The characteristics are:

Cradle RM Desktop Characteristics
Cradle RM Desktop Characteristics

Cradle-RM Desktop is part of the Cradle product range. The full, multi-user, product is Cradle Enterprise.

Product Range Highlights

  • Applies to agile and phase projects
  • Application lifecycle management
  • Requirements management
  • Full lifecycle integration
  • V&V
  • Reporting
  • Metrics
  • Dashboards
  • Project plans
  • Compliance management
  • Single user

Cradle Product Range

Cradle Product Range Overview

Integrated Systems Engineering from the Desktop to the Enterprise

Manage all information for the entire lifecycle with full traceability, metrics, quality checks  and performance indicators, all linked to your project schedules.

  • Supports the full systems development lifecycle at system, subsystem and lower levels
  • Integrates in one product features normally spread across separate tools from different vendors
  • Completely user-definable and user-extensible with point-and-click UIs
  • Manage any information, including requirements, models, risks, interfaces, tests and verifications
  • Built-in CM, baselines, formal change control and user-defined workflows
  • Scalable to millions of items of information
  • Scalable from one to thousands of users
  • Web and desktop applications, user-definable UIs
  • Rapid deployment facilities
  • Embed process in tool UIs, minimised user training

Cradle is a complete multi-user solution to manage, trace and document all data in your agile, and phase-based projects.

Capture information from external documents and tools, and track changes. You can build new sets of requirements, analysis, architecture and design models, tests or verifications, and link them to the source data and to each other. Check the consistency and quality of this information, and prove the integrity of the models and other data with bi-directional coverage and traceability analyses.

Customers’ confidence can be raised with proof that your work satisfies its sources and constraints, and will meet their needs.

Easily track progress with metrics and KPIs and link to your WBS and actual progress to your project planning tools.

Manage users’ work with user-defined CM, workflows and access controls, and multi-team collaboration and discussions.

Cradle is a complete product range, from single-user requirements management to enterprise scale, multi-user collaborative environments. All are fully compatible with each other, sharing their architecture, database and I/O formats. You can start with a single-user tool and migrate to the multi-user Cradle Enterprise product, seamlessly and easily.

What does Cradle Include and Support?

All Cradle systems include:

  • Introductory overview
  • Tutorial, to teach the UI
  • Start Page of shortcuts in the UI for new users
  • A guide for creating and working in a new project
  • Example configurations suitable for many different processes, each with its own process guide
  • A range of user guides
  • Fully indexed, searchable help

Cradle supports all variants of Windows and Linux. Different platforms can be mixed in a Cradle deployment. Cradle servers are designed to run 24×7, unattended, and need no administration. No routine upkeep is needed.

Virtual servers and clients are supported. Supports IPv4 and IPv6. Cradle may be served as SaaS using all popular web and non-web remote deployment tools. Can be served through firewalls and from DMZs.

Includes access, security and licence usage logs, and a range of management reporting tools.

Supported Platforms

Supported Platforms
Supported Platforms

Deployment

Cradle systems are installed on your computers. Cradle is also available as SaaS in a subscription where you choose the features required, the number of users to be supported, and how long you want to use Cradle.

Product Characteristics and Features

The characteristics and features of all Cradle products are shown below:

Product Range Overview - Characteristics and Features
Product Characteristics and Features

Product Range Highlights

  • Applies to agile and phase projects
  • Application lifecycle management
  • Requirements management
  • Modelling / MBSE / SysML / UML
  • Test Execution / Risk Management
  • Full lifecycle integration
  • V&V
  • Reporting / document publishing
  • Metrics
  • Dashboards
  • Project plans
  • User-defined UIs
  • Custom web UIs
  • Configuration management
  • Single user and multi-user

June Newsletter 2023

Welcome to the June 2023 newsletter from 3SL!

This newsletter contains a mixture of news and technical information about us, and our requirements management and systems engineering tool “Cradle”. We would especially like to welcome everyone who has purchased Cradle in the past month and those who are currently evaluating Cradle for their projects and processes.

We hope that 3SL and Cradle can deliver real and measurable benefits that help you to improve the information flow within, the quality and timeliness of, and the traceability, compliance and governance for, all of your current and future projects.

If you have any questions about your use of Cradle, please do not hesitate to contact 3SL Support.

Configuration Management

All projects need configuration management, even if only to create protected copies of the items being worked on in one or more baselines. Cradle Configuration Management System (CMS) is a flexible, customisable framework. You can use the CMS to adapt Cradle to your process and the needs of your project.

The CMS contains a variety of features and capabilities. You can use these to configure the CMS to be a simple change manager. You can also configure the CMS to be extremely rigorous in all stages in the evolution of your project information from initial creation through to formal acceptance.

Summary

The CMS provides four basic mechanisms:

The scope and effect of these mechanisms are controlled by privileges and also by workflows.

Simple Process

A simple CM process is typically a series of stages that items will pass through on their way to a baseline. There are typically no formal reviews in this sequence.

The steps to create a simple process are:

  1. Decide on the stages in your process and what each stage means
  2. Create a category code with these stages as its possible values
  3. Assign this category code to the item type(s) that are to follow the process
  4. Create a workflow that references your category code and define the sequence of stages, each step in the workflow will set items’ status to be one of the values in your category code
  5. Assign the workflow to the item type(s)

It is easy to use this workflow. You and your colleagues create items. You change items and link them to other items in the database. At the end of each step, you use the Advance operation to move the items to the next step in the workflow. When items reach the stage of being baselined, someone will need to open a baseline before you can Advance items into it. When everything has been moved into the baseline, it can be closed.

Review Process

A more complex workflow can be for a process that includes reviews. Any number of the steps in a workflow can be a review. You can specify the characteristics of each review. These include:

  1. Which users will be involved in the review?
  2. How many of these users must contribute to the review?
  3. How will an approve result be determined from reviewers’ responses?
  4. How will a reject result be determined from reviewers’ responses?
  5. What actions are to be performed for items that are rejected by the review?
  6. What actions are to be performed for items that are approved by the review?
  7. Is the rework mechanism to be used and if so, how?

The process to implement a review process is the same as for a simple process except that some of the workflow steps require the configuration of reviews.

Managing Changes to Items

You can review items into project baselines and make formal changes to these items. Use of the CMS is therefore fundamentally about progressing items through one or more reviews into baselines, and then subsequently making formal changes to these items, which culminate in new versions of the changed items appearing in new baselines.

The CMS is not concerned with the details of how changes to items occur. It is not concerned with whether 1 or N edits have occurred to effect a change to an item. It is not concerned with recording the before and after values of the attributes that are affected by each edit, but is simply concerned with the high-level process of agreeing that a change is needed (a change request), initiating consequential changes to one or more items (managed in one or more change tasks), recording the formal reviews of the changed items, and ultimately storing the amended items in a new baseline.

Audit Trail / Configuration Log

For many projects, the automatically and transparently recorded audit trail, and the formalism of the use of change requests (CHRs), change tasks (CHTs), formal reviews and formal baselines, is sufficient. For other projects, more detailed records are required.

Public Training

3SL are running a public CM course in June. If you want to learn more about CM in Cradle, book your place now.

PDUIDs

Project Database Unique IDs are an alternate method for identifying items in a Cradle database. PDUIDs are particularly useful for users of the Cradle Application Programming Interface (API) and Web Services Interface (WSI) because they have the same format for all types of information.

We will provide a series of short articles on PDUIDs over the coming weeks. We hope that these will be helpful.

Integrity of 3SL’s SSL Certificates

All of 3SL’s web-based services use HTTPS, the secure form of HTTP.  Wherever possible, all of our Internet-based services also use secure protocols. So this means we need a certificate to confirm our identity that your web browser and other tools check when you visit our website and other services.

We have a certificate for:

*.threesl.com

This includes our website, mail server, shared SaaS and other portals. Certificates have a fixed lifespan and so on 9th June we refreshed our certificate. Our current certificate is issued by Sectigo RSA Domain Validation Secure Server CA. It is valid until 23:59:59 UTC Tuesday, 9th July 2024.

You can check the integrity of a website certificate using Qualys here. You can check 3SL’s website here. Our site is rated A+:

SSL Certificates
Qualys report for 3SL

The King’s Official Birthday (17th June 2023)

Celebrations of the monarch’s official birthday are held in June across the Commonwealth, including the Trooping of the Colour. The date not necessarily correspond to the date of the monarch’s actual birth.

The sovereign’s birthday was first officially marked in the Kingdom of Great Britain in 1748, for King George II. Since then the date of the king or queen’s birthday has been determined by:

  • Royal proclamations issued by the sovereign or viceroy, or
  • Statute laws passed by the local parliament

We will individually mark the King’s birthday and invite others to do so in respect to the Crown.

Social Media

We congratulated @WeAreHII on their record first quarter 2023 revenues and @Siemens on their outstanding performance.

We also congratulated @KBRincorporated on the award of the contract by Hindustan Petroleum Corporation Ltd. This is to implement supercritical solvent deasphalting technology.

Our customer @MIRAEngineering were exhibiting at the Future Mobility Asia Exhibition & Summit. Did you visit stand ME18?

Looking Back

Last month we discussed:

We would also like to thank all attendees on our Test Execution course which we provided in May.

Still to Come this Month

Your Highlights!

If you have any company news or achievements that you would like 3SL to share in any of our newsletters then please let us know.

Creating Tables in Document Publisher

Generating Document Publisher Tables

There are various methods of generating Document Publisher tables. This short post provides a brief explanation of the following methods:

Table Tag

A Table tag allows you to generate uniform tables where the resulting items are reported in rows. This can be a list of individual items or links to other items using a defined hierarchy. Below shows an example definition of both.

  1. Insert a Table tag:

    Insert Table Tag button
    Insert Table Tag button
  2. Add Field tags into the table cells:
    Field Tags
    Field Tags
    Tables in Document Publisher
    Tables in Document Publisher

    This will output the examples below:

    Table showing FEATUREs
    Table showing FEATUREs
Table showing System Requirements
Table showing System Requirements

WorkBench Table Tag

Many tables will probably have been used as a result of queries in WorkBench. For example, one shown here is a list of System Requirements linked to SBS items:

SRs linked to SBS
SRs linked to SBS items

These tables can be used as a WorkBench Table tag in a Document Publisher output:

WorkBench Table Tag button
WorkBench Table Tag button
Example WorkBench Table Tag
Example WorkBench Table Tag
WorkBench Table Tag Properties
WorkBench Table Tag Properties

This is a quick and easy method of producing tables without any need for defining Field tags as the table attributes are already defined in WorkBench. An example output is shown below:

WorkBench Table Output
WorkBench Table Output

Inserting into Table Cells

Document Publisher also provides the ability to insert data into table cells by the use of a special Computed Insert_Table_From_Bkmk Field tag. The steps to achieve this are:

  1. Insert a Word table and format as appropriate:
    Word Insert Table option
    Word Insert Table option

    Inserted Word table
    Inserted Word table
  2. Highlight the table and insert a Word bookmark:

    Insert Word Bookmark option
    Insert Word Bookmark option
  3. Before the table, insert a Paragraph Group tag and define the item type that you would like to shown in the table. For example – FEATURE items:

    Example Paragraph Group tag
    Example Paragraph Group tag
  4. The first Field tag is very important as this specifies that the fields are going to be inserted into the table using the bookmark TABLE_1 that was defined. In this example, we also create a hierarchy to show linked NEED items and PBS items:

    FEATURE hierarchy
    FEATURE hierarchy
  5. In subsequent Field tags, you can insert into a specified row and column of the table. In this first tag, it is inserting the FEATURE identity attribute into cell column 1, row 1:

    Inserting FEATURE identity
    Inserting FEATURE identity
  6. You can see here that another one of the Field tags is inserting the FEATURE TEXT frame into column 1, row 3 of the table:

    Insert FEATURE TEXT frame
    Insert FEATURE TEXT frame

Once you have specified all of the cells to be populated in the table, this can then be published like the example shown below:

FEATURE output
FEATURE output

May Newsletter 2023

Welcome to the May 2023 newsletter from 3SL!

This newsletter contains a mixture of news and technical information about us, and our requirements management and systems engineering tool “Cradle”. We would especially like to welcome everyone who has purchased Cradle in the past month and those who are currently evaluating Cradle for their projects and processes.

We hope that 3SL and Cradle can deliver real and measurable benefits that help you to improve the information flow within, the quality and timeliness of, and the traceability, compliance and governance for, all of your current and future projects.

If you have any questions about your use of Cradle, please do not hesitate to contact 3SL Support.

3SL SaaS

Deploying Cradle as SaaS (software as a service) is becoming an increasingly attractive option for many organisations. Using SaaS greatly simplifies the deployment of Cradle as there is nothing that you, or your corporate IT, need to do.

We ask for the names of the people who will use Cradle, and the IP addresses from where they will access Cradle, and then we do the rest.

You and your colleagues get access to the latest Cradle, backed by our internationally renown technical support, with no need to be concerned about IT services, data integrity, backups or any of the other details that can be a burden for an in-house installation.

For more information, please look here. If you would like to talk to us about SaaS deployments of Cradle, please click here.

Baselines and Snapshots

Cradle provides two mechanisms to protect sets of information and provide read-only access to information as it was in the past.

Baselines

Baselines is the mechanism in Cradle’s Configuration Management System (CMS) to protect information from changes. Each baseline is a named repository for the state of a project at a specific point in time. A succession of baselines can be created over the life of a project, each containing more and more information as the project completes its sprints, iterations or phases.

Items can be registered into an open baseline and are given a version number: 01, 02, 03 … The version number assigned to each item is either 01 if there are no baselined instances of that item, or it is 1 higher than the highest version already in the database.

When the baseline is closed:

  • Unchanged items from the previous baseline migrate into (become a part of) the new baseline
  • A copy of all current links (cross references) is saved with the baseline
  • A list of the latest items and their versions is saved for the baseline

Snapshots

A snapshot is a copy of all the information in a database. Its contents can be viewed, read-only, at any time in the future. A succession of snapshots can be created over the life of a project. In effect, a snapshot is simply an online backup, a copy of a database.

A snapshot is a copy of an entire database. When a snapshot is created, everything in a database, including all of its baselines and definitions (excluding Personal and System scope) are copied into a separate area. Every snapshot is separate from all other snapshots and is separate from the live database.

Creating a snapshot is similar to making a backup copy of the database, except that this backup is directly accessible from within Cradle.

Comparison

#CharacteristicBaselineSnapshot
1SummaryCreates a new approved set of items and links in a database that can be viewed RO.Copies an entire database and related definitions to create a new database that can be viewed RO.
2User BenefitRO view of previous baseline that can be used for queries, view data, run metrics, publish reports or documentsRO view of everything in the database as it was in the past, for queries, view data, run metrics, publish reports or documents
3Additional ItemsNoneNone
4Additional linksDuplicates all current linksNone
5Database SizeAdds some items and copies all linksNone
6Disk UsageSmall to medium increaseMedium to large increase

For more details, please see our blog post here.

Circus Starr

3SL are proud to announce that we are supporting Circus Starr!

Circus Starr
Circus Starr

The community interest circus company are dedicated to making a difference to the lives of vulnerable and disadvantaged children in Barrow-in-Furness and across England through the magical art of circus. We are pleased to support our community, and this accessible and inclusive event is such a worthy cause.

Circus Star
Circus Star

To find out more about how you can support the circus with a purpose visit www.circus-starr.org.uk or call +44 (0) 1260 288690.

The Coronation of King Charles III

Many people across the country and the Commonwealth will be celebrating the Coronation of His Majesty The King and Her Majesty the Queen Consort over a weekend of special events on 6th to 8th May 2023.

International Nurses Day

Every year International Nurses Day is celebrated on 12 May to commemorate the anniversary of Florence Nightingale’s birthday. This day also celebrates the contribution done by nurses to society around the world. On this day the International Council of Nurses organisation produces an International Nurses kit to educate and assist health workers globally with a different theme every year.

"Nurse" Photo by Laura James from Pexels
Nurse

World Multiple Sclerosis Day

On 30th May it is World Multiple Sclerosis Day. World MS day takes place on 30th May every year. Share stories, raise awareness and campaign with everyone affected by MS.

World MS Day
World MS Day

Social Media

We congratulated our customer ZF Group on the opening of their West Coast Mobility Hub which is a cutting edge facility dedicated to shaping the future of mobility.

Borg Warner were presenting how H2-ICE enables fast and efficient transportation at the World Hydrogen 2023 Summit & Exhibition.

Siemens Mobility demonstrated how their pioneering Vectron Dual Mode locomotives combined advantages of full featured diesel locomotive with those of electric ones.

We congratulated Horiba on obtaining UKAS accreditation against ISO17021-1.

Roche confirmed that the US FDA had granted approval to their new combination treatment for certain types of previously untreated diffuse large B cell lymphoma. This makes it the first therapy in nearly 20 years approved by the FDA for people with this aggressive disease.

Looking Back!

Last month we discussed:

We would also like to thank all attendees on our Risk Management course which we provided in April.

We also received a fantastic review from one of our customers:

“When there have been technical difficulties, the staff have been frequently quick, knowledgeable, and able to help restore normal operations. The level of service is above the levels of several large name companies, I struggle to think of what more I can ask for.”

We appreciate all feedback as this helps us to both assess and look to improve both the products and services we provide.

Still to Come this Month

Circus Starr

Supporting Circus Starr

3SL are proud to announce that we are supporting Circus Starr!

Circus Starr
Circus Starr

The community interest company are dedicated to making a difference to the lives of vulnerable and disadvantaged children in Barrow-in-Furness and across England through the magical art of circus. We are pleased to support our community, and this accessible and inclusive event is such a worthy cause.

Circus Star
Circus Star

To find out more about how you can support the circus with a purpose visit www.circus-starr.org.uk or call +44 (0) 1260 288690.

Marking Category Values as Obsolete

When setting up a single value pick list or multiple category, you can define any number of possible values. These can be chosen by a user as the value of the category in an item.

However, over time, category values may no longer be relevant.

Removing the values from the project schema would be the wrong course of action as values could still exist in items (possibly in old baselines) that would raise errors in item integrity checks and could cause problems when data is imported. For example, data that used to be valid can no longer be imported unless extra import options are selected to ignore the validation of data.

Set Category Values as Obsolete

Instead of deleting those values from the project schema, you can set category values as obsolete so that the value can no longer be entered by users but the historical values remain valid.

In this example, Project A might have been completed so is no longer valid to set for future items. Also, Department 1 might not be responsible for any future items but they were responsible for historical ones.

Obsolete category value option
Marking a multiple value category value as obsolete
Obsolete category value option
Marking a single value category value as obsolete

Once set, any items that had been set to the obsolete value remain valid. However, users can only enter the values that are currently valid; not the ones that are marked as obsolete.

Categories in a form
Items only allow valid values to be set

When querying the database, you can still set the query criteria to search for items that are marked as obsolete.

Querying for obsolete category values
Querying the database on category values marked as obsolete

Any validation checks on items in the database will return without error because the value remains defined in the schema.