October 2022 – Newsletter

Welcome to the October 2022 newsletter from 3SL that provides 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 we, and Cradle, can deliver real and measurable benefits to all of the exciting development projects that we see every day through your regular contacts with our support team. If you have any problems, please do not hesitate to contact 3SL support here.

32-Bit vs 64-Bit

For our next major release – Cradle-8.0 we are considering stopping support for:

  • 32-bit Windows
  • 32-bit Microsoft Office
  • 32-bit Linux

We would like to understand if this affects any of our current customer’s and potential prospects.  If you can find the time, please provide your views/opinions to our Support Team at support@threesl.com.

Please note that Cradle-8.0 will not be released until mid 2023 at the earliest.

Upcoming Training Courses

We still have places left on our two remaining Cradle training courses this year.

The next scheduled course is the Cradle Document Publisher course. The dates are 17th to 20th October. Document Publisher is a Windows® based publishing tool that allows professional documentation to be produced directly from the data within your project’s database. Fully understanding how to configure templates and data manipulation will offer the best output for you to provide to your stakeholders, customers, regulators and other interested parties.

The last scheduled course of 2022 is the Cradle Requirements Management course. The dates of this course are 21st to 24th November. This is a great opportunity for small teams, or a couple of new team members to get started with RM and Cradle.

Both courses are conducted over four ½ days.

Don’t miss out! To book a place on one of our online courses please click here!

Training Course Calendar 2023

We are currently preparing our training course calendar for 2023. This will be available soon.

The courses available in 2023 are:

  • Project Administration:
    Public Online Training Course
    Cradle Training Courses
    • January and July
  • User:
    • January and July
  • Requirements Management:
    • February and August
  • Document Publisher:
    • March and September
  • Risk Management:
    • April and October
  • Test Management:
    • May and November
  • Configuration Management:
    • June and December

Dates to be confirmed.

Making SWIFT Payments

Recently we have noticed some minor issues with receiving swift payments. If payments are to be made by SWIFT using a MT103 instruction, please ensure Field 71A is set to OUR instead of SHA.

Social Media

Last month we discussed:

We also paid our respects to Her Majesty Queen Elizabeth II.

Thank You

3SL would also like to thank all of our customers/evaluators/prospects who have found the time to send feedback on our services, e.g. training courses, Cradle support etc. We understand how busy you are, but these responses help us to both monitor and look to improve the services we provide to you. Thank you.

Thank You
Thank you from 3SL

That’s all for our October 2022 newsletter.

Filtering Cross References in a Query

Filtering cross references in a query is easy within Cradle.

Showing Cross References in a Query within Cradle

In this example we will create a query that shows links between all system requirements linked to all verifications.

  1. Create a query that shows all system requirements
  2. Then create a nested view which shows links to verification items
View Details dialog filtering cross references
View Details Dialog

This will display as shown below:

Query showing linked items
Query showing linked items

In this example 97 items are returned.

Show only Items that have a Linked Item

To only show items that are linked to one or more verification item, edit the Query Details dialog:

Query Details filtering cross references
Query Details dialog showing Links

which displays as follows:

Query showing linked items
Query showing only items that are linked

As you can see the list of items has now reduced to 43.

Show Items where Linked Item has a Category set

To only show items where the verification has a PASS value set in a category, a query is created.

  1. Create a query that only shows verifications that have a Pass value set:
Query Details showing category set
Query Details dialog showing Category set to Pass
Query showing passed items
Query showing passed items

Refer to this query in the Links tab of the Query Details dialog. Note that instead of using To Items set to Of Type, we have chosen Matching Query:

Query Details filtering cross references
Query Details showing Matching Query

You can now see the list has reduced to 28 items. These being the system requirements that have a Pass for one or more of the linked verifications.

Query showing passed linked items
Query showing passed linked items

Showing Filtered “Transitive” Links in Tables

Problem

We have created some links between Cradle items but we only want to see a filtered set of these links in our table.

Rationale

Cradle has a unique ability to follow cross references transitively. This means that although an item might not be directly cross referenced from it’s source, it might be linked indirectly through another item/item type.

Cradle also has the ability to name cross references referred to as link types and even group sets of link types together referred to as link groups.

