Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Step 5: finalize traceability with subsystem requirements

Update requirements data model

let us create new scopes matching our system elements.

In ReqCycle preferences, let us update our current requirement data model with new scopes (see step 1 if you do not know how to create or modify requirement data model).

UpdateRequirementDataModel.png


Create subsystem requirements

Now we want to create requirements for your sub systems. We can use the "local" requirement source connector for that purpose. Follow wizard and fill data as below:

CreateSubystemRequirements.png

CreateSubystemRequirements-2.png

With local requirement source, on contextual menu you can edit requirements.

EditLocalRequirement.png

A a basic treeview editor opens (it will be improved by using RMF/ProR framework).

LocalRequirementEditor.png


custom visualization of treeview editor

You can customize edition of requirements through "styling".

Styling customization is available through "requirement view" through the "pen" icon.

Click the "pen" icon and modify current configuration. If you have no custom configuration go back to end of step 2 to see how to do that.

In current configuration use the "Edit" button that is for "basic style" (bottom). This is the style that will be applied for requirement edition in all views except "Requirement view". Yes there is much to say about user experience .... ;-)

Here you can create a configuration as you did in step 2 but for the creation or edition of one requirement.

CustomRequirementEditorVisualization.png


Now our requirement editor has better layout. Other attributes can always been seen and edited in the property view (contextual to the selected requirement).

CustomizedRequirementEditorWithProperties.png

Visualize subsystem requirements

You can now open requirement view and sort them by scope

VisualizeSubsystemRequirements.png


Trace subsystem blocks to subsystem requirements

Now we have formalized system architecture with system decomposed into subsystems and we would like to allocate our subsystem requirements to those subsystems blocks.

Best option is to define and use "Refine" relationship.

Note: we can not use SysML "refine" relationship because our subsystem requirements are ReqCycle requirements (not SysML requirements).

We do not want to use "Refinement" relationship created during step 3 because it links requirements to functions (model element). Here we want to refine a SysML Block with a requirement (created with ReqCycle local source).

This is a little bit more complex that the first "Refinement" done in step 3 because here we want to restrict refinement to blocks only (not all model elements).

To do that we first need to specialize "Model element" reachable type into "SysML block" so that we can later use this "Block" as upstream in link type definition.

We go to "Reachable data" section of ReqCycle preferences and select "SysML element" type. Then we use the "extend" button to specialize in a new type. A window opens and we name new type "Block". It matches SysML element name "Block".

SpecializationOfSysMLElement.png

We click OK and we now have a new reachable element that can be used to define link types.

TraceBlocksToSystemReq.png

Let us create a new traceability link type. Go to ReqCycle preferences>Traceability>Traceability Types. Use "Add" button from current selected configuration (MyTraceabilityProcess). If you do not see this configuration, go back to step 3 to see how you can define traceability link types.

CreationOfBlockRefinementLinkType.png


Now we can use this new link type to create as many links as required between our subsystem blocks and the associated requirements created in previous step.

CreationOfLinkFromBlockToReq.png


Full traceabtility from system requirements to subsystem requirements

We now have defined full traceability from our system requirements to use cases, functions and architecture (blocks) through allocation and from blocks to subsystem requirements.

System2SubSystemRequirementsTraceability.png



Step 6: update requirements and analyse impacts
back to step 4: Step 4: allocate functions on physical design in SysML "
back to step 1: Model_Based_System_Engineering_tutorial_with_ATM_system'"
[back to ReqCycle wiki main page: https://polarsys.org/wiki/ReqCycle]

Back to the top