Cradle Modules – WEBP

Cradle-WEBP Module

The Cradle WEBP module publishes sections of Cradle databases as fully hyperlinked, standalone, websites that can be viewed independently of Cradle.

Cradle WEBP Module
Cradle Web Publisher WEBP Module

In general, users will access a Cradle database through a Cradle web UI or a  non-web UI such as WorkBench.

There are situations where direct access is not possible, particularly if the users are remote from the database and do not have any external electronic access, of if the data is classified and cannot be sent across a public network, such as the Internet, even if the connections are secured.

In such cases, database information is normally published into one or more documents that are provided to the external users. This works well, except that documents are linear, a sequence of pages, and it is not always easy to explore their contents. This is particularly true for analysis and design models where there are many connections between the models’ components, and also when following cross references between items.

Website Pages

The Web Publisher tool generates a static website containing some or all of the items in a database. This website contains three types of page:

  • A top-level page
  • Pages containing lists of each item type that has been published
  • Individual pages for each item

The pages for individual items contains lists of links to related items of each type, grouped by the type of cross reference.

Diagrams are published as SVG so they can be zoomed, panned and scrolled. All diagram symbols are hyperlinked to lower-level diagrams and to the symbols’ descriptions in specifications and data definitions.

Website Links

So the pages for individual items are connected by hyperlinks in the same way that the database items are connected by cross references.

Users can follow these hyperlinks to explore the information in any way that is convenient to them.

Website Distribution

By being static, the website is fully independent of Cradle. By being read-only, the websites can be distributed on CD or DVD, In effect, the website is a self-contained snapshot of the parts of the database that you have chosen to publish.


User-defined criteria specify the item types, and items of these types, to be published from the database. The form and content of the website’s main page can be controlled with a user-defined template. The tables for each item type have user-defined columns and contain any attributes. The pages for items have individual user-defined templates so that the layout and attributes to be published can be controlled.

Collectively these templates are called a theme. Several themes are provided with Web Publisher. You can create your own themes to include your company or project logos and branding.

Items in a Cradle database can contain any number of attributes of a wide variety of types, including URLs. So any item in Cradle can contain URLs that link it to other resources, either on the Internet, or intranet, or data in another environment.

You can include these URL attributes in your templates for the Web Publisher. By doing so, the pages published by the Web Publisher will contain these URLs so that a user browsing the published website can follow the URLs to access the related information, wherever it may be.


Websites are published into a user-defined top-level file and a directory containing all other pages. It is easy to link the generated site into a larger set of information, including any site-specific modifications to the hyperlink URLs.

Different baselines, or work-in-progress, can be published to separate websites, for comparison between approved and current activities.

Feature Summary

Feature Summary - WEBP
Feature Summary – WEBP

Please contact 3SL for further information about adding a Cradle WEBP module to your existing system.

Cradle Modules – WEBA

 Cradle WEBA Module

The Cradle WEBA module provides the means to create custom web UIs that allow users to access Cradle databases from web browsers in a manner that is appropriate to their needs and use cases.

Web Access
Web Access

Cradle provides WorkBench as the means to access databases and provides many choices to create a customised environment, including start pages and the phase hierarchy. However, WorkBench is not suitable for all users:

  • Users may not want to install Cradle
  • Users may be remote from the Cradle system and WorkBench may not provide acceptable performance (despite server-side processing)
  • Users may not allow Cradle to communicate through their firewall
  • WorkBench provides more functionality than needed and, therefore, appears too complex

Why use Web UIs?

So there are at least three reasons why a project may wish to create web UIs:

  • IT restrictions in the use of WorkBench
  • Performance needs of remote users
  • Provide simple UIs tailored to the needs of specific user groups

Cradle allows web UIs to create, manipulate or view database information. Each web UI is created to meet the needs of a group of users, either to offer a wide range of UI controls to provide a flexible and powerful UI so users can perform many tasks, or a simple UI that allows users to perform perhaps one or two tasks very quickly and easily.