Combining these features can allow flexibility for the output of items that have some relationship to the source which will reduce the number of direct cross references required.

For example, we would like to show dependencies between item type A and item type C but ONLY those that have a yellow and blue link type.

Model showing defined Links Between Item Types
Defined Links Between Item Types

We can see in the screenshot below that only A-6 and A-11 are transitively linked to items of item type C with both a blue and a yellow link:

Showing Direct Links in a Nested Table
Direct Links in a Nested Table

Setting Link Groups

We can define a link group in Project Setup in which we can select from the available link types.

Screenshot showing how to define a link group
Defining Link Groups

This defined link group can be used in navigations.

Defining Navigations

Navigations allow us to specify how we would like to follow the links that have been created between items. This is a very powerful feature as we can also specify that we would like to follow links transitively:

Defining a Navigation to follow Cross References transitively in the Navigation Details Window
Defining Navigations to Follow Cross References Transitively

Using the Navigation in Views

We can now use the navigation to specify that we want to show links between item type A and item type C that are followed transitively but we ONLY want to show the group of links YELLOW AND BLUE. Remember that there are NO DIRECT links between these two item types. The cross references are from item type A to item type B and also from item type B to item type C:

Defining a View to allow links to be shown transitively between item
Using the Transitive Navigation in Views

Applying this view, we can see that only the YELLOW AND BLUE links are shown in the table. The remainder appear blank:

Output of a table that shows links that are transitive when they exist
View Showing Transitive Cross References

Using the Navigation in Queries

We might wish to only show items in our table that have these links in preference to showing all items and just appearing blank where the transitive link does not exist. We can achieve this in the Query Details dialog:

Using the Query Details Window to filter items that do not have any indirect transitive links
Filtering Items Non-Linked Items in a Query

This will now filter out of the list any items that do not match the navigation criteria:

Screenshot showing the resulting table that only shows items where a transitive link exists
Link Table Only Showing Items Where Transitive Link Exists

Showing Path in a Tree Style

If we followed the path in a tree style showing downward links, we can see that item type A (A-6 and A-11) are not directly linked to item type C (C-1). They go through item type B (B-2):

Screenshot showing the direct links between items in a tree style to prove that the items are not directy linked
Links shown in Tree Style

Summary

Cradle provides a unique ability to allow cross references to be followed transitively (through other items).

Transitive navigations can be applied to views and queries. This provides a very powerful filtering mechanism that allows us to show non-direct dependencies between items.

Tree Style

You can find items in a Cradle database by running a query. For example, you can use the pre-defined queries in the Quick Access Bar at the bottom of the UI. Once the query has run, the results are shown in a display style. Tree style is one of the four styles available:

A view is used to specify which parts (attributes) of the items will be shown. A display style controls how these attributes will be displayed, and the facilities that are available to you.

Tree Style

This is the second most frequently-used of the display styles after table style. It displays each item as a node in a tree, with a set of columns for the other attributes:

display items using tree style in 3SL Cradle RM SE Tool
Items Shown in Tree Style

There are two views used to display trees:

  • A view that specifies the contents of the node shown in the tree. You specify this view in the schema for the item type.
  • A view that specifies the attributes shown in columns to the right of the tree

To have items displayed in this style:

  • Specify it in the query to be run:
choose tree style in a query in 3SL Cradle RM SE Tool
Specify Tree Style in a Query
  • Also, select it from the Context group in the Home tab:
choose tree style in the UI in 3SL Cradle RM SE Tool
Choose Tree Style in the UI Ribbon
  • Or, right click and choose Style -> Tree from the context-sensitive menu
  • Finally, press <CTRL> and 4

Facilities

  • Use the left mouse button to select individual items
  • You can select a groups of items by selecting the first and then pressing <SHIFT> and the left mouse button to select the end of the group
  • Press <CTRL> and the left mouse button to select or de-select individual items
  • You can shrink and widen the display columns. Move your cursor to the edge of a column heading and the cursor will become a pair of arrows. Press, drag and release the left mouse button to change the column’s width.
  • You can follow cross references by expanding the tree node for the item. Cradle will find all cross references to and from the item, select which cross references to use, and display the items at the other end of these cross references as new nodes in the tree.
  • Use drag-and-drop items between trees to create cross references between the items
  • Drag-and-drop items inside a hierarchy of the same type of items to reorder that hierarchy and automatically rebuild the hierarchical numbering within it

