Viewpoint
A viewpoint definition is a kind of requirement definition that frames the concerns of one or more stakeholders regarding information about a modeled system or domain of interest. The subject of a viewpoint is a view that is required to address the stakeholder concerns. A viewpoint frames the concerns that will be addressed by a view that satisfies the viewpoint. A viewpoint can be specified with assumed and required constraints.
Creating viewpoint usage and definition elements
Creating viewpoint usage and definition elements via the Textual Editor
To create viewpoint usage and definition elements via the Textual Editor
- In the Textual Editor, place the cursor where you want to create the element and declare the keyword:
viewpoint def for a viewpoint definition.
- viewpoint for a viewpoint usage.
- Specify the element name.
- Specify the viewpoint's features in the element body.
- Click the Synchronize button.
concern 'system breakdown' {
stakeholder se : 'Systems Engineer';
stakeholder ivv : 'IV&V';
}
concern modularity {
stakeholder se : 'Systems Engineer';
}
viewpoint def 'System Structure Perspective' {
frame 'system breakdown';
frame 'modularity';
require constraint {
doc
/* A system structure view shall show the hierarchical part decomposition of a system, starting with a specified root part. */
}
}
Auto-creating viewpoint definition elements via the Extract Definition command
To auto-create viewpoint definition elements via the Extract Definition command
- See the Extract Definition and Usage page.
Specifying viewpoints
Framing concerns for viewpoints
It is typical for a viewpoint definition to be structured as framing a set of stakeholder concerns regarding information about a modeled system or domain of interest. The viewpoint then models the requirement for the view in order to address the framed concerns.
- For procedures on concern creation, see the Creating concern usage and definition elements subsection on the Concerns page.
- You can frame concerns for viewpoints the same way as for requirements. For procedures on concern framing, see the Framing concerns subsection on the Concerns page.
concern 'system breakdown' {
stakeholder se : 'Systems Engineer';
stakeholder ivv : 'IV&V';
}
viewpoint def 'System Structure Perspective' {
frame 'system breakdown';
}
Specifying assumed and required constraints for viewpoints
A viewpoint can be specified with assumed and required constraints.
- You can specify assumed and required constraints for viewpoints the same way as for requirements. For procedures on assumed and required constraints creation, see the Requirement constraints page.
viewpoint def 'System Structure Perspective' {
require constraint {
doc
/* A system structure view shall show the hierarchical
* part decomposition of a system, starting with a
* specified root part.
*/
}
}
Satisfying viewpoints
Since a viewpoint usage is a kind of requirement usage, a view usage can be declared to satisfy a viewpoint usage using a satisfy requirement usage. However, as a shortcut, any composite viewpoint usage nested in a view definition or usage is asserted to be satisfied by that view.
view def 'Part Structure View' {
// This viewpoint is asserted to be satisfied by any instance of the view definition.
viewpoint vp : 'System Structure Perspective';
//...
}
Alternatively, a satisfy requirement usage can be used explicitly between a viewpoint and a view. In particular, a satisfy requirement usage for a viewpoint that is nested in a view definition or usage will, by default, have the containing view as its satisfying feature.
viewpoint 'vehicle structure perspective' : 'System Structure Perspective' {
subject : Vehicle;
}
view 'vehicle parts view' : 'Part Structure View' {
// This asserts that the given viewpoint 'vehicle structure perspective' is satisfied by the 'vehicle parts view'.
satisfy 'vehicle structure perspective';
// ...
}