All web UIs are zero thickness, with no client-side code. There are no browser add-ins or plug-ins needed.

Creating Web UIs

Any number of web UIs can be created. Each is associated with a project-specific user type. Each Cradle login account is also associated with a user type. When a user connects to the Cradle Web Server (CWS) and logs in, the CWS serves the web UI defined for the user’s user type, or a default web UI.

Therefore, the CWS can serve many, potentially very different, web UIs to its users, based on their user types.

Users login to a web UI with the same username and password used with non-web tools. Web-based users have the same access rights to items and Cradle operations as users of non-web tools such as WorkBench and utilities.

Web UIs are created from templates and building blocks provided in the Cradle WEBA module. The module also includes two example web UIs:

  • A web UI using all blocks to offer a powerful and flexible environment for engineers
  • A basic UI providing controls over page layout, item creation, viewing and reporting

Using the Cradle WEBA Module

In the example web UIs, users can create, view, edit and delete items and they can manipulate and follow cross references:

Users can navigate through the database using the phase hierarchy, the master tree, or using a table-based browse mechanism,

Items edited in web UIs are locked in the same way as non-web UIs and the API, to prevent simultaneous update by other web or non-web users.

Tables of items shown in web UIs will load into Word and Excel as hyperlinked documents.

Web users can create and use the same queries as non-web UI users. All query processing is server-side in the CWS to optimise the performance for each user.

Views created in WorkBench can be used in web UIs. Items can be edited in table views. Items can be shown in user-defined forms. Binary data can be modified and uploaded in a web UI. Rich text can be shown in web UIs.

Diagrams are shown in SVG. Diagrams can be zoomed and panned. Hyperlinks in each diagram symbol allow users to navigate to child diagrams and from symbols to their descriptions in data definitions and specifications.

Change histories are also fully supported, together with all collaboration facilities, including discussions and alerts.

Authentication to web UIs can use LDAP and support single sign-on. Access to web UIs can be limited to specific proxy servers, network interfaces and remote hosts.

Cradle provides cradle:// protocol URLs that allow direct access to items and query results by external tools.

Feature Summary

Feature Summary - WEBA
Feature Summary – WEBA

Please contact 3SL for further information about adding a Cradle WEBA module to your existing system.

Project Administration Integrity Checks – Item Integrity Checker

There are situations, as with any database, where integrity issues may occur with the data not matching what is defined in the schema. This could be due to a number of reasons such as:

  • Items of data that have not yet been populated
  • Mandatory categories or frames that have not been populated

With Cradle also providing the facility for data to be imported and captured in a number of different ways, it is inevitable that the integrity of this data may be questionable. Document Loader, capture add-ins and import are some of these mechanisms and, despite some protective settings in these tools, it is still possible to bring in data that does not match the current schema.

In addition to this, it is possible to import a project schema itself or modify the project setup which would impact the data that already exists in the database:

  • Changing item attributes, categories and frames
  • Changing link rules

For these reasons, Cradle provides two utilities in WorkBench that check the data in comparison to Project Setup:

  • Item Integrity Check
  • Cross Reference Integrity Check

For both of these utilities, the user MUST have ACCESS_BYPASS privilege to instigate any changes to the data. It is highly recommended that there are no other active users in the database when the checkers are ran. One way to ensure this is to lock the project using Project Manager.

We also recommend that you take a backup of your database and/or create a snapshot prior to making any changes with these utilities.

In this blog we will focus on the Item Integrity Checker.

Item Integrity Checker

The Item Integrity Checker is split into two parts:

  • Frame version checks
  • Item checks
Item Integrity Checker
Item Integrity Checker

Frame Version Checks

Cradle item types contain a type of attribute called a frame. Each frame can store or manage up to 1 TByte of any kind of data. An item can contain any number of frame attributes.