You can expand a tree node by:

  • Click its + button
  • Select the text of the tree node and press: +
  • Select the text of the tree node, right click, and choose Expand from the menu
  • Double click on the text of the tree node

You can collapse a tree node by:

  • Click its button
  • Double-click on the text of the tree node
  • Select the text of the tree node and press:
  • Select the text of the tree node, right click, and choose Collapse from the menu

Advantages

The advantages of tree style are that it is:

  • The simplest way to explore items and their relationships
  • A convenient method to create cross references
  • The easiest way to reorganise a hierarchy of items

If you want to do anything with cross references between items, or to work in a hierarchy of items, then this is the best display style to use.

Disadvantages

The disadvantages of tree style are that:

  • It provides a limited ability to display information
  • You cannot edit information directly

Summary

Tree style is the most convenient method to work with cross references within a set of items and between one set of items and other sets of information.

Therefore, we recommend this style whenever you need to work with cross references between items and inside hierarchies.

Document Style

You can find items in a Cradle database by running a query. For example, you can use the pre-defined queries in the Quick Access Bar at the bottom of the UI. Once the query has run, the results are shown in a display style. Document style is one of the four styles available:

A view is used to specify which parts (attributes) of the items will be shown. A display style controls how these attributes will be displayed, and the facilities that are available to you.

Document Style

This is the second most flexible of all the display styles. It displays each item as a set of one or more rows and one or more columns (as controlled by the view), with invisible borders around each of the cells. You can edit items directly in this display style.

display items using document style in 3SL Cradle RM SE Tool
Items Shown in Document Style

This display style is similar to table style, except that:

  • The height of each item’s row is set by the information to be shown. So some rows are shallow and other rows are deep. If an attribute contains no data, its height will be close to zero.
  • Different sized fonts are used to display the first row in the view. The size of the font is based on the level of the item being shown. This level is based on the number of dots (periods) in the first attribute shown in the row. This is typically the Key, or whatever attribute you may have specified to hold the item’s hierarchical number.
  • The borders around the rows and columns are invisible

For document style, you should use views that show attributes in successive rows, rather than successive columns. For example:

view to items using document style in 3SL Cradle RM SE Tool
Arrangement of Attributes in a View for Document Style

The result is that items are displayed in a style that looks like a document, with large font for section headings and smaller fonts used for subsection headings.

To have items displayed in this style:

  • Specify it in the query to be run:
choose document style in a query in 3SL Cradle RM SE Tool
Specify Document Style in a Query
  • Also, select it from the Context group in the Home tab:
choose document style in the UI in 3SL Cradle RM SE Tool
Choose Document Style in the UI Ribbon
  • Or, right click and choose Style -> Document from the context-sensitive menu
  • Finally, press CTRL and 3

Facilities

Document style provides a wide range of faciltiies.

Selecting Items

  • Use the left mouse button to select individual items
  • You can select a groups of items by selecting the first and then pressing SHIFT and the left mouse button to select the end of the group
  • Press <CTRL> and the left mouse button to select or de-select individual items

Changing the Display

  • You can shrink and widen the display columns. Move your cursor to the edge of a column heading and the cursor will become a pair of arrows. Press, drag and release the left mouse button to change the column’s width.
  • You can move any row or column in the view. Move your cursor onto any cell border and the cursor will become a pair of arrows. Press, drag and release the left mouse button to move that border.
  • By default, all rows are displayed with different heights, you can increase or decrease the height of any row
  • You can sort the data in any column. Click the column heading and choose a sort order, either ascending or descending, in either a case-sensitive or case-insensitve manner (this only applies to languages that have upper-case and lower-case characters)
  • Tooltips are displayed for each column. Move your cursor into a column heading and after a second, a description of that attribute will be shown. You can enter these descriptions in the schema.
  • You can see tooltips for some attribute values. Move your cursor into a cell that displays a category with a pick-list of possible values. A tooltip appears containing a description of that category and category value. You can enter these descriptions in the schema.

