What is a System?

System

[sis-tuh m]noun:  an assemblage or combination of things, parts, sub systems, members, operations or principles forming a complex or unitary whole.

Context

To answer the question ‘What is a System?’ you first need to understand your context. When you get down to the ‘atomic’ level for your component parts you’re unlikely to model them any further. A local authority may want to model their transport system. This may include vehicles, termini, and ticketing systems. Whilst their model may include the external specifications of a bus (in terms of weight and width) to plan a terminal, they are unlikely to care whether the bus electrical operates on 24v or 48v batteries.  Unless they have to supply charging points at the depots. The tram’s external specification would again include width, height and mass, but it is very likely that the authority would need to know the electrical operation characteristics in their model if they are responsible for the track.

illustration of systems and context
System Components

The bus manufacturer is not really interested in how the local authority terminal looks or operates. However, they may have design constraints for the width or length imposed by their customer. Being able to identify these parameters in their design will help them design any modifications needed to meet the requirements. Some times there is need for shared information. The ticketing system may be supplied by a third party, both the council and the bus vendor will be interested as part of that system will fall within their responsibility. Ticket sales at the terminal, ticket machines fitted on the bus. The bus manufacturer will undoubtedly model their vehicle, there will be detail plans of what connects to what and what operational parameters are needed for each. In this way if a new component is introduced, it is easier to see the impact. The new air conditioning unit needs 48v supply, the bus currently uses 24v how do we assess the impact and know what is dependent on the current voltage line?

Should I model X?

Whether a system, or sub-system is worth modelling heavily depends on your position in the project chain. Deciding whether this is ‘atomic’ level for you is very dependent on your industry. Assessment should be made as to  the likelihood that parameters of the component may affect higher level systems. The likelihood of whether a subsystem is going to be re-used in a number of different high level systems, and whether stakeholder or external constraints need to be considered.

modelled low level components
Circuit model

If you make capacitors, you’ll have specifications for the capacitor, it’s voltage, capacitance, temperature range and so on. However, there is not much you can model at this level. If you also make wire wound inductors, then it will have similar specifications. However, as soon as they are linked together forming an LC oscillator, you have a system. There are two components who’s characteristics interact. If the LC sub-system is being supplied then the voltage at which it is safe to operate will be dictated by the components within. In this case specifying the inductor and capacitor as blocks with characteristics that form the internals of the oscillator will have a benefit in future design or specifying the operation of the sub-assembly supplied to onward customers. As the vehicle parts designer wanting to make a turning indicator unit, whether the oscillator is LC, RC and Transistor or Op-Amp is of little concern as long as the voltage, current and timing are correct. The oscillator would therefore be the atomic level here. The bus designer is not worried about the indicator unit design as long as the brightness and timing meet regulations and the longevity and power consumption are within performance parameters. They would have no interest in modelling the oscillator.

Model Benefits

Query showing relationships
Linked Specification

The fact that your model contains detailed information of the interconnections, parameters and ranges of your atomic components makes querying your model to analyse change much easier. Being able to identify all components that are expecting the same power will aid a designer in assessing the impact or running a different voltage.

Can you model anything?

Pretty much any system can be modelled. Software was maybe the original stable from which many modelling techniques originated, there is a need to define at what point each module interacts with the other modules. The depth to which the functions are modelled will again depend on the context. There would be no point modelling the printer driver in the system beyond the interface, if that driver is purchased along with the printer hardware. Library functions may be modelled in their own right, but the higher level designer will reference them as white or black boxes.

No one model has to contain everything. The passenger movements, purchases modelled as use cases. The hardware components forming the bus. The sub components forming the indicators. The software controlling the ticket system are all separate systems working as a whole.

 

Near Miss Day

Near Miss Day – Celebrating on 23rd March 2018

Odd to celebrate something that didn’t happen. However, a large asteroid missing the Earth by 500,000 miles in 1989 is probably something to be thankful for!

We celebrate every time we are able to deflect word processors and spreadsheets away from engineers and businesses trying to achieve requirements management.

Near miss a spreadsheet and word processor nearly got use for requiremetns management onearth
Near Miss

Protect Yourself

Ensure you use the right tools for the job and don’t get tangled up in a bunch of uncontrolled, inadequately linked statements against which your project will be developed. Use the protection of a Requirements Management tool with a proven history, that can control, configure and provide full traceability. We’d obviously recommend Cradle!  So take heed and ensure you don’t have a near miss day at work.

Housekeeping

Keeping Cradle in Tip Top Condition