In practice, most frames store a small amount of text.

These item types also have a mechanism called edit history that records any changes that are made to an item. Each edit contains:

  1. The date and time the edit occurred
  2. The Cradle username of the person who performed the edit
  3. The reason the edit was performed, this description is optional
  4. A list of all the attributes (predefined, category values and frames) that were changed in the edit and their old and new values

For frames, it records the frame version numbers before and after the edit. All the frames versions are held within the item’s frame.

These frame version checks detect:

  • Missing version of any frames
  • Missing records in any version of any frame

To run this utility, select the item type(s) you want to check or All to check all item types. Then press the left-most Check button.

Frame Version Checks
Frame Version Checks

This will check all of the items in each item type selected to ensure each frame has a version of 0 and that all history for that frame, occurs in an accumulative sequence of 0, 1, 2, 3 etc and produce both a report and a summary in the dialog.

Frame Integrity Check report
Frame Integrity Check report

Notice in the dialog, that the Fix button becomes activated.

Fix button in frame version checks
Fix button in frame version checks

Pressing this button will repair the history records and can be checked by repeating the process:

Recheck frame versions
Recheck frame versions
Frame Integrity Check Report - No issues
Frame Integrity Check Report – No issues

Item Checks

On the right-hand side of the Item Integrity Check dialog, you will see a list of item checks that can be selected, or press All to select and run all checks.

These item checks compare the data that is held in the database with the currently defined settings in Project Setup to ensure they are consistent. If they are not, the utility will list any possible issues.

Item Checks
Item Checks

Once you have pressed the Check button, a report is produced and a summary appears in the dialog:

Item check results
Item check results
Database Item Integrity Check report
Database Item Integrity Check report

As with the frame integrity check, there is a Fix button but this can only apply to a number of checks. The ones that cannot be automatically fixed will appear on the report and will require some user intervention to correct the issue.

Below is a list of the issues that can be automatically fixed:

Issues that can be fixed
Issues that can be fixed


In this post we have addressed some of the checks that can be run on items in the database to confirm their data integrity using the Item Integrity Checker.

Please remember that the user MUST have ACCESS_BYPASS privilege to instigate any changes to the data and it is highly recommended that there are no other active users in the database.

Next we will discuss the Cross Reference Integrity Checker.

Cradle Modules – PERF

Cradle-PERF Module

The Cradle PERF module applies user-defined calculations to an architecture model, to compare the performance of alternative architectures and apportion performance budgets to subsystem, component and equipment designs.

Performance Modelling PERF Module
Performance Modelling PERF Module

Simulation is an activity to reproduce a system’s behaviour in an artificial environment to test the system in a variety of scenarios. Simulation is used where testing the real system is either dangerous, impracticable or too time-consuming or expensive. The most fundamental behavioural characteristics of systems are set early in the design process, as alternative architecture topologies are assessed and performance budgets are set. But as there is no behaviour allocated to the components, it is not possible to build a simulation.

Performance Assessment

Performance assessment solves this problem. It is used before behaviour is known and allocated and so before simulation can be used. It can be used:

  • To confirm if a proposed architecture is viable
  • To compare performance characteristics of candidate architectures
  • To define budgets for lower design levels (apportionment)
  • To aggregate actual values

Performance assessment is expressed in user defined characteristics, typically concerned with timing, data error or precision, such as:

  • Bandwidth
  • Utilisation
  • Size
  • Cost
  • Data rate
  • Staleness
  • Weight
  • Power

They can be subdivided, for example to study best case, worst case and typical conditions. They are held as user-defined formulae in the specifications and data definitions of the symbols in the architecture models’ diagrams.

Performance Characteristics

Any number of performance characteristics can be defined and associated with each diagram symbol. Each has its own formula. These are defined using a function library and user-defined calculation routines. This library contains logical, arithmetic, logarithmic, exponential, ladder, table lookup and interpolation routines, amongst others.