Exploring Data

  • You can expand rows to follow cross references. Double-click the heading for an item’s row and that row will expand to show one new row for each item linked to the original item. Repeat this as many times as you like.
  • You will see the level of any expanded row as the number of dots in its row heading
  • You can collapse rows by double-clicking the row heading.

Editing Data

  • You can edit items directly Click inside any cell. If you have RW access to the item, Cradle locks the item so you can edit it.

Advantages

The advantages of document style are that it is:

  • Flexible. You can adjust the display and sort information.
  • Navigable. You can explore the database by expanding rows to follow cross references.
  • Editable. You can edit information through the display style.
  • Readable. All items are shown with a display height to display their entire contents.

Disadvantages

The disadvantages of document style are that:

  • It takes much longer to display than list style or tree style
  • The rows displaying information are of different heights, so you may not see many items at the same time. You may need to scroll more than in other display styles.

Summary

Document style is the second most flexible of Cradle’s four display styles, after table style. It is not the quickest style to generate, but it does provide a familiar document-like view of information and a lot of capability.

Therefore, we recommend document style whenever you want to display items in a document format. This can be very helpful for users who are more familiar with using documents, rather than data-orientated tools.

Table Style

You can find items in a Cradle database by running a query. For example, you can use the pre-defined queries in the Quick Access Bar at the bottom of the UI. Once the query has run, the results are shown in a display style. Table style is one of the four styles available:

A view is used to specify which parts (attributes) of the items will be shown. A display style controls how these attributes will be displayed, and the facilities that are available to you.

Table Style

This is the most flexible of all the display styles. It displays each item as a set of one or more rows and one or more columns (as controlled by the view), with borders around each of the cells. You can edit items directly in this display style.

display items using table style in 3SL Cradle RM SE Tool
Items Shown in Table Style

To have items displayed in this style:

  • Specify it in the query to be run:
choose table style in a query in 3SL Cradle RM SE Tool
Specify Table Style in a Query
  • Also, select it from the Context group in the Home tab:
choose table style in the UI in 3SL Cradle RM SE Tool
Choose Table Style in the UI Ribbon
  • Or, right click and choose Style -> Table from the context-sensitive menu
  • Finally, press <CTRL> and 2

Facilities

Table style provides a wide range of facilities.

Selecting Items

  • Use the left mouse button to select individual items
  • You can select a groups of items by selecting the first and then pressing SHIFT and the left mouse button to select the end of the group
  • Press <CTRL> and the left mouse button to select or de-select individual items

Changing the Display

  • You can shrink and widen the display columns. Move your cursor to the edge of a column heading and the cursor will become a pair of arrows. Press, drag and release the left mouse button to change the column’s width.
  • You can move any row or column in the view. Move your cursor onto any cell border and the cursor will become a pair of arrows. Press, drag and release the left mouse button to move that border.
  • By default, all rows are displayed the same height, but you can increase the height of any row
  • You can sort the data in any column. Click the column heading and choose a sort order, either ascending or descending, in either a case-sensitive or case-insensitve manner (this only applies to languages that have upper-case and lower-case characters)
  • Tooltips are displayed for each column. Move your cursor into a column heading and after a second, a description of that attribute will be shown. You can enter these descriptions in the schema.
  • You can see tooltips for some attribute values. Move your cursor into a cell that displays a category with a pick-list of possible values. A tooltip appears containing a description of that category and category value. You can enter these descriptions in the schema.

Exploring Data

  • You can expand rows to follow cross references. Double-click the heading for an item’s row and that row will expand to show one new row for each item linked to the original item. Repeat this as many times as you like.
  • You will see the level of any expanded row as the number of dots in its row heading
  • You can collapse rows by double-clicking the row heading.

Editing Data

  • You can edit items in a table. Click inside any cell in the table. If you have RW access to the item, Cradle locks the item so you can edit it.

Advantages

The advantages of table style are that it is:

  • Flexible. You can adjust the display and sort information.
  • Navigable. You can explore the database by expanding rows to follow cross references.
  • Editable. You can edit information through the display style.
  • Compact. All items are shown with the same display height.

Disadvantages

The disadvantages of table style are that:

  • It takes longer to display than list style or tree style
  • The rows displaying information are all the same height, so you may have to click in a cell or expand a row border to see all of the information in some attributes