This article will highlight a set of housekeeping tips to keep Cradle running smoothly and provide a good user environment.

Alerts

Whilst alerts are a very useful feature telling users  that an aspect or item of their project has changed, users sometimes forget to clear their alerts from their accounts. You could ask each user to select old read/unread alerts and delete them. However, an administrative user with both PROJECT and ACCESS_BYPASS privileges can tidy alerts for ALL users

how to tidy up alerts
Housekeeping Alerts

Selecting the Project tab, then Delete Alerts will show a dialog that lets the administrator choose a range of ALL users’ alerts to delete. This will remove read and unread alerts from the database.

Automatic housekeeping for alerts
Project Setup – Alert Management

Additionally Alerts can be tidied up by each user automatically each time they log out. This setting can be found in the Project Setup under Alerts.

Definitions

These can include Queries, Views, Forms, Matrices, Metrics, Reports, Graphs, Dashboards, Navigations, Start Pages, Graphics Print Settings, Hierarchy Diagram Properties, Capture Setups, Report Styles, Graph Styles, Export / Import Formats.

They are stored in different groupings, Personal, Project, User, Team, User Type, System and Automatic. These groups allow the definitions to be shared according to their intended use. Project for example is available to everyone working on that project, whereas User Type definitions match someone’s role on that project and are available to users holding that role. Personal definitions however, will be available to that person, across projects.

Sometimes duplicates or old definitions can accumulate and need tidying up. The definitions manager allows users to manipulate.

From the Project toolbar selecting the Definitions Manager will show the following dialog.

showing the definitions manager
Definitions Manager

Using the side buttons, definitions can be moved, copied and deleted. This would allow, say a team leader with creation privileges, to develop a number of queries or views and then move them into User Types for use by users who are not allowed to modify or create the definitions, themselves.

Depending on the location of the definition users may need one or more privileges from CREATE_DEFS, PROJECT, TEAM_LEADER or indeed ACCESS_BYPASS.

DPack

The DISAM database file system used by Cradle consists of file pairs of data and index files. After time, it is possible, that a number of blank areas will appear in the data file, as a result of large numbers of records having been deleted. Whilst this is perfectly normal operation, it can mean the data file is larger than it needs to be.

running dpack on DISAM files
dpack Utility

The DPack utility can be used to re-write these files more compactly and rebuild the indexes. This is not considered an everyday operation and would normally only be performed by and IT administrator. This should only be performed when the CDS (Cradle Database Sever) is not running.

  1. Make sure you have a backup of the entire project directory – incase a power-cut or machine failure occurs during crucial operations
  2. Move to the directory to be compacted
  3. Run the following command (c_dpack on Linux, dpack.exe on Windows®)
    "%CRADLEHOME%\bin\exe\windows\dpack.exe" tlb1alrt Where tlb1 is the project code and alrt is the particular database file to re-pack.
  4. To complete this for all files in the directory running a batch-file or script
    e.g. on Windows®
    @echo OFF
    for /F %%f in ('dir /B "C:\Data\cradle_projects\TLB1\*.dat"') do (
       echo Processing file %%~nf
       "%CRADLEHOME%\bin\exe\windows\dpack.exe" %%~nf
    )

    Where C:\Data\cradle_projects\TLB1\TLB1 is the directory for the project.

Cradle History

Keeping track of what you’ve been doing is really useful, the history sidebar shows the queries you have run and the items you have opened.

However, sometimes you may have a long list of entries from a particular day, you may then want to work on a different part of the project. In this instance it is sometimes useful to clear your history and start afresh. In the History Sidebar you can choose what to clear by selecting and right clicking items in the menu.

Options for clearing Cradle history entries
Clearing History

Larger amounts can be cleared through the Clear Browsing History option on the Project tab.

Diagram Preferences

Drawing Just the Way You Like It

We all have our preferred way of doing things. Whether that’s a corporate or a personal view. 3SL don’t enforce a particular layout style, colour or size. These diagram preferences can be set by the user. As with any preferences, they can be set at an installation level in the cradle.ini file on Windows® or .cradlerc file on Linux® file as a default or overridden by the user.

Grid Preferences

In the diagram below  it can be seen that the drawing grid is quite small (32). Which is great for finer detail. However, if you are mainly concerned with large blocks in your diagrams and want plenty of space, a layout guide of 128 may be more appropriate. Users have two options, firstly to set the size each time they use Cradle from the Grid section on the Diagram  tool-bar or to set their drawing preferences.

setting the grid preferences for diagram drawing in Cradle
Diagram Preferences

Preference Dialog