System performance requirements are applied as constraints to these characteristics by linking the items in the database and defining ranges of values for the performance characteristics that should not, or may not, be exceeded.


Analyses are run on state models that are sets of interconnected diagrams at appropriate levels in the architecture.

A state model can have external loads applied to it to represent different usage scenarios. An analysis can contain many such environmental loads. The environmental loads are defined as values of any of the performance characteristics at the external input(s) to the model.

Each analysis applies the environmental load and calculates performance characteristics for all of the symbols in the state model’s diagrams using the formulae and constraints in each symbol. The results are therefore quantitative. They are stored inside the symbols’ descriptions.

The results can be reported in the same manner as other information in a Cradle database. They can also be graphed. The graphs will typically show the values of specified characteristics along a path through the model, termed a thread. Each graph will show any constraints applied from the system requirements and the effect of the constrains on the analysis results. The data in such graphs can be exported to CSV.

Any number of thread analyses can occur.

The results will show that an architecture is viable if none of its constraints are violated.

Since the performance data is built into the architecture model, any changes to the model’s topology (such as a change to the architecture) will be automatically reflected in changes to the performance results. This allows easy comparison between alternative architectures.

The analysis results are the characteristics of a viable architecture. Hence, they are the constraints or budgets for the next level of design. So the analysis of each level produces performance constraints for the next level. This process can continue through the design levels until the system behaviour is sufficiently defined for simulation to be practicable.

Feature Summary

Feature Summary - PERF
Feature Summary – PERF

Please contact 3SL for further information about adding a Cradle PERF module to your existing system.

Cradle Modules – SYS

Cradle-SYS Module

The Cradle SYS module provides an analysis, process, architecture and design modelling environment that, being linked into the systems engineering lifecycle, provides full traceability and coverage for all model information. You can use SysML, UML, ADARTS, SASD, eFFBD, IDEF, BPM and other notations to achieve your MBSE goals.

Systems Modelling Module
Systems Modelling Module


A model is an abstraction of an aspect of a system being developed.  Therefore, models should not be separate from the needs, goals and objectives that the model seeks to satisfy, nor from the tests that validate the system’s compliance. Hence Cradle integrates modelling into all requirements and other systems engineering data, so every component of every model is traced to the highest level user need and to the lowest level test result.

This applies to agile and phase-based processes. An agile process has no less need for models simply because its iterations are short. To neglect rigorous design in agile projects will ultimately compromise the system if a clear design is not modelled at the outset and maintained through each iteration.


Each Cradle database provides analysis and design domains. Each domain can contain any number of models, optionally organised in hierarchies. Models can be used to represent concepts such as:

  • Alternative missions in a CONOPS
  • Products within a range
  • Regional variants of a product
  • Comparative analysis of architectures

Each model contains any number of diagrams from a wide variety of notations.  Each diagram contains symbols, and each symbol is described by a data definition or specification.

All diagrams, specifications and data definitions in a model can be cross  referenced to each other and to information in all parts of the lifecycle. So user requirements can be linked to use cases, that are linked to system requirements, that link to a logical model of system behaviour, that can be allocated to a logical architecture, which in turn can be allocated to multiple physical architecture models for assessment.

A System Breakdown Structure (SBS) is useful as an abstraction of the system composition, and as a single structure to which all the requirements can be linked. The alternative system architectures and designs can be explored, each in its own model, all models linked to the SBS. This simplifies traceability for the requirements and the performance constraints, without restricting the modelling activities.

Models can link to a Product Breakdown Structure (PBS) to allow linking to a PLM environment.

Diagram Notations

Cradle has over 20 diagram notations from methods including UML, ADARTS, IDEF, SASD, SysML and data, process and architecture modelling. The notations can be combined when semantically viable. Cradle does not limit you to one method, nor constrain your choices for the notations that will best express the system for the audience of that model.