Summary

Table style is the most flexible of Cradle’s four display styles. It is not the quickest to generate, but it provides the most capability.

Therefore, we recommend table style as the best general purpose display style in Cradle. Unless you need something provided by a different display style, use table style.

Regexes (Regular Expressions) in Queries

Regular Expressions (Regexes)

A Regex is simply sequence of characters that define a search pattern. This pattern is then compared with the target test string and will produce a match if the pattern allows.

Cradle Queries

When retrieving information from the database, Cradle uses a query to filter the data returned. It looks for many matches against different aspects  of the item.

Ending Wildcards and Contains

Wildcard matches are available on the Identity and the Key fields The ones most likely to be identifying a hierarchy.

In the example below a query has been run with three values in the identity field.

  1. REQ-1
  2. REQ-1.
  3. REQ-1*

The results show

  1. Only REQ-1 returned  and exact match
  2. REQ-10, REQ-11, REQ-12 …. onwards a text match bringing back the matches greater than the stem. This is really useful for hierarchical numbers, bringing back the children of 1.1 (using 1.1.) say.
  3. REQ-1, REQ-10, REQ-11 a text match where the stem is followed by zero or more characters. This brings back the stem value too.
Wildcard values in a query
Wildcard Query

Contains matches are available on Name and Comment fields. They are case insensitive and look for the string of characters anywhere in the component.

In the example below

  1. regulation

Results in

  • Regulations
  • CAA Regulations
  • Airworthiness Regulations
  • Noise Regulations

This can be a little too wide.

Regular expression (regex) in a query
Regex Query

Regex Query

choosing a regex component in a query
Choose Regex

In order to provide more control it is now (Cradle 7.4) possible to switch to a Regex match. Choose the dropdown at the end of the field and select Regex Match. This will change how the search text is applied.

In the example above

  1. ^Regulation

Brings back

  1. “Regulations” only because the “^” at the beginning is a regex anchor to  the start of the line.

Expressions

If we were searching for part numbers we might use ^Pt:[AB]+.* to bring back all parts starting Pt:A and Pt:B followed by any other characters.

There are many flavours of Regex, Cradle is based on the PCRE flavour. Instead of documenting the whole set of patterns, it is usually more appropriate for users to use their favourite documentation. We like www.regular-expressions.info/ and www.regex101.com/

Pros / Cons

Databases have a number of keys and indexes. Cradle is designed to work with these to produce results most effectively. Wildcard endings are more efficient as they match the way the data is sorted internally. Regex expressions have to match against all database entries. therefore there is a performance implication to using this more flexible matching. This is why both methods are provided and users can switch whichever they want on.

 

Special characters in regexes and how to escape them

Regex – Regular Expression

Cradle provides support for regular expressions, regular expressions are a means to find variable text in places such as:

  • Queries
  • Find dialogs
  • Category recognition strings
  • Category value validations

For instance, regular expressions (regexes) can be used in queries to find all items in which any frame, or a specific frame, or any of a list of frames, contains text matching the regular expression that you are searching for. For example, if you wanted to find all items containing sequences of capital letters followed by numbers, then the regular expression would be:

[A-Z]+[0-9]+


Whilst you are here, take a look at Why is Requirements Management Essential for your Business?


Special Characters

Some characters have special meanings within regexes these characters are:

Char Description Meaning
\ Backslash Used to escape a special character
^ Caret Beginning of a string
$ Dollar sign End of a string
. Period or dot Matches any single character
| Vertical bar or pipe symbol Matches previous OR next character/group
? Question mark Match zero or one of the previous
* Asterisk or star Match zero, one or more of the previous
+ Plus sign Match one or more of the previous
( ) Opening and closing parenthesis Group characters
[ ] Opening and closing square bracket Matches a range of characters
{ } Opening and closing curly brace Matches a specified number of occurrences of the previous

Examples

Finished\? matches “Finished?
^http matches strings that begin with http
[^0-9] matches any character not 0-9
ing$ matches “exciting” but not “ingenious
gr.y matches “gray“, “grey
Red|Yellow matches “Red” or “Yellow
colou?r matches colour and color
Ah? matches “Al” or “Ah
Ah* matches “Ahhhhh” or “A
Ah+ matches “Ah” or “Ahhh” but not “A
[cbf]ar matches “car“, “bar“, or “far
[a-zA-Z] matches ascii letters a-z (uppercase and lower case)