The dialog can be opened from the Preferences option on the Home tool-bar. Once the dialog is displayed, the diagram preferences are set using the the Diagrams section. There are a number of defaults that can now be set ranging from the initial grid size to whether specifications are automatically created when the diagram is saved.  You can change the palette too, so a mute background rather than bright white can be chosen to be easier on the eye.

 

March 2018 Newsletter

Heading to Spring

As we head into Spring, most of us are keen to leave behind the horrible weather that came with the Beast from the East. Some of the worst UK snow seen in years. We’re happy to say that Barrow-in-Furness saw

snowy road pexels.com by pixbay.com
Snow Problem

little impact and the support team were able to maintain full levels of service. We hope your businesses were not too badly affected and that you are all heading back to normality. The question this raises is why are we so bad at coping with a bit of snow here in the UK? The main problem seems to be that we’re not used to it. It is not a ‘steady state‘ in parts of the world where winter = snow and ice for a set period, the infrastructure is set up to cope. Cars have winter tyres or snow chains,  heated highways or rails keep cars and trains running, or there is value return on investing in ploughs and gritters. The changing requirements of British weather conditions would need you to put the snow chains on and take them off on a daily or even town by town basis. These changing requirements make managing the situation really difficult.  The same logic applies to projects, stable requirements make for a simpler solution. If your requirements are more like British weather, there is even more need to have a formalised approach to managing them. Making sure you can track the changes and your reactions to them becomes imperative. Don’t end up wearing wellies in the summer and flip-flops in the snow, get you requirements under control in Cradle and encourage your suppliers to do the same.

GDPR

padlock over computer based on images from negativespace.co pixabay.com on pexels.com
GDPR

We can assure you that we don’t randomly buy email addresses and send spam adverts. We collate our communication list from curated information from you, our customers and prospects. People and companies who have contacted us about RM / MBSE / Cradle or 3SL. We maintain these dialogues as a legitimate business interest. We have made, and will continue to make, it easy for individuals to ask for their contact details preferences to be changed. We look forward to staying in touch with you all. If you have any GDPR comments you’d like to feature contact us at social-GDPR@threesl.com

Social Media

Twitter

study shows 47% or projects can fail because of inaccurate requirements management
Project Failure Statistic

We were a little disappointed at the  #SuperBlueBloodMoon over Barrow. We were amazed at the accuracy of NASA’s clocks… ..But appalled at the failure rate of projects.

Hints of the Month

Last month’s blog articles included: We answered a question about producing a Hierarchy Diagram (HID) for viewing in Web Access. The different ways you can store data in Cradle’s frames a how and why guide. We also looked at how to control access to data parts in an item. You can read Hints & Tips in the 3SL Blog

International Women’s Day 2018

International Women’s Day 2018 (March 8th)

We’re celebrating International Women’s day 2018 at 3SL #IWD2018

Recognising International Women's Day 2018
3SL Staff

The mix of staff that make #3SL tick is quite diverse. Every team member is important to the success of the company. Today we recognise the women on the team that include our financial controller, one of the software developers, one of the support engineers and our domestic operative.

Fun Facts About Names Day 5th March 2018

Fun Facts About Names Day

A bit of #MondayMotivation, this light heated day is celebrated on the first Monday of March. Have a ponder to think where you came from, what lineage came before you. Despite #FunFactsAboutNamesDay sounding like something Sheldon Cooper (Nerd Alert: Big Bang reference) may present it is a real ‘day’. So while you’re having your first cuppa (Good British drink of the day) or at the ‘water cooler’ (Is that really a thing??). Challenge a colleague to a Fun Facts About Names!

Meanings

Some are fairly obvious “Smith” and “Cartwright” working in a smithy or making carts. Some a little more tricky “Chalker” one who applies white wash. Then there are the more obscure, lost meanings in time, “Lister”,  a dyer of cloth. (Maybe someone should tell Dave Nerd Alert: Red Dwarf reference)

3SL_Logo_Medium

3SL

So where did we come from? Structured Software Systems Limited ⇒  SSSL3SL that simple really!

 

What are the different types of storage in Cradle?

Data Storage

There are a number of different storage types in Cradle.  These relate to where the data is held and how it is accessed. This article outlines the different storage in Cradle and explains when and where you may consider using it. Whilst there are some compelling reasons to hold certain data in certain ways, others can be a matter of choice.

For example if you want to add a URL to your item, there is no point trying to store the data inside Cradle this is, by its very nature, an As Reference storage type. On the other hand a binary word processor document could easily be stored inside the Cradle Database or as a reference to an external file on the rest of the company’s network. In this case it could depend whether the file needed to be accessed from outside Cradle or whether it was shared by multiple Cradle projects