Cradle provides a consistent, interface to building diagrams. It includes time-saving features to build diagrams in time-sequenced notations, such as Process Flow Diagrams (PFDs) and extended Function Flow Block Diagrams (eFFBDs).

In hierarchical notations, Cradle has a range of features to build both child and parent diagrams that are automatically consistent.

Consistency Checking

Cradle enforces diagram syntax when editing. Completeness and I/O consistency checks are provided, both within a diagram and between diagrams to ensure conservation of data and function. Cradle can also check the consistency of diagram graphics and text descriptions. For notations that use it, Cradle provides a full Data Dictionary with a formal BNF notation to describe data composition.


In architecture models, Cradle supports data protocol descriptions across interfaces and can generate message formats (bitfields) that describe the formatting of the messages in all data exchanges.


Diagram symbols can be coloured and have embedded graphics, to ease users’ understanding of the model.

Notations and Models

Notations can be combined, such as using UML and other diagrams in the same model. Some notations can be used in many contexts. For example Sequence Diagrams (SQDs) can show a message protocol across an architecture model interface, their role in SDL before their use in UML.

All model elements can contain graphics, video, figures, tables, equations, URLs and integrate with desktop tools including Visio, Word, and Excel. Each diagram, data definition or specification is an item in the database and so can contain any number of attributes each containing, or referencing, up to 1 TByte of any type of data.

Configuration Management

Models have change histories, discussions, comments, are formally reviewed in Cradle’s CM system, and can be baselined.


Models can be printed to a variety of devices. They can be part of user-defined documents with requirements, tests and any other information. Models can be published into static, hyperlinked websites that provide links between diagrams and between symbols and the descriptions. All Cradle web UIs support viewing and navigation of models.


Models can be loaded from other tools by import or data conversion from other tools’ data formats or XML.

Feature Summary

Feature Summary - SYS
Feature Summary – SYS

Please contact 3SL for further information about adding a Cradle SYS module to your existing system.

September Newsletter 2023

Welcome to the September 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.

Latest Updates

The latest technical and related topics in our blog are:

Follow these links to see the latest blog updates and then use the blog’s search to find other topics of interest! With over 500 posts in the blog, we are sure that you will find lots to interest you in the details of Cradle and 3SL!

We would also like to thank all attendees on the Requirements Management course that we held in August.

Using PDUIDs

This section explains how PDUIDs can be used in Cradle.

Opening Items

You can open an item by simply specifying its PDUID. You do not need to specify the type of the item using the Item Type Chooser dialogs in the WorkBench and web UIs. For items in models, you do not need to choose the correct domain and then locate the model inside that domain.

You simply specify the PDUID:

3SL Cradle PDUID Open Item by PDUID
Open Item by PDUID

The latest instance of the item will be opened.


You can find items based on their PDUIDs, or components of the PDUIDs, in addition to any other criteria that you may have set inside the query. Select the PUIDs tab in the Query Details dialog:

3SL Cradle PDUIDs in Queries
PDUIDs in Queries

The selection of items by PDUID will return all instances that you can access RO or RW.

Further Details

For further details on this description of PDUIDs, please see the full blog entry here.


Our Support Team received a wonderful testimonial from one of our customers:

“The support team does an amazing job. Is the better support I ever have in a Software. It was very important decision factor to use CRADLE in the company. “

We try to deliver unrivalled service to all of our customers. If you have been especially pleased, or disappointed, with our support, then let us know!

Social Media

  • We celebrated #WorldWideWebDay
  • #Cytovale announced they have partnered with a leading health system (Franciscan Missionaries of Our Lady Health System) to improve sepsis care for their patients

Still to Come this Month

This course is a 2 day course split over 4 half days. It provides the following modules:

  • Introduction to Document Publisher
  • Designing a Template
  • Navigating the Interface
  • Tags and Hierarchies
  • Specification Document
  • Verification Document
  • Item Lists
  • Draft and Formal Documents

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.