Using Special Characters as Literal Characters

If you want to use any of these as literal characters you can escape special characters with \ to give them their literal character meaning.

Example

If you want to match 1+2=3, you need to use a backslash (\) to escape the + as this character has a special meaning (Match one or more of the previous).
To match the 1+2=3 as one string you would need to use the regex 1\+2=3

For further information on using regexes in Cradle see our online help.

 

Can I check for frames that don’t contain digits?

Regex – Regular Expression

A RegEx (Regular Expression) is a pattern matching method often used in text searches and data processing. Cradle supports Regex matches in a number of query elements, so it is possible to perform complex searches on your data. This article gives an example of the use of Regexes in frames.

Example:

The mocked up example describes just one of the ways a user could search the text frames of their items achieve particular results.

Identity Name Group Text
bed1 Single Bedroom Customer rooms Single person room of basic standard – en-suite shower
bed2 Double Bedroom Customer rooms A 2 person occupancy room, shared bed en-suite shower
bed3 Twin Bedroom Customer rooms A 2 person occupancy room, single beds, en-suite shower
bed4 Luxury Bedroom Customer rooms A 1 or 2 person occupancy room double bed, en-suite with bath and shower.
bed5 Night Staff Rest Staff rooms 1 person
store1 Cleaning storeroom

The data in the table above used a Cradle Note called Bedroom and was produced by running the automatic query “BEDROOM – All”. Then the resulting  table was published to HTML. There were no regexes in frames applied to the initial query.

Queries with Regexes in Frames

    • Simply entering “TEXT” as the Name of the frame to search and running the query will bring back bed1-bed5. The item store1 has no content to compare so can’t match.
    • Entering bath in the Regexes field and re-running will return bed4  this is the most basic case the text typed in is simply found as a direct match.
    • If you want to find the incomplete items and find those with a blank frame using the Cradle extension of <null> in the Regexes field will return store1 as this has nothing in the frame.
    • If we want the query to find those that have not used a digit  in the description (This may be important if the output is parsed by some other program) it is possible to use a regex character class [[:digit:]] . This will find all the elements containing a digit ≍ [0-9]. However, if we want the elements that don’t contain numbers, we can use the second Cradle extension of ! to negate the result, hence ![[:digit]] will return bed1 as it used the word ‘single’ rather than a digit for its occupancy value.
    • Cradle also allows comma separated logical combinations of regexes in frames. Using the Venn diagram symbol you can select whether these are AND or OR combinations. Switching to AND and then using the regex [[:digit:]],![[:alpha]] would bring back items where the frame contained digits and no alphabetic characters.
screenshots of results using regexes in frames in Cradle
Regexes in Frames

Exploring Regexes

A simple way of testing whether your regex will give you the results you want is to use a test program regex101.com/ is a good example. This allows you to quickly tweak your statement, and run it against various test data.
Cradle uses the PCRE ‘flavour’ internally.
The Cradle help system has further information on regexes

X-Ray Day 2017

 X-Ray Day 8th November 2017

X-Rays  are a form of electromagnetic radiation or “ray” for short.

When first discovered, these mysterious rays were nothing like anything that had been described before, hence the ‘X’ name has stuck.

X-rays have a wavelength less than 10 nanometres, that is, they are shorter than those of UV, and longer than those of gamma rays.  It was a German scientist Wilhelm Röntgen often credited with their discovery.

Looking Inside Cradle

Thankfully there is no need to use X-Rays to look inside your Cradle project.

Information once stored can be recalled by Queries and presented in Views or Forms. Output can be directed to HTML or RTF tables, shown graphically as a Hierarchy diagram, explored by clicking links. Formal publishing to Microsoft® Word documents can be achieved through Document Publisher.

In short there is no mystery to your data once inside Cradle unlike our bones, welded joints or airport suitcases you can easily see your data.

Celebrate on X-Ray Day 2017

Celebrate the genius of a very useful tool in the x-ray machine. Whilst we don’t advise you have an x-ray for fun, you could download another useful tool here!