Frames

Within an item data is either held in the main indexed database fields, such as ID, name, key or a category, or in associated frames. These frames are defined as part of the project’s schema to hold different types of data. There are a large number of predefined types and the ability to define your own.

Base Types

These are the fundamental type  of data we expect to see in the frame. They may be presented in different ways to the user. For example a plain text based frame can be shown in Forms and Views and read directly on the screen. The same is true for basic images. However, a word processor document is held as a binary frame and viewed within whichever application your company uses. A CAD sketch would not be directly visible in Cradle, but could still be stored in the item and viewed with an external program.

These are the fundamental and abstract data types offered in Cradle

  • Text
  • Binary
  • Image
  • URL
  • Category Picklist
  • Category Multiple Picklist
  • RTF
  • Date
  • Time
  • Integer
  • Positive Integer
  • Real

Storage Types

Each of the above types can be stored in Cradle in one or more ways. Some storage in Cradle, such as a date, make no real sense to store in more than one manner, the URL as mentioned or a date would not make sense to be stored in a file!

  • In PDB
  • As File
  • By Command
  • As Reference
  • Referenced File from Item
setting frame type details in the Cradle project schema
Frame Type Details dialog

Storage Matrix

This shows the combinations of base type and storage in Cradle that are possible. More information in Cradle help.

In PDBAs FileBy CommandAs ReferenceReferenced File from Item
Text
Binary
Image
URL
Category Picklist
Category Multiple Picklist
RTF
Date/Time/Integer/Positive Integer/Real

Benefits and Usage

In PDB (Project DataBase)

Frame data stored in the database is inherently linked to the database item that owns it. It is controlled in the same way as all the other fields of data (name, category, group, description, etc.). This means it can be imported and exported as part of the item. Text frames can form part of a query. Images, text and RTF can be displayed in-line. They move through the CM (configuration management) system with the item. Different revisions of the frame form part of the item’s history, and can be rewound.
Not ideal for very large data, e.g. video. Not externally accessible.

As File

Frame data stored in a file is loosely linked to the item that owns it. Date and access times are remembered by Cradle so changes to the file can be highlighted. Great for large files. Other users can access the information externally to Cradle if they have access to a common file directory. Can be accessed through Cradle and item is locked while file is being edited as if it were part of the item.
Not directly controlled within Cradle, nothing to prevent the external file being removed or deleted. Can’t be rewound.

By Command

Frame data is held in an external environment under an identity, the item stores this identity, and uses Get and Set commands to move the data between the environment and a temporary file where it can be operated on.
Not directly controlled within Cradle, nothing to prevent the external file being removed or deleted. Can’t be rewound.

As Reference

Frame data stored anywhere and only loosely linked to the database item. Ideal for large resources such as Intranet pages. Ideal for information that is expected to change outside Cradle and be accessed by others. Cradle does not wait when viewing or editing.
This is not considered storage in Cradle so there is no CM or rewind available. No control over alterations.

Referenced File from Item

Frame data is held in a frame of a different item whose identity (PDUID and frame name) is stored in the current item. When the frame is accessed via a View the user is editing the common shared data held by the referenced item. This provides a method of reuse, allowing multiple items to directly access a data component of a different item. The ‘host’ item and the frame data follow normal CM operations.
Not ideal storage in Cradle for very large data, e.g. video. Not externally accessible.

Setting Up a Frame Storage in Cradle

In this example of storage in Cradle, a frame will be set up to hold a word processor document, internally (in pdb), in a file (as file), and in another item (referenced file from item).

Frame Setup

Setting storage types and frames in Cradle
Storage Frame Setup

First set up a set of frames for each storage type and set commands on how to view and edit the file.

Frame Assignments

Ensure the items you want have these frames assigned. In this example the Feature has all three types and the Reference item has just the stored in pdb.

Assigning frames to item types
Frame Assignments

Usage

When the file types are set up the data can be imported into the item using the frame button and import Content… this brings the document into the item and it can be stored in the database. It can then be viewed and edited from the same button. In this illustration the Design Notes and Legal Requirements and have been stored in in this way.

The Company Design Standards are held in one directory for every project to access. The illustration links to this as file from where it can be viewed or edited.

Finally the Reference item holds the Legal Requirements document so that it is under formal control. However, other linked items can access this file directly, without having to open the holding item. Their frame is an alias for the data held by the other item.

the different ways data is stored and accesse
Frames and Storage Illustration