Foundations For Model-Based Systems Engineering - From Patterns To Models
Foundations For Model-Based Systems Engineering - From Patterns To Models
Foundations for
Model-based
Systems Engineering
Other volumes in this series:
This publication is copyright under the Berne Convention and the Universal Copyright
Convention. All rights reserved. Apart from any fair dealing for the purposes of research
or private study, or criticism or review, as permitted under the Copyright, Designs and
Patents Act 1988, this publication may be reproduced, stored or transmitted, in any
form or by any means, only with the prior permission in writing of the publishers, or in
the case of reprographic reproduction in accordance with the terms of licences issued
by the Copyright Licensing Agency. Enquiries concerning reproduction outside those
terms should be sent to the publisher at the undermentioned address:
While the author and publisher believe that the information and guidance given in this
work are correct, all parties must rely upon their own skill and judgement when making
use of them. Neither the author nor publisher assumes any liability to anyone for any
loss or damage caused by any error or omission in the work, whether such an error or
omission is the result of negligence or any other cause. Any and all such liability is
disclaimed.
The moral rights of the author to be identified as author of this work have been
asserted by him in accordance with the Copyright, Designs and Patents Act 1988.
Acknowledgements xv
2 Approach 11
2.1 Introduction 11
2.2 The MBSE Ontology 13
2.3 MBSE Frameworks 16
2.4 Patterns, Frameworks and the MBSE Ontology 17
References 18
3 What is a Pattern? 19
3.1 Introduction 19
3.2 What are Modelling Patterns? 19
3.3 Defining Patterns – an introduction to the FAF 21
3.3.1 The key questions 21
3.3.2 A (brief) overview of the FAF 23
3.4 Describing enabling Patterns 26
References 27
4.3.1 Overview 34
4.3.2 Rules 35
4.3.3 Interface Identification Viewpoint (IIVp) 36
4.3.4 Interface Connectivity Viewpoint (ICVp) 39
4.3.5 Interface Definition Viewpoint (IDVp) 42
4.3.6 Interface Behaviour Viewpoint (IBVp) 46
4.3.7 Protocol Definition Viewpoint (PDVp) 51
4.4 Summary 54
4.5 Related Patterns 54
Reference 54
Further readings 54
5 Traceability Pattern 55
5.1 Introduction 55
5.1.1 Pattern aims 55
5.2 Concepts 56
5.3 Viewpoints 58
5.3.1 Overview 58
5.3.2 Rules 59
5.3.3 Relationship Identification Viewpoint (RIVp) 61
5.3.4 Traceability Identification Viewpoint (TIVp) 64
5.3.5 Traceability Viewpoint (TVp) 67
5.3.6 Impact Viewpoint (IVp) 73
5.4 Summary 76
5.5 Related Patterns 77
Reference 77
Further readings 77
6 Test Pattern 79
6.1 Introduction 79
6.1.1 Pattern aims 79
6.2 Concepts 80
6.3 Viewpoints 82
6.3.1 OverView 82
6.3.2 Rules 83
6.3.3 Testing Context Viewpoint (TCVp) 85
6.3.4 Test Set-up Viewpoint (TSVp) 90
6.3.5 Test Case Viewpoint (TCVp) 95
6.4 Summary 102
6.5 Related Patterns 102
Further readings 102
As usual, this book would not have been possible without the many colleagues,
friends and clients who have let us loose on their Systems over the last 20-plus years.
This book is a departure from our usual offering in that, due to new guidelines,
we are no longer allowed our erudite and informative quotes at the beginning of
each chapter. Witty quotes, we mourn you.
My now-predictable thanks go to, as ever, Mike and Sue Rodd who are still
major influences on my life. Also, all my love and thanks go to my wonderful wife
Rebecca, my sometimes-wonderful children: Jude, Eliza and Roo and finally to
Olive and Houdini who provide feline relief in my life.
Jon Holt, April 2016
The ideas in this book are a result of thoughts sparked by conversations with many
clients over many years. Mentioning them all by name would require a list as big as
the current book. However, some must be so mentioned as having particular input
into our latest volume: thanks to Colin Wood (and the INCOSE UK MBSE WG)
for sparking off thoughts that lead to the Evidence Pattern, thanks to Clive Ingleby
for back-fitting a meaning for PaDRe and to Ian, Manoj and Andy for letting us
apply our thoughts to your system.
As Jon has said, sadly this is the first of our books without chapter quotes.
However, they are available, if you know where to look.
As always, this book would not have been possible without the love, friendship
and encouragement of my beautiful wife Sally. Every day I am thankful for the day
I met her and for the day she said ‘‘yes.’’ Finally, Walter and Dolly are still with us,
demonstrating daily what effective bed-warmers two cats make!
Simon Perry, April 2016
Not one to miss a pattern; I would like to recognise all those who have influenced
the thinking in this book including the Systems and Safety team at Atkins, Colin
and the MBSE Working Group and all those current and past at the Digital Railway
programme. DR has enabled many of these ideas to be applied, so specific thanks
go to those who have been instrumental in bringing Architecture to the centre of the
programme and using it for all aspects of system development and analysis.
xvi Foundations for Model-based Systems Engineering
Although I really enjoy the quotes I often find, as I am not as witty as Jon and
Simon, they take longer to write than the book, so I will mourn them less.
Finally, to my wonderful wife who keeps me on the straight and narrow, Sam
and Daniel for the physical and mental exercise they provide and our current herd
of cats Ben, Shadow, Kai and Jay who have contributed more typos and additional
text than I care to remember.
Mike Brownsword, April 2016
Part I
Introduction and approach
Chapter 1
Introduction
1.1 Introduction
The world of Systems Engineering is changing. As the whole discipline matures, so
the use of model-based techniques and approaches is becoming more and more
prevalent. Indeed, the International Council on Systems Engineering (INCOSE)
predicts that by 2025 all Systems Engineering will be model based:
‘Model-based Systems Engineering will become the ‘‘norm’’ for systems
engineering execution, with specific focus placed on integrated modeling
(sic) environments. These systems models go ‘‘beyond the boxes’’, incor-
porating geometric, production and operational views. Integrated models
reduce inconsistencies, enable automation and support early and con-
tinual verification by analysis’. (INCOSE, 2014)
The question now is not ‘should we model?’ but, rather, ‘how do we model
effectively and efficiently?’ As the need for rigorous and robust techniques
increases so the use of MBSE structures, such as ontologies, frameworks and
processes, becomes ever more important.
This book discusses the use of MBSE Patterns that can be used to enhance and
augment existing MBSE approaches.
This chapter discusses existing MBSE practice and examines the role of
Patterns within an MBSE approach.
1..*
enables
1..*
«block»
Person
Figure 1.1 shows the three essential aspects of MBSE that need to be con-
sidered for successful MBSE, which are:
● People (represented by one or more ‘Person’), by which we mean competent
people with the appropriate skills necessary to perform their roles successfully.
This means understanding the Stakeholder Roles that are necessary for
enabling the ‘Process’ and understanding the competencies required in the
form of a Competency Scope for each – see Holt and Perry (2013, chapter 8).
● ‘Process’, by which we mean the fundamental approach that is being followed
for MBSE. This means having well-defined and accepted Ontologies, Frame-
works and Processes in place. The ‘Process’ is enabled by one or more ‘Person’
and drives the implementation using one or more ‘Tool’.
● ‘Tool’, by which we mean the use of any CASE tool, application (whether
manual or automated), notation or technique required for MBSE. The role of
the Tool is to implement the Process that is driving it.
The use of MBSE Patterns can enhance and augment all three of these aspects as the
benefits identified in the previous section apply to these three aspects, for example:
● People. The MBSE Patterns in this book can be used as part of the Competency
assessment Process that is used to demonstrate the Competence of each Person.
The second way that Patterns may enhance the People aspect is to shorten the
learning curve associated with MBSE. If people are educated and trained in the
use of Patterns then this knowledge may be put into play whenever each Pattern is
re-used.
● Process. The MBSE Patterns form an integral part of defining Ontologies,
Frameworks and Processes. For example, Frameworks may be constructed by
re-using and tailoring established Patterns. If each Pattern has its associated
Viewpoints defined then the definition of the Framework becomes so much
quicker and easier as the structure and contents of each View will already be
defined. See Chapter 21 for a discussion of this.
● Tools. Good MBSE modelling tools may be tailored to support a defined MBSE
approach by defining the so-called ‘‘profiles’’. The use of profiles allows the tool
to be tailored to implement a specific approach to MBSE. As part of this tai-
loring, it is possible to embed the Patterns into the tool, hence guiding their use
and making the Pattern knowledge available to users of the tool.
The use of Ontologies, Frameworks and Processed will be discussed in more detail
in Chapter 2.
modellers find themselves using the same constructs time and time again on dif-
ferent applications. This has resulted in many modellers adopting their own com-
mon approach to how different aspects of a System may be modelled.
It is untrue and unwise to assume that if something works for one project then it
will work on another project and modelling is no different. However, if something
works well on three or four projects then there is an increased likelihood that it will
work on more projects.
When this scenario occurs, where some aspect of modelling has been applied
successfully to a number of projects, then there is a good chance that there is a
Pattern somewhere in the model that may be exploited for use elsewhere.
All of the Patterns on this book have been abstracted and defined based on their use
in multiple projects, some of which have been in use by the authors for over 15 years.
● All View names are shown as singular. Therefore, the term Process Behaviour
View may be referring to any number of diagrams, rather than a single one.
● Any word that requires emphasis is shown in ‘‘double quotes.’’
Some examples of this are
Table 1.1 here shows some example sentences, the convention adopted and
how they should be read. In summary, look out for ‘Quotes’, Capitalisation and
italics as these have specific meaning. Finally, remember that the use of ‘‘double
quotes’’ simple represents emphasis.
In terms of the diagrams that are presented in this book, and there are very many,
they are used for two different purposes and may be easily differentiated between:
● In general, diagrams used by way of an explanation, such as all of those found
in this chapter, are presented without a frame. The exception is for those dia-
grams that explicitly represent Views based on the Framework for Archi-
tectural Frameworks (FAF; introduced in Chapter 3). In this case, these
diagrams will have frames around them in order to emphasise that they are a
formal and explicit part of a FAF definition. This typically applies to all the
Patterns definitions in Part II. A frame is represented visually by a named box
around the border of the diagram.
● Diagrams used as specific examples, such as those showing examples of the
use of Patterns in Part II and examples found in Part IV that presents a case
study, will each have a frame around them.
By adopting this writing convention, we ‘‘hope’’ to avoid confusion later in
the book.
8 Foundations for Model-based Systems Engineering
«block»
Book
«block»
Part
«block» «block»
«block»
Part I – Introduction & Part III - Applications of
Annex
Approach the Patterns
«block» «block»
Part II – The Fundamental Part IV – Using MBSE
Enabling Patterns Patterns
Figure 1.2 shows that the ‘Book’ is composed of five ‘Part(s)’ which are:
● ‘Part I – Introduction and Approach’. This part comprises three chapters that
provide an introduction (this chapter), an overview of the general approach
taken in this book (Chapter 2) and an in-depth introduction to the world of
Patterns (Chapter 3).
● ‘Part II – The Fundamental Enabling Patterns’. This part comprises ten chap-
ters each of which introduces and discusses a single MBSE Pattern.
● ‘Part III – Applications of the Patterns’. This part comprises five chapters each
of which considers how the MBSE Patterns may be used to construct a number
of Frameworks.
● ‘Part IV – Using the MBSE Patterns’. This part comprises four Chapters each
of which discusses how the MBSE Patterns may be used for diverse areas such
Introduction 9
as defining bespoke Patterns, using Patterns for model assessment, using Pat-
terns for model definition and retro-fitting Patterns to existing models.
● ‘Annex’ – This part comprises four Appendices that cover a summary of the
SysML notation, a summary of the Framework for Architectural Frameworks
(the FAF), the MBSE Ontology and an example Process for Pattern
development.
References and further reading are provided at the end of each Chapter.
References
2.1 Introduction
Systems Engineering defines an approach for realising successful Systems
(INCOSE, 2014). Model-based Systems Engineering provides an approach for using
Models to realise the artefacts of a System based on a set of modelling Views (Holt
and Perry, 2013).
This section introduces the main concepts that comprise the MBSE Meta-
model that will be used throughout this book.
The first step is to define exactly what we mean when we refer to ‘Systems’ and
‘Models’.
interacts with
1..*
«ontology element»
View
1..*
«ontology element»
View Element
Figure 2.1 shows the fundamental concept of a ‘Model’ that abstracts a ‘Sys-
tem’. This is crucial to everything in this book. The Model may represent any
aspect of the System from any point of view.
The fundamental building block of the Model is the concept of a ‘View’ – one
or more Views make up a Model. These Views may be visualised using any nota-
tion, text, tables, formal techniques and, in fact, in any way that is appropriate. In
the context of this book, however, each View will be visualised, in general, using
SysML and therefore each View will be manifested in one or more SysML diagram.
Each View is, in turn, made up of one or more ‘View Element’. The View
Element represents an instantiation of an Ontology Element in the Model and each
will be visualised by one or more SysML element.
The Model, however, is not just a random collection of Views in the form of
SysML diagrams, but has a rigorous structure. Unfortunately, it is all-too-often the
case that the Model is merely a collection of pictures, rather than a true model. The
structure of the Model is defined by a Framework, as shown in Figure 2.2.
«ontology element» constrains «ontology element» «ontology element» abstracts «ontology element» 1..*
Rule 1..* 1 MBSE Framework Model 1..* 1 System
1
interacts with
1..* 1..*
«ontology element» conforms to «ontology element»
Viewpoint 1 1..* View
1 1
1..* 1..*
«ontology element» visualises «ontology element»
View point Element 1 1..* View Element
Figure 2.2 introduces the idea of the ‘MBSE Framework’, which is made up of
one or more ‘Viewpoint’ each of which is made up of one or more ‘Viewpoint
Element’.
The MBSE Framework provides the basis for the structure and content of the
Model by identifying and defining a number of Viewpoints. These Viewpoints may
be thought of as templates for the Views that comprise the Model. Once a View-
point has been defined, then each View must conform to its associated Viewpoint.
In the same way, the View Elements also conform to their associated View-
point Element. In this way, each View and all of its constituent elements conforms
to the overall MBSE Framework.
Approach 13
«ontology element» constrains «ontology element» «ontology element» abstracts «ontology element» 1..*
Rule 1..* 1 MBSE Framework Model 1..* 1 System
interacts with
1..* 1..*
«ontology element» uses elements from «ontology element» conforms to «ontology element»
Ontology 1 1..* Viewpoint 1 1..* View
1 1 1
Figure 2.3 introduces the ‘Ontology’ that is made up of one or more ‘Ontology
Element’.
The Viewpoints use the Ontology Elements in the Ontology in order to define
the contents of each Viewpoint. Each View, therefore, is essentially a collection of
instances of Ontology Elements arranged according to a Viewpoint.
It is the Ontology that provides the structure, consistency and hence rigour for the
MBSE Framework. The Ontology is discussed in more detail in the following section.
The MBSE Ontology forms the heart of the MBSE endeavour. It is the approach
that is both advocated by this book and that has also been used to drive all of the
content of this book. In this book the so-called MBSE Ontology is used for the
following activities:
● Defining concepts and terms. The MBSE Ontology provides a visualisation of all
the key concepts, the terminology used to describe them and the inter-relationships
between said concepts. The MBSE Ontology, however, plays a pivotal role in the
definition and use of any rigorous MBSE Framework and Patterns.
● Defining Frameworks and Patterns that can be used for different aspects of
MBSE. Examples of these Frameworks in the companion volume to this book
include: Processes, Needs, Architectures, etc. Whenever any Framework or
Pattern is defined in terms of a set of Viewpoints, then an Ontology is essential.
It is the MBSE Ontology that enforces the consistency and rigour demanded by
the Patterns detailed in this book.
14 Foundations for Model-based Systems Engineering
«ontology element»
Ontology
1..*
«ontology element»
Ontology Element
Figure 2.4 shows that The ‘Ontology’ is made up of one or more ‘Ontology
Element’ each of which may be classified as one of two types: a ‘Cross-cutting
Element’ or a ‘Core Element’.
Approach 15
● A ‘Core Element’ represents a specific MBSE concept and has its relationships
to other Ontology Elements shown on the MBSE Ontology.
● A ‘Cross-cutting Element’, however, has more complex relationships and may
be applied to several basic elements.
Examples of these special types of ‘Cross-cutting Element’ are shown in Figure 2.5
and are elaborated upon in the subsequent detailed descriptions.
«ontology element»
Cross-cutting Element
«block» «block»
Testable Element Interface
Figure 2.5 shows the concept of Cross-cutting Elements. Some of the concepts
that are used in this book have applications across the whole of the MBSE Ontol-
ogy. Due to the fact that they apply to multiple elements from the MBSE Ontology,
they are either not explicitly shown on the MBSE Ontology, or do not have all of
their relationships shown, simply because the full MBSE Ontology would become
totally unreadable.
● ‘Testable Element’. Any Ontology Element in the MBSE Ontology may be
tested and, therefore, may be thought of as a Testable Element.
● ‘Traceable Element’. Any Ontology Element in the MBSE Ontology may be
traced to another Ontology Element in the model and, therefore, may be
thought of as a Traceable Element.
● ‘Interface Element’. Many Ontology Elements in the MBSE Ontology may
have interfaces, such as Process, Stage, View etc. and, therefore, may be
thought of as an Interface Element.
● ‘Context’. Many Ontology Elements in the MBSE Ontology may have their
own Context, and each Pattern in this book has its own Context.
16 Foundations for Model-based Systems Engineering
● Automation. The MBSE Framework provides the basis for automating the
MBSE approach using sophisticated systems engineering tools. One of the
main benefits of an MBSE approach is that it saves a lot of time and effort as
many of the Process Artefacts may be automatically generated.
A Pattern is essentially a special type of Framework therefore all of these points
apply equally to both Patterns and Frameworks. The relationship between Patterns
and Frameworks will be explored in the next section.
«block»
Pattern 0..*
«ontology element»
MBSE Framework
1..*
1..* 1..*
Figure 2.6 shows that a ‘Pattern’ is a special type of ‘Framework’. This has
several implications:
● As the Pattern is a type of Framework, it means that each Pattern is also made
up of one or more Viewpoint, each of which comprises one or more Viewpoint
Element.
● The Viewpoints and Viewpoint Elements that comprise the Pattern are also
based on the Ontology, providing consistency with the rest of the Model.
Figure 2.6 also shows that a Framework comprises zero or more Pattern. The
implication of this is:
● A Framework may be constructed using a number of Patterns.
● A Framework may be constructed using no Patterns.
The main differences between a Framework and a Pattern are:
● A Framework has a single purpose and single application, for example the
‘‘seven views’’ Framework is intended to be used solely for Process modelling.
● A Pattern has a single purpose but multiple applications, for example the
Interface Pattern may be used as part of several Frameworks, at different levels
of abstraction and in different aspects of the Model.
The approach used to define each Pattern is the same as the approach used to define
each Framework and uses the Framework for Architecture Frameworks (FAF) that
is described in more detail in the next chapter.
References
INCOSE A World in Motion – Systems Engineering Vision 2025, INCOSE Pub-
lishing 2014, available at: http://www.incose.org/docs/default-source/aboutse/
se-vision-2025.pdf?sfvrsn=4 [Accessed: October 2015].
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-based
Approach. London: IET Publishing; 2013.
Chapter 3
What is a Pattern?
3.1 Introduction
This book is concerned with the application of Patterns in model-based systems engi-
neering. But what is a Pattern and how can they be described in a consistent manner?
This chapter defines what we mean by a Pattern and gives a (very) brief history
of the use of Patterns in software and systems engineering. This is followed by a
discussion of the key questions that must be considered when defining a Pattern. In
order to address these questions the Framework for Architectural Frameworks
(FAF) is introduced. The use of the FAF in the definition of Patterns leads naturally
to a generic structure for the description of Patterns. This structure is introduced
and will be used for all the Pattern definitions in Part II of the book.
hierarchies of objects.’ It allows for hierarchies of any depth and width, consisting
of ‘Composite’ objects made up of either other ‘Composite’ objects or terminal
‘Leaf’ objects. The example of usage of the Pattern given by Gamma is concerned
with the manipulation of graphical objects in drawing editor software.
«block»
Composite
1..* {abstract}
«block» «block»
Component Leaf
However, this Pattern is equally applicable outside the software engineering domain.
Figure 3.2 shows a typical system hierarchy nomenclature, with a ‘System’ made up of
one or more ‘Subsystem’ that are made up of one or more ‘Assembly’ which in turn are
made up of one or more ‘Subassembly’ made up of one or more ‘Component’. Finally,
each ‘Component’ is made up of one or more ‘Part’ which cannot be subdivided
further. The diagram has been annotated with stereotypes (the words in guillemots, « »)
to show which element of the composite Pattern each term is an example of.
«component» «component»
System 1..* Subassembly
1..* 1..*
«component» «component»
Subsystem Component
1..* 1..*
«component» «leaf»
Assembly Part
Figure 3.2 Typical system hierarchy showing stereotypes from the Composite
Pattern
What is a Pattern? 21
● Ontology – defines the concepts that are of interest and the relationships between
them.
● Viewpoints and Framework – Viewpoints represent the concepts, with each
Viewpoint having a defined purpose. Viewpoints can only use concepts from
the Ontology and are organised into a Framework.
The FAF consists of an Ontology and six Viewpoints, together with supporting
processes. A Viewpoint is a definition of something that is produced when using a
Framework or Pattern. The things that are produced are called Views. If it helps,
think of a Viewpoint as a recipe and a View as the dish that is created from the
recipe. In the following text, abbreviations of the form ABCVp are abbreviations of
Viewpoint names. Abbreviations of the form ABCV are abbreviations of View
names (i.e. the realisation of a Viewpoint).
Given that the FAF is a meta-framework, you will probably not be surprised to
learn that the FAF is defined using the FAF. The six Viewpoints that make up the
FAF are shown in Figure 3.3.
The six Viewpoints directly address one of the six key questions:
«perspective»
Architectural Perspective
1 1 1
1 1 1 1
defines viewpoint to meet needs from defines relationships between viewpoints defined in
Remember that the FAF defines a number of Viewpoints which are the defi-
nitions of something that is produced when using a framework or Pattern. The
things that are produced are called Views. So, when using the FAF to define a
Pattern, the Pattern definer produces an AF Context View, Ontology Definition
View etc. for the Pattern. The Pattern definition will define a number of View-
points. For example, the interface Pattern in Chapter 4 defines an Interface Defi-
nition Viewpoint. When using the Pattern, an Interface Definition View is produced
that conforms to the Interface Definition Viewpoint.
When it comes to realising these Viewpoints (i.e. creating Views based on
them during definition of a Pattern) it is suggested that the SysML diagram shown
in Table 3.2 are used.
More information on the FAF and guidance on using the FAF for Pattern
definition are given in Chapter 19 and Appendix D.
Having outlined the FAF and shown how it addresses the key questions related
to Pattern definition, we turn, in the following section, to consider how the enabling
Patterns in this book are described.
26 Foundations for Model-based Systems Engineering
«block»
Pattern Chapter
1 1 1 1 1 1
«block»
«block»
«block» 2. Concepts «block» «block» «block»
6. References &
1. Introduction notes 3. Viewpoints 4. Summary 5. Related Patterns
Further Reading
Realised using ODV.
1 1 1..*
«block» «block» «block»
1.1. Pattern Aims 3.1. Overview 3.m. Viewpoint Repeated for each
Viewpoint in
notes notes notes
the Pattern.
Realised using an AFCV. Realised using VRV. Realised using VCV.
1
«block»
3.2. Rules
notes
Realised using RDV.
1 1
«block»
3.m.1. Description «block»
notes 3.m.2. Example
Realised using VDV.
● n.3 Viewpoints – Identifies and defines the Viewpoints that make up the
Pattern. Consists of a number of sub-sections:
* n.3.1 Overview – Identifies the Viewpoints that make up the Pattern and
describes the relationships between the Viewpoints. Described using a
Viewpoint Relationships View (VRV), one of the six FAF Viewpoints.
* n.3.2 Rules – A number of Rules are defined which ensure consistency
between the Viewpoints and which define the minimum set of Viewpoints
that are needed when using the Pattern. Described using a Rules Defini-
tion View (RDV), one of the six FAF Viewpoints.
* n.3.m Viewpoint X – A description of Viewpoint X of the Pattern. This
starts with a statement of the aims that the Viewpoint addresses, described
using a Viewpoint Context View, one of the six FAF Viewpoints
& n.3.m.1 Description – Viewpoint X is defined in terms of the
Ontology Elements from the Pattern’s Ontology (found on its ODV)
which can appear on the Viewpoint. This definition of a Viewpoint is
described using a Viewpoint Definition View, another of the six FAF
Viewpoints.
& n.3.m.2 Example – An example of the Viewpoint in use.
* (The n.3.m format is repeated for each Viewpoint in the Pattern.)
● n.4 Summary – A summary of the Pattern.
● n.5 Related Patterns – Identifies other Patterns in this book that may also be
of use when using the Pattern described.
● n.6 References & Further Reading – A list of references used in the definition of
the Pattern, together with any additional further reading that may be of interest.
When defining your own Patterns it is suggested that you use this structure as a basis
for documenting your Patterns. The FAF is used as a framework in which to define
the Pattern and the Pattern is then presented in this standard format that makes us of
the Views created using the FAF. In this way all Patterns will be defined and
documented in a consistent manner, aiding in their understanding and adoption.
References
Alexander, C.S., Ishikawa, M., Silverstein, M., Jacobson, M., Fiksdahl-Ling, I. and
Angel, S. A Pattern Language. New York: Oxford University Press; 1977.
Fowler, M. Analysis Patterns: Reusable Object Models. Boston, MA: Addison-
Wesley; 1997.
Hay, D. Data Model Patterns: Conventions of Thought. New York: Dorset House;
1996.
Gamma, E., Helm, R., Johnson, R. and Vlissides, J. Design Patterns – Elements of
Reusable Object Oriented Software. Boston, MA: Addison-Wesley; 1995.
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Part II
The fundamental enabling Patterns
Chapter 4
Interface Definition Pattern
4.1 Introduction
Interfaces form an integral part of any systems model and define a contract between
system elements, whether those elements are physical or are realised in software.
They capture the nature of the interactions between those elements, specifying both
what can be transferred between the elements and how such transfers take place.
Defining interfaces correctly is essential if the system elements are to work prop-
erly with each other.
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Interface Definition aims]
«concern» «concern»
Define operations Identify scenarios
«include» «include»
«concern»
«include» Define protocols
«concern»
Define flows
«concern»
Identify connections
4.2 Concepts
The main concepts covered by the Interface Definition Pattern are shown in the
Ontology Definition View (ODV) in Figure 4.2.
Key to this Pattern is the concept of the ‘Interface’. An ‘Interface’ has a
‘Direction’, which may take the values ‘‘in,’’ ‘‘out’’ and ‘‘inout.’’ The ‘Direction’
property of an ‘Interface’ shows the direction in which the ‘Interface’ operates from
the point of view of the ‘Port’, owned by a ‘System Element’, which exposes the
‘Interface’.
Two types of ‘Interface’ exist, the ‘Service-Based Interface’ and the ‘Flow-
Based Interface’. Service-Based Interfaces are used to represent those Interfaces
that are operation or service based such as are typically found in software-intensive
Interface Definition Pattern 33
ODV [Package] Concepts [Ontology Definition View showing Interface Definition concepts]
1
interacts with
«ontology element» 1..* «ontology element»
Flow Type System Element
0..* 1
uses owns
1..* 0..*
«ontology element» exposes
«ontology element» describes «ontology element» 0..*
Interface
Interface Definition 1 0..* 1..* 1..* Port
1 properties «ontology element»
Direction : DirectionType conforms to 0..* 1 Port Connection
0..*
«ontology element» 0..* is connected to 1
Interface is connected to conforms to
Connection
0..* 0..* 0..*
«ontology element» «ontology element»
«ontology element»
Service-Based Flow-Based
Protocol
Interface Interface
Systems. Flow-Based Interfaces are used to represent those Interfaces that transfer
data, material, energy, personnel etc. between System Elements. For example, an
Interface between a fuel pump and an engine would be represented by a Flow-
Based Interface.
Each ‘Interface’ is described by an ‘Interface Definition’. This defines the
operations of a Service-Based Interface and the items transferred by a Flow-Based
Interface. These operations and flows use ‘Flow Types’. For example, an Interface
for a transmitter may have a ‘‘transmit’’ operation that takes a power level para-
meter. The type of this parameter would be defined using a Flow Type. Similarly,
the type of fluid pumped by a pump would be described by a Flow Type.
A ‘Port’ represents the interaction points between one or more ‘System Ele-
ment’ and may represent the concept of a software Port or a physical Port, such as
the connector for the fuel line on a car engine fuel pump. Ports are connected to
each other via a ‘Port Connection’. A fuel rail taking fuel from the fuel pump to fuel
injectors in a car engine would be represented by a Port Connection.
Interfaces can be connected together, but only if both ends of the connection
are described by the same Interface Definition and have complementary Directions
(or if at least one of the ends has Direction ‘‘inout’’). Such a connection is modelled
as an ‘Interface Connection’ that takes place across a ‘Port Connection’. For
example, the transfer of fuel from a pump to an engine through a fuel rail would be
modelled as an Interface Connection.
Finally, Ports and Interfaces may conform to one or more ‘Protocol’ that
describe and control how the Port and Interface behaves.
34 Foundations for Model-based Systems Engineering
4.3 Viewpoints
This section describes the Viewpoints that make up the Interface Definition Pattern.
It begins with an overview of the Viewpoints, defines Rules that apply to the Pat-
tern and then defines each Viewpoint.
4.3.1 Overview
The Interface Definition Pattern defines a number of Viewpoints as shown in the
Viewpoint Relationship View (VRV) in Figure 4.3.
VRV [Package] Overview [Viewpoint Relationship View showing Interface Definition Viewpoints]
«viewpoint»
Interface Identification Viewpoint
The Interface Definition Pattern defines five Viewpoints for the definition of
Interfaces:
● The ‘Interface Identification Viewpoint’ (IIVp) is used for the identification of
Interfaces and Ports and their relation to the System Elements that use them.
● The ‘Interface Connectivity Viewpoint’ (ICVp) used to show how Interfaces
and Ports are connected.
● The ‘Interface Definition Viewpoint’ (IDVp) is used for the definition of
Interfaces in terms of the operations they may provide and the flows of data,
material, energy, personnel etc. that take place across an Interface.
● The ‘Interface Behaviour Viewpoint’ (IBVp) is used for the identification of
typical scenarios showing how Interfaces are used.
● The ‘Protocol Definition Viewpoint’ (PDVp) is used for the definition of any
Protocols to which an Interface or Port must conform.
Interface Definition Pattern 35
Each of these Viewpoints is described in more detail in the following sections. For
each Viewpoint an example is also given.
4.3.2 Rules
Six Rules apply to the five IDVps, as shown in the Rules Definition View (RDV) in
Figure 4.4.
RDV [Package] Rules [Rules Definition View showing Interface Definition Rules]
4.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 4.6 shows the Ontology Elements
that appear on an IIVp.
The IIVp shows System Elements and the Ports that they own. The Interfaces
exposed by Ports are also shown, along with the names of the Interface Definitions
that describe them.
Interface Definition Pattern 37
VCV [Package] Interface Identification Viewpoint (IIVp) [Viewpoint Context View showing Interf...
«concern»
Identify system
elements using
interfaces
«include»
«concern»
Identify interfaces
Systems Engineer
«include»
«concern»
Identify exposing
ports
«viewpoint»
Interface Identification Viewpoint
Figure 4.6 Viewpoint Definition View showing the Ontology Elements that
appear on the Interface Identification Viewpoint (IIVp)
38 Foundations for Model-based Systems Engineering
4.3.3.2 Example
Example Views that conform to the IIVp are shown in Figures 4.7 and 4.8.
The IIV in Figure 4.7, realised as a SysML internal block diagram, shows two
System Elements, namely a ‘Pump Controller’ and a ‘Pump’. Each of these has a
Port shown by the small squares on the right-hand edges of the ‘Pump Controller’
and the ‘Pump’. The two Ports have their names (‘Controller Output’ and ‘Con-
troller Input’, respectively) and type (‘USB’) shown.
The Ports both expose an Interface that is described by the ‘PumpIF’ Interface
Definition. For the ‘Pump Controller’, the Direction of the Interface is ‘‘out,’’ as
shown by the use of the SysML required interface notation (the ‘‘cup’’). For the
‘Pump’, the Direction of the Interface is ‘‘in,’’ as shown by the use of the SysML
provided interface notation (the ‘‘ball’’).
From a SysML point of view these are both ‘‘inout’’ Interfaces, as a required
interface in SysML can accept return values and a provided interface can send such
values. However, from the point of view of the initiation of the communication
across the Interface, the direction is ‘‘out’’ on the ‘Pump Controller’ and ‘‘in’’ on
the ‘Pump’.
This view, along with the ICV in Figure 4.11 and the IDV in Figure 4.15,
fulfils Rule ID1.
The IIV in Figure 4.8, realised as a SysML internal block diagram, shows three
System Elements: ‘Pump’, ‘Tank’ and ‘Hole’. Each of these exposes a number of
Flow-Based Interfaces via the various Ports that each own. These Ports are shown
Interface Definition Pattern 39
pump: Pump[1]
ToSupply: Liquid
Outflow/Inflow: LiquidFS
FromSupply: Liquid
InFlowValve: Liquid
using SysML flow ports, the small squares containing arrow heads, which indicate
the directionality of the Interfaces.
The ‘Pump’ has an out Flow-Based Interface named ‘ToSupply’ that
can transfer ‘Liquid’, an ‘‘in’’ Flow-Based Interface named ‘FromSupply’ that can
receive ‘Liquid’ and an ‘‘inout’’ Flow-Based Interface named ‘Outflow/Inflow’ that
is of type ‘LiquidFS’.
The ‘Tank’ has an ‘‘in’’ Flow-Based Interface named ‘InFlowValve’ that can
receive ‘Liquid’ and an ‘‘out’’ Flow-Based Interface named ‘OutFlowValve’ that
can transfer ‘Liquid’.
Finally, the Interface to the ‘Hole’ is modelled as an un-named ‘‘inout’’ Flow-
Based Interface that is of type ‘LiquidFS’.
This View, along with the ICV in Figure 4.12 and the IDV in Figure 4.15,
fulfils Rule ID1.
4.3.4.1 Description
The VDV in Figure 4.10 shows the Ontology Elements that appear on an ICVp.
40 Foundations for Model-based Systems Engineering
«concern»
Identify interfaces
«include»
Systems Engineer
«concern»
Identify connections
Figure 4.9 Viewpoint Context View showing Interface Connectivity Viewpoint aims
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on the Interface Connectivity Viewpoint (ICVp)]
«viewpoint»
Interface Connectivity Viewpoint
is connected to
is connected to
Figure 4.10 Viewpoint Definition View showing the Ontology Elements that
appear on the Interface Connectivity Viewpoint (ICVp)
Interface Definition Pattern 41
The ICVp shows System Elements and the Ports that they own. The Port
Connections between Ports are shown together with the Interfaces exposed by Ports
and the Interface Connections between these Interfaces.
The names of the Interface Definitions that describe each Interface are shown,
but the content of the Interface Definitions is not shown.
The ICVp can be thought of as containing the IIVp. However, not all the Ports
and Interfaces shown on an IIV (an instance of an IIVp) need be connected, or,
alternatively, they can be connected in different ways depending on different con-
figurations of System Elements. In such cases then both diagrams are needed,
otherwise the IIVp can be omitted.
4.3.4.2 Example
Example Views that conform to the ICVp are shown in Figures 4.11 and 4.12.
«USB Cable»
The ICV in Figure 4.11, realised as a SysML internal block diagram, shows
two System Elements, namely a ‘Pump Controller’ and a ‘Pump’. Each of these
has a Port shown by the small squares on the right and left edges of the ‘Pump
Controller’ and the ‘Pump’, respectively. The Port Connection between these two
Ports is shown, and use has been made of SysML stereotypes to annotate the
connector to show that physically this is a USB cable as shown by the «USB
Cable» stereotype.
Both Ports expose an Interface that is described by the ‘PumpIF’ Interface
Definition. The Interface Connection between them is shown by the connection of
the SysML ‘‘cup’’ and ‘‘ball’’ notation used to indicate the Interfaces.
This View, along with Figures 4.7 and 4.15, fulfils Rule ID1.
The ICV in Figure 4.12, realised as a SysML internal block diagram, identifies
three Flow-Based Interfaces between three System Elements. There are two
between the ‘Tank’ and the ‘Pump’ and one between the ‘Pump’ and the ‘Hole’.
42 Foundations for Model-based Systems Engineering
Outflow/Inflow: LiquidFS
Concrete
hole: Hole[1]
Concrete
: LiquidFS
«4" 11 Gauge Non-hardened Lay-down Pipe»
The Port Connections between the Ports are shown, and use has been made of
SysML stereotypes to annotate these connectors to show the type of physical
connection. There are two ‘300 11 Gauge Non-hardened Lay-down Pipe’ between
the ‘Tank’ and the ‘Pump’ and one ‘400 11 Gauge Non-hardened Lay-down Pipe’
between the ‘Pump’ and the ‘Hole’.
The SysML flow ports used on the diagram show the directionality of the
Interfaces. The Interfaces between the ‘Pump’ and the ‘Hole’ have a Direction of
‘‘inout’’. The ‘Pump’ can pump into and out of the ‘Hole’ through a single pipe.
The two Interfaces between the ‘Tank’ and the ‘Pump’ are each uni-directional.
From the point of view of the ‘Tank’ it has an Interface with a Direction of ‘‘out’’ to
supply ‘Concrete’ to the ‘Pump’ via its ‘OutFlowValve’, and an Interface with a
Direction of ‘‘in’’ to receive ‘Concrete’ from the ‘Pump’ via its ‘InFlowValve’. The
SysML item flows carrying ‘Concrete’ across the connectors define the Interface
Connections.
This View, along with Figures 4.8 and 4.15, fulfils Rule ID1.
VCV [Package] Interface Definition Viewpoint (IDVp) [Viewpoint Context View showing I...
«concern»
Define operations
«include»
«concern»
Identify interfaces
«include»
Systems Engineer
«concern»
Define flows
4.3.5.1 Description
The VDV in Figure 4.14 shows the Ontology Elements that appear on an IDVp.
The IDVp contains a number of Interface Definitions, together with the Flow
Types of the items passed across the Interfaces that are described by the Interface
Definitions.
44 Foundations for Model-based Systems Engineering
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elem...
«viewpoint»
Interface Definition Viewpoint
0..* 0..*
Figure 4.14 Viewpoint Definition View showing the Ontology Elements that
appear on the Interface Definition Viewpoint (IDVp)
Note that this Viewpoint does not show Interfaces, but concentrates on the
descriptions of Interfaces through the Interface Definitions and Flow Types that
describe them.
4.3.5.2 Example
An example View that conforms to the IDVp is shown in Figure 4.15.
This IDV, here realised as a SysML block definition diagram, shows three
Interface Definitions.
The first Interface Definition is ‘PumpIF’ modelled using a SysML interface
block. ‘PumpIF’ is an example of an Interface Definition for a Service-Based
Interface. It defines a number of services that the Interface provides, realised here
using SysML operations, an example of which is the ‘start’ service. It also defines a
single property, ‘CurrentDirection’, which is used to store information about the
state of the Interface when it is in use.
‘DirectionType’, ‘Boolean’ and ‘PowerLevel’ are all examples of Flow Types
that are used by the ‘PumpIF’ as the types of parameters of the three services
‘start’, ‘stop’ and ‘reverse’ and of the ‘CurrentDirection’ property. The ‘‘uses’’
relationship is made explicit through the use of the stereotyped SysML
dependency.
Interface Definition Pattern 45
«enumeration»
Boolean
«use»
TRUE
FALSE
«interface»
PumpIF
{abstract}
«valueType»
+ CurrentDirection: DirectionType PowerLevel
«use»
+ start(powerLevel: PowerLevel)
+ stop(emergency: Boolean)
+ reverse(powerLevel: PowerLevel)
«enumeration»
DirectionType
Forward
«use» Reverse
«block» «block»
LiquidFS Liquid
«use»
flow properties
inout liquid : Liquid
«block» «block»
Oil Concrete
«block»
Water
VCV [Package] Interface Behaviour Viewpoint (IBVp) [Viewpoint Context View showing Inte...
«concern» «concern»
Identify interfaces Identify scenarios
«include»
Systems Engineer
Figure 4.16 Viewpoint Context View showing Interface Behaviour Viewpoint aims
4.3.6.1 Description
The VDV in Figure 4.17 shows the Ontology Elements that appear on an IBVp.
The IBVp shows a number of System Elements interacting with each other via
the services and items transferred across the Interfaces between the System Ele-
ments. Since these interactions are governed by the Interface Definitions and
associated Flow Types that describe each Interface, the IBVp indirectly shows
elements of the Interface Definitions and Flow Types.
Interface Definition Pattern 47
VDV [Package] Description [Viewpoint Definition View showing the Ontology ...
«viewpoint»
Interface Behaviour Viewpoint
1..*
interacts with
Figure 4.17 Viewpoint Definition View showing the Ontology Elements that
appear on the Interface Behaviour Viewpoint (IBVp)
4.3.6.2 Example
Example Views that conform to the IBVp are shown in Figures 4.18–4.20.
The Interface Behaviour View in Figure 4.18, here realised as a SysML
sequence diagram, shows the interactions between two System Elements, the
‘Pump Controller’ and the ‘Pump’.
As shown in Figure 4.11, all interactions between the ‘Pump Controller’ and
the ‘Pump’ must conform to ‘PumpIF’. That is, they must conform to the Interface
Definition that is described on the IDV in Figure 4.15. The diagram shows mes-
sages corresponding to the ‘start’, ‘stop’ and ‘reverse’ services shown on the IDV
being sent from the ‘Pump Controller’ to the ‘PumpIF’. The ‘Controller Input’ port
of type ‘USB’ that exposes the ‘PumpIF’ is also shown.
48 Foundations for Model-based Systems Engineering
sd [Package] Example [IBV – Pump Controller to Pump – Normal Single Cycle Operation]
PumpIF
start(90%)
reverse(90%)
stop(FALSE)
Figure 4.18 IBV – Pump Controller to Pump – Normal Single Cycle Operation
This View, along with the IDV in Figure 4.15 and the ICV in Figure 4.11,
fulfils Rule ID5.
This example illustrates a simple Interface without any governing Protocol. An
example of an Interface Behaviour View for the ‘Pump Controller’ and ‘Pump’ where
the ‘PumpIF’ does conform to a governing Protocol can be seen in Figure 4.19.
The Interface Behaviour View in Figure 4.19, here realised as a SysML sequence
diagram, shows two System Elements, the ‘Pump Controller’ and the ‘Pump’, con-
nected together by the ‘PumpIF’, an example of a Service-Based Interface.
As shown in Figure 4.11, all interactions between the ‘Pump Controller’ and the
‘Pump’ must conform to ‘PumpIF’. That is, they must conform to the Interface
Definition that is described on the IDV in Figure 4.15. This can be seen in the diagram
where SysML messages corresponding to the ‘start’, ‘stop’ and ‘reverse’ services
shown on the IDV can be seen being sent from the ‘Pump Controller’ to the ‘PumpIF’.
In this example the ‘PumpIF’ has an internal Protocol (see Figure 4.23) that
translates the ‘start’, ‘stop’ and ‘reverse’ messages that it receives into a series of
‘prime’, ‘pump’, ‘stopPump’, ‘pumpReverse’ and ‘flush’ signals that it forwards to
the ‘Pump’.
Although the ‘PumpIF’ is shown as a separate SysML lifeline in the diagram, this
has been done to emphasise the internal behaviour of the Interface and to make explicit
the translations that are performed by its governing Protocol. The ‘PumpIF’ should not
Interface Definition Pattern 49
sd [Package] Example [IBV – Pump Controller to Pump – Normal Single Cycle Operation – Expanded]
pump: Pump[1]
PumpIF
start(90%)
prime()
pump()
reverse(90%)
stopPump()
pumpReverse()
stop(FALSE)
flush()
stopPump()
be thought of as being separate from the ‘Pump’; it simply defines a set of services
provided by the ‘Pump’. When implementing this System, this aspect of the behaviour
of ‘PumpIF’ could be implemented in software running on the ‘Pump’. The ‘PumpIF’ is
acting as a ‘‘wrapper’’ to the ‘Pump’, providing a simple set of three services that can
remain constant if the internal operation of the ‘Pump’ changes or that can be used on
pumps with different behaviour. For example, if a self-priming pump that could go
directly from pumping to pumping in reverse without stopping was to replace the
existing ‘Pump’, then provided it exposed the same ‘PumpIF’ no changes would be
50 Foundations for Model-based Systems Engineering
needed to the type of ‘Pump Controller’ used. The changes would be reflected in the
Protocol for the ‘PumpIF’ as implemented by the new ‘Pump’.
If an Interface is of a simpler kind, without any governing Protocol, then often
it will not be explicitly shown on an Interface Behaviour View. For example, the
‘Pump Controller’ could be shown communicating directly with the ‘Pump’,
sending ‘start’, ‘stop’ and ‘reverse’ messages directly to it, as long as the ‘Pump’
could handle such messages without the need for a Protocol to convert them into the
‘prime’, ‘pump’ etc. signals.
This View, along with the IDV in Figure 4.15 and the ICV in Figure 4.11,
fulfils Rule ID5.
sd [Package] Example [IBV – Tank to Pump to Hole – Normal Single Cycle Operation]
«block» Concrete
start(PowerLevel)
> prime()
loop
«block» Concrete
start(PowerLevel)
> pump()
«block» Concrete
loop
stop(Boolean)
«block» Concrete > flush()
Figure 4.20 IBV – Tank to Pump to Hole – Normal Single Cycle Operation
Interface Definition Pattern 51
The Interface Behaviour View in Figure 4.20, modelled here using a SysML
sequence diagram, shows an example of System Elements interacting via Flow-
Based Interfaces.
The diagram shows three System Elements: ‘Tank’, ‘Pump’ and ‘Hole’. As
shown in Figure 4.12, they interact according to the ‘LiquidFS’ and ‘Liquid’ Interface
Definitions that are defined on the IDV in Figure 4.15. The scenario shown in the View
corresponds to that shown in the corresponding Service-Based Interface IBV seen in
Figure 4.19, but from the point of view of the items flowing between the various
System Elements rather than the services invoked by one on another.
It should also be noted that, in this scenario, it is ‘Concrete’ that is flowing
between the various System Elements. Because of the way the Interfaces are
defined any of the defined sub-types of ‘Liquid’, such as ‘Concrete’, ‘Oil’ or
‘Water’ could have been used.
Also, although the behaviour of the two types of Interface has been shown on
separate Interface Behaviour Views, there is nothing to prevent these two diagrams
being combined in to a single IBV showing the behaviour of both types on a single
diagram.
This View, along with the IDV in Figure 4.15 and the ICV in Figure 4.12,
fulfils Rule ID5.
VCV [Package] Protocol Definition Viewpoint (PDVp) [Viewpoint Context View showing Pro...
«concern» «concern»
Identify interfaces «include» Define protocols
Systems Engineer
Figure 4.21 Viewpoint Context View showing Protocol Definition Viewpoint aims
4.3.7.1 Description
The VDV in Figure 4.22 shows the Ontology Elements that appear on a PDVp.
«viewpoint»
Protocol Definition Viewpoint
«ontology element»
Protocol
0..* 0..*
conforms to conforms to
0..* 0..*
Figure 4.22 Viewpoint Definition View showing the Ontology Elements that
appear on the Protocol Definition Viewpoint (PDVp)
The PDVp contains the Protocol for an Interface or Port. Such Protocols define
the behaviour governing the Interface or Port. For example, an interface to a ‘Pump’
(‘PumpIF’, say) might ignore ‘reverse’ messages when the ‘Pump’ is pumping until
the ‘Pump’ is first stopped by sending a ‘stop’ message to the ‘PumpIF’.
Each Interface or Port can have multiple Protocols governing their behaviour.
For example, an intelligent ‘PumpIF’ could follow a different control Protocol
depending on the type of ‘Pump Controller’ connected to it.
Protocols often make use of concepts such as events and signals. Such con-
cepts have been deliberately omitted from the PDVp (and the ODV in Figure 4.2)
as they are dependent on the representation adopted for the realisation of the
Viewpoint.
4.3.7.2 Example
An example View that conforms to the PDVp is shown in Figure 4.23.
The Protocol Definition View, here realised as a SysML state machine dia-
gram, describes the Protocol to which the ‘PumpIF’ must conform.
Interface Definition Pattern 53
/prime()
[CurrentDirection = Reverse]
/CurrentDirection = Forward /stopPump()
primed
/pump()
stop [emergency=FALSE] /
reverse /stopPump() flush ()
pumping reversing flusing
[CurrentDirection = Forward]
/CurrentDirection = Reverse stop [emergency=TRUE] /
reversed stopPump()
/pumpReverse()
pumping in
reverse
The ‘PumpIF’ provides three services: ‘start’, ‘stop’ and ‘reverse’. It must
convert invocations of these services into the relevant signals to be issued to the
‘Pump’ to which it provides an Interface.
In this example, an invocation of the ‘start’ service must be converted into a
‘prime’ and then a ‘pump’ signal to the ‘Pump’. Similarly, ‘reverse’ is converted
into ‘stopPump’ and ‘pumpReverse’ signals and ‘stop’ into either a ‘flush’ and then
a ‘stopPump’ signal or just a ‘stopPump’ signal depending on whether an emer-
gency stop is being requested.
In order to be able to correctly handle a ‘reverse’ service request, the ‘PumpIF’
must maintain information on which direction the ‘Pump’ is running. This is held in
the ‘CurrentDirection’ property which is given the value ‘Forward’ or ‘Reverse’ as
appropriate.
An observation that can be made about this diagram is that it takes no account
of the ‘powerLevel’ parameter passed in with the ‘start’ and ‘reverse’ service calls
(and shown on the Interface Behaviour View in Figure 4.19. Perhaps this imple-
mentation of the ‘PumpIF’ Protocol is intended to be used with a ‘Pump’ that does
not take a ‘powerLevel’. If it does take a ‘powerLevel’ then the handling of
‘powerLevel’ should be added to this View and this would also require changes to
the Interface Behaviour View in Figure 4.19.
This View fulfils Rule ID2 and Rule ID6.
54 Foundations for Model-based Systems Engineering
4.4 Summary
The Interface Definition Pattern provides three Viewpoints that enable the iden-
tification and definition of Interfaces to be specified in terms of the structural
aspects of the Interfaces: the Interface Identification Viewpoint identifies each
Interface, the Interface Connectivity Viewpoint shows the connection between
Interfaces and the Interface Definition Viewpoint defines what is transferred
across each Interface.
The Pattern also provides two Viewpoints that enable the behaviour of Inter-
faces to be specified: the Interface Behaviour Viewpoint identifies typical scenarios
showing how Interfaces are used and the Protocol Definition Viewpoint defines any
Protocols to which Interfaces or Ports must conform.
When using the Interface Definition Pattern, as a minimum at least one ICV
and one IDV are needed to specify Interfaces, their associated Ports and the con-
nections between them. Where the information on the IIVs is not a subset of that on
the ICVs, then at least one IIV must also be produced. In practice, however, mul-
tiple IIVs, ICVs and IDVs would be produced along with Interface Behaviour View
and, where necessary, Protocol Definition Views. Note here the use of View rather
than Viewpoint. When using the Interface Definition Pattern, Views are created that
conform to the Viewpoints (see Holt and Perry (2013)).
Reference
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Further readings
5.1 Introduction
There are many interpretations of traceability, including:
● Measurement
● Logistics
● Materials
● Supply Chain
● Development.
However, two themes run throughout all interpretations: an unbroken chain and
access to information. The unbroken chain focuses on the need to be able to follow
an artefact back to its source, whether that source is a physical place such as the sea,
a supplier organisation, a requirement, meeting minutes or a standard such as ISO
15288. Access to information defines the need to know about the artefact being
traced. In some cases this may be the history of the artefact. For example, in the
case of food, this could be the organisations the food has passed through, when and
who did the quality check etc. For an engineering project, it may be why an artefact
exists or has been chosen as the solution to a requirement.
The existence of traceability supports areas of analysis including: impact
analysis, change management and coverage analysis. All of these types of analysis
would be difficult if not impossible to carry out without traceability in place.
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Traceability aims]
«concern»
Support
traceability
throughout
model
«constrain» «concern»
Define types of
traces allowed
Systems
Engineer «concern»
Establish «include»
traceability
«include» «concern»
Define allowed
«constrain» traceability
«include» «concern»
«concern»
Support impact Define types of
Systems analysis elements that can
Engineering be traced
Manager to/from
The main aim of ‘Establish traceability’ includes the aim of ‘Define allowed tra-
ceability’. This in turn includes the uses cases:
● ‘Define types of trace allowed’ – Support the definition of the types of traces
that can be used.
● ‘Define types of element that can be traced to/from’ – Support the definition of
the types of elements that can be involved in trace relationships and the rela-
tionships that can be used between such traceable elements.
The Use Case ‘Establish traceability’ provides benefit to the ‘Systems Engineer’
Stakeholder Role. The ‘Systems Engineering Manager’ Stakeholder Role gains
benefit from the ‘Support impact analysis’ Use Case.
5.2 Concepts
The main concepts covered by the Traceability Pattern are shown in the Ontology
Definition View (ODV) in Figure 5.2.
Traceability Pattern 57
«ontology element»
«ontology element»
Traceability
Relationship Type
Relationship
0..* 0..*
1 «ontology element» «ontology element» 1
defines the type of
Traceable Element Traceable Type
is traceable can be traced
{abstract} 1 1 {abstract}
to to
5.3 Viewpoints
This section describes the Viewpoints that make up the Traceability Pattern. It
begins with an overview of the Viewpoints, defines Rules that apply to the Pattern
and then defines each Viewpoint.
5.3.1 Overview
The Traceability Pattern defines a number of Viewpoints as shown in the View-
point Relationship View (VRV) in Figure 5.3.
The Traceability Pattern defines four Viewpoints to enable the definition and
capture of traceability:
● The ‘Relationship Identification Viewpoint’ is used to define the types of
permissible Relationship Types.
● The ‘Traceability Identification Viewpoint’ is used to define the items that can
be traced (the Traceable Types) and the types of trace that can be used between
items (the Relationship Types between pairs of Traceable Types).
Traceability Pattern 59
«viewpoint»
Traceability Viewpoint
1..* 0..*
«viewpoint» 1..*
Traceability Identification
Viewpoint identifies elements and
relationships used on
shows traceability
tree from
1..*
«viewpoint»
Impact Viewpoint
5.3.2 Rules
Five rules apply to the four Traceability Viewpoints, as shown in the Rules Defi-
nition View (RDV) in Figure 5.4.
These five Rules are:
● ‘Rule TR1: As a minimum one Traceability Identification View, one Relation-
ship Identification View and one Traceability View must be produced.’ This
Rule enforces a minimum set of Views that must be produce. If this minimum
set is not produced then an incomplete definition of Traceability will created.
● ‘Rule TR2: All Traceability Relationships must be defined as Relationship
Types on a Relationship Identification View.’ This Rule is there to ensure that
60 Foundations for Model-based Systems Engineering
«rule» «rule»
Rule TR1 Rule TR2
notes notes
As a minimum one Traceability All Traceability Relationships must
Identification View, one be defined as Relationship Types
Relationship Identification View on a Relationship Identification
and one Traceability View must be View.
produced.
«rule» «rule»
Rule TR3 Rule TR4
notes notes
All Traceable Elements must be The permitted Relationship Types
defined as Traceable Types on a that can occur between each pair of
Traceability Identification View. Traceable Types must be defined on
a Traceability Identification View.
«rule»
Rule TR5
notes
If a Traceable Type, T1, has a defined Relationship Type, R1, to another
Traceable Type, T2, then every Traceable Element defined by Traceable Type
T1 must have a corresponding Traceability Relationship of type R1 to another
Traceable Element defined by Traceable Type T2.
the types of traceability relationships that will be used are defined. No Rela-
tionship Type can be used that has not been defined.
● ‘Rule TR3: All Traceable Elements must be defined as Traceable Types on a
Traceability Identification View.’ Again, a Rule to ensure consistency. Tra-
ceability can only be established between the kinds of Traceable Types that
have been defined.
● ‘Rule TR4: The permitted Relationship Types that can occur between each pair
of Traceable Types must be defined on a Traceability Identification View.’ This
Rule works with Rules TR2 and TR3 to ensure that the allowed Relationship
Types that can be used between Traceable Types are defined before use.
Traceability Pattern 61
● ‘Rule TR5: If a Traceable Type, T1, has a defined Relationship Type, R1, to
another Traceable Type, T2, then every Traceable Element defined by Trace-
able Type T1 must have a corresponding Traceability Relationship of type R1
to another Traceable Element defined by Traceable Type T2.’ This wordy Rule
simply says that if you have said that a particular type of traceability is to be
used between particular types of elements, then when performing traceability
all elements of those types must be so traced.
Note that the five Rules shown in Figure 5.4 are the minimum that are needed.
Others could be added if required.
VCV [Package] Relationship Identification Viewpoint (RIVp) [Viewpoint Context View showing Relationship Identification Viewp...
«concern» «concern»
Establish traceability Define types of traces
allowed
«include»
Systems Engineer
«include»
«concern»
Define allowed
traceability
5.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 5.6 shows the Ontology Elements
that appear on a Relationship Identification Viewpoint.
62 Foundations for Model-based Systems Engineering
«viewpoint»
Relationship Identification
Viewpoint
1..*
«ontology element»
Relationship Type
Figure 5.6 Viewpoint Definition View showing the Ontology Elements that appear
on the Relationship Identification Viewpoint (RIVp)
5.3.3.2 Example
An example View that conforms to the Relationship Identification Viewpoint is
shown in Figure 5.7. This, and subsequent examples, are taken from the domain of
MBSE (and Model-Based Requirements Engineering in particular). However, this
is only one possible application of traceability and, while perhaps the most common
use within the systems engineering domain and hence the reason it was chosen for
the examples, it is not the only one.
The Relationship Identification View in Figure 5.7, realised as a SysML block
definition diagram, defines nine Relationship Types: ‘Trace’, ‘Refinement’,
‘Derivation’ etc., that have been identified as being the kinds of traceability needed
when carrying out model-based requirements engineering.
Each of the defined Relationship Types should also be accompanied by a
description of its intended use. This has been done in the following table, which
also serves as a text-based version of a Relationship Identification View:
Traceability Pattern 63
«block»
Relationship Type
This View, defined in Figure 5.7 and Table 5.1, fulfils Rule TR2. With the
Traceability Identification View in Figure 5.10 and Table 5.2 and the Traceability
View in Figure 5.13, it fulfils Rule TR1.
64 Foundations for Model-based Systems Engineering
VCV [Package] Traceability Identification Viewpoint (TIVp) [Viewpoint Context View showing Traceability Identification Viewp...
«concern»
Define types of
«concern» elements that can be
Establish traced to/from
traceability
«include»
«include»
Systems Engineer «concern»
Define allowed
traceability
Figure 5.8 Viewpoint Context View showing Traceability Identification Viewpoint aims
5.3.4.1 Description
The VDV in Figure 5.9 shows the Ontology Elements that appear on the Trace-
ability Identification Viewpoint.
The Traceability Identification Viewpoint identifies the types of elements that
can be involved in traceability relationships, along with the types of trace that can
be used between them.
The Traceability Identification Viewpoint shows a number of Traceable Types
and Relationship Types.
Traceable Types are defined as Viewpoints and Viewpoint Elements. These
define the model Viewpoints and Viewpoint Elements that can be the source and
targets of traceability. If a type of Viewpoint or Viewpoint Element is not identified
Traceability Pattern 65
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on th...
«viewpoint»
Traceability Identification
Viewpoint
can be traced to
Figure 5.9 Viewpoint Definition View showing the Ontology Elements that appear
on the Traceability Identification Viewpoint (RIVp)
5.3.4.2 Example
An example View that conforms to the Traceability Identification Viewpoint is
shown in Figure 5.10.
bdd [Package] Example [TIV – ACRE MBRE Framework (Partial)]
«block,viewpoint»
«block,viewpoint Elem...
Context Definition
Source Element
Viewpoint
1..*
1..*
defines context for
«block,viewpoint Elem... «Trace» «block,viewpoint» is related to Tags:
1 1 is elicited from Tags:
Stakeholder Role Requirement Context View Trace to = Use Case
is elicited Trace to = Source Element
Trace type = Extension / Constraint
from «Trace» Trace type = Trace
defines context for Tags:
Trace to = Stakeholder Role
Trace type = Trace
1..* «Trace» 1
0..* 1..* 1 1
yields an observable result to
«Trace» is
describes Tags: related to
validates Tags: Trace to = Requirement
Trace to = Use Case Trace type = Refinement
Trace type = Validates
is related to Tags:
validates Trace to = Requirement
«Trace» Trace type = Derivation /
Refinement / Inclusion /
«block,viewpoint» Constraint
Validation Viewpoint
1..*
From To
Requirement Source Element Trace
Requirement Derivation
Inclusion
Constraint
Refinement
Rationale Satisfaction
Capability Satisfaction
Use Case Requirement Refinement
Use Case Constraint
Inclusion
Extension
System Element Use Case Satisfaction
Test Case (Validation View) Use Case Validation
Test Case Requirement Verification
Requirement Context View Stakeholder Role (on Context Trace
Definition Viewpoint)
Capability Goal Satisfaction
VCV [Package] Traceability Viewpoint (TVp) [View point Context View showing Traceability V...
«concern»
Support traceability
throughout model
«constrain»
Systems Engineer
«concern»
Establish traceability
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on the Tr...
«viewpoint»
Traceability Viewpoint
is traceable to
0..* 1..*
«ontology element»
Traceability Relationship
1 «ontology element»
Traceable Element
{abstract}
Figure 5.12 Viewpoint Definition View showing the Ontology Elements that
appear on the Traceability Viewpoint (TVp)
The Traceability Viewpoint shows a number of Traceable Elements and the
Traceability Relationships between them. Traceable Elements may be Views or
View Elements and Traceability Relationships may be made View-to-View, View
Element-to-View Element, View Element-to-View or View-to-View Element.
The allowed Traceability Relationships are those of the Relationship Types
that are defined on a Relationship Identification View. The allowed Traceable
Elements are those of the Traceable Types that are defined on a Traceability
Identification View. Only the connections between pairs of Traceable Types
defined on a Traceability Identification View are permitted on a Traceability View.
70 Foundations for Model-based Systems Engineering
5.3.5.2 Example
An example View that conforms to the Traceability Viewpoint is shown in
Figure 5.13.
req [Package] Example [TV – Traceability View for "Perform Stunt" Requirement]
«block,source Element»
Initial Ideas Meeting
10.01.2008
«trace»
«testCase» «requirement»
Computer Control of Perform Stunt
Pump -
Successful Stunt
«requirement» «requirement»
«verify» Computer-controlled Allow Different Fluids
Pump
«requirement»
Provide Pump
Controller Perform using Perform using
concrete custard
«validate» «validate»
«testCase» «testCase»
Stunt Performance with Stunt Performance with
Medium-density Concrete Custard
● A Trace relationship between the Requirement ‘Perform Stunt’ and its Source
Element ‘Initial Ideas Meeting 10.01.2008’, realised using a SysML «trace»
relationship.
● Two Inclusion relationships between the sub-Requirements ‘Computer-controlled
Pump’ and ‘Allow Different Fluids’ and their parent Requirement ‘Perform Stunt’,
realised using SysML nesting relationships.
● A Derivation relationship between the Requirement ‘Provide Pump Controller’
and the Requirement ‘Computer-controlled Pump’ that it is derived from,
realised using a SysML «deriveReqt» relationship.
● A Verification relationship between a Test Case ‘Computer Control of Pump –
Successful Stunt’ and the Requirement ‘Computer-controlled Pump’ that it
verifies, realised using a SysML «verify» relationship.
● Two Refinement relationships between the Use Cases ‘Perform using concrete’
and ‘Perform using custard’ and the Requirement ‘Allow Different Fluids’ that
they refine, realised using a SysML «refine» relationship.
● Two Validation relationships between the Test Cases ‘Stunt Performance with
Medium-density Concrete’ and ‘Stunt Performance with Custard’ and the Use
Cases ‘Perform using concrete’ and ‘Perform using custard’ that they validate,
realised using a SysML dependency stereotyped «validate». Note that SysML
does not have a ‘‘built-in’’ «validate» relationship.
Traces From
Successful
requirement
Perform Stunt
requirement
Computer-controlled Pump
requirement
Allow Different Fluids
requirement
Provide Pump Controller
testCase
Computer Control of Pump
Stunt
Use Case
Perform using concrete
Use Case
Perform using custard
testCase
Stunt Performance with Medium-density
Concrete
testCase
Stunt Performance with Custard
«Source Element»
Trace
Initial Ideas Meeting
«trace»
10.01.2008
Traces To
«requirement» Refinement Refinement
Allow Different Fluids «refine» «refine»
VCV [Package] Impact Viewpoint (IVp) [Viewpoint Context View showing Impact Viewpoint aims]
«concern»
Support traceability
throughout model
«constrain»
Systems Engineer
«concern»
Establish traceability
«constrain»
«concern»
Systems Engineering Support impact
Manager analysis
5.3.6.1 Description
The VDV in Figure 5.15 shows the Ontology Elements that appear on an Impact
Viewpoint.
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on the I...
is traceable to
0..* 1..*
«ontology element»
Traceability Relationship
1 «ontology element»
Traceable Element
{abstract}
Figure 5.15 Viewpoint Definition View showing the Ontology Elements that
appear on the Impact Viewpoint (IVp)
5.3.6.2 Example
An example View that conforms to the Impact Viewpoint is shown in Figure 5.16.
«trace »Ensure
«trace» Crush-proof Coffin
«trace» Perform Stunt «requirement» Sufficient Air
«requirement»
«requirement»
«verify»
«deriveReqt» Computer «validate»
«refine» Perform «refine» Perform
Provide Pump Control of Determining
using custard using concrete
Controller Pump - Hole
«Use Case» «Use Case»
«requirement» Successful Size «testCase»
Stunt «testCase»
«validate» Stunt
«validate» Stunt
Performance
Performance
with
with
Medium-density
Custard
Concrete
«testCase»
«testCase»
The Impact View in Figure 5.16 shows the forward impact tree for the Source
Element ‘Initial Ideas Meeting 10.01.2008’, showing all 15 potential model ele-
ments that may be impacted by a change to the Source Element. Note that there is
an implicit meaning in the layout of the diagram: items in a given level trace to the
item lying over them in the level above. The nature of the trace relationship is
shown in the stereotype that forms the first part of the name of each item and the
type of item traced is shown in the stereotype that forms the last part of the name.
For example, from the diagram it can be seen that the Use Cases ‘Build stunt coffin’
and ‘Ensure coffin not crushed by fluid’ both trace, through refinement, to the
Requirement ‘Crush-proof Coffin’.
76 Foundations for Model-based Systems Engineering
Whatever the graphical representation used, what is essential is that such Impact
Views are capable of being generated automatically based on the trace information
added to the model of a System. The information in Figure 5.16 and Table 5.4 was
generated automatically from the SysML tool that was used to create the model.
5.4 Summary
The Traceability Pattern defines four Viewpoints that allow aspects of traceability
to be captured. The Relationship Identification Viewpoint defines the possible
types of traceability relationships that may be used. The Traceability Identification
Viewpoint defines the types of model elements that can be the sources and targets
of traceability and the relationships (from the Relationship Identification View-
point) that can hold between them. The Traceability Viewpoint shows the actual
traceability relationships that hold between model elements that conform to the
allowed types for traceability (as defined on the Traceability Identification View-
point). Finally, the Impact Viewpoint allows a traceability impact tree to be pro-
duced for a selected root model element, aiding in the identification of those model
elements that may be impacted by changes to the selected root element.
Traceability Pattern 77
Reference
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A model-based
approach. London: IET Publishing; 2013.
Further readings
Object Management Group. SysML website [online]. Available at: http://www.
omgsysml.org [Accessed February 2015].
Holt, J. UML for Systems Engineering – Watching the Wheels. 2nd Edition.
London: IEE Publishing; 2004 (reprinted IET Publishing; 2007).
Rumbaugh, J., Jacobson, I. and Booch, G. The Unified Modeling Language
Reference Manual. 2nd Edition. Boston, MA: Addison-Wesley; 2005.
Stevens, R., Brook, P., Jackson, K. and Arnold, S. Systems Engineering – Coping
with Complexity. London: Prentice Hall Europe; 1998.
Boehm, B. W. ‘Verifying and Validating Software Requirements and Design
Specifications,’ reprinted in Boehm, B. W. (ed.), Software Risk Management,
pp. 205–218, IEEE Computer Society Press, 1989.
Chapter 6
Test Pattern
6.1 Introduction
Testing is an essential part of any system development. Testing must demonstrate
two main aims of the development by answering two questions: [Boehm]
● Have we built the right system? (validation)
● Have we built the system right? (verification)
Both verification and validation (V&V) can take on many different forms so it is
important that the system can be tested in many different ways, ideally using a
single model as a basis for all the testing activities. In the context of safety-critical
systems development it is vital to justify that adequate testing activities have been
performed, and sufficient test cases have been exercised on the system under test.
As a consequence it is desirable to adopt an organised approach to define test
schedules that define the creation and execution of test cases.
Such an approach must be produced in a systematic way. If test schedules can
exploit tool support automating some of the activities involved, then it is essential that
these tools conform to such an organised approach, because otherwise unnecessary
effort will have to be spent on mapping the artefacts produced by the tools to the
evidence required to justify adequateness and comprehensiveness of the test schedule.
This model-based approach forms an essential basis for model-based testing.
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Test Pattern aims]
«stakeholder role»
Required System
«include»
«include»
«constrain» «stakeholder role»
Test Schedule
«concern» «concern»
Define testing context «constrain» Define test cases
6.2 Concepts
The main concepts covered by the Testing Pattern are shown in the Ontology
Definition View (ODV) in Figure 6.2.
Figure 6.2 shows the Testing Pattern ontology by identifying the main concepts
and the relationships between them.
A fundamental part of the ‘Test Case’ Pattern is, quite naturally, the ‘Test
Case’. A ‘Test Case’ is executed against a ‘Testable Element’ using ‘Test Data’.
One or more ‘Test Case’ is collected into a ‘Test Set’, one or more of which make up
a ‘Test Schedule’. It may be possible than more than one Test Set may be required
depending on the Testing Context. For example, one Test Set may be required for
validation, one for verification, etc. However, it is not good enough to simply define
a structure for a ‘Test Case’ and then realise it, as we need to understand why the
testing is necessary in the first place, what are the constraints, what other systems are
required, what is the level of testing required and so on. This overall rationale behind
the tests is represented by the ‘Testing Context’. The ‘Testing Context’ comprises
three main elements:
● One or more ‘Testing Need’. This represents the needs of the testing that will
be carried out (for example: verification, validation, etc.) and will also define
Test Pattern 81
ODV [Package] Concepts [Ontology Definition View showing Test Pattern concepts]
«ontology element»
Testing Boundary
1..* 1..*
1..*
defines rationale for
«ontology element» «ontology element»
Testing Context 1 1..* Test Set
1..*
1..*
any constraints on the testing, such as the scope of the tests, any specific
techniques, and so on. It should be noted that the ‘Testing Need’ does not
represent the needs of the system or any of the other stakeholders.
● One or more ‘Required System’. This represents any system that falls outside
the testing boundary that may be required for the successful execution of the
tests. Examples of such required systems include the environment, standards,
test data, etc.
● ‘Testing Boundary’. The ‘Testing Boundary’ represents the partition between
what is included on the model (that satisfies the ‘Testing Need’) to be used for
the testing and everything that is not part of the model, but is necessary to
perform the testing (the ‘Required System’).
82 Foundations for Model-based Systems Engineering
The ‘Test Case’ itself tests one or more ‘Testable Element’. This can be any ele-
ment from the model of the ‘System Under Test’, any collection of elements or,
indeed, the whole model. The main aim here is to simply identify the area of the
model that will be tested.
The ‘Test Case’ forms the heart of the Pattern and comprises a few key con-
cepts that are important to understand:
● ‘Test Description’, which is quite straightforward and simply defines a text
description and a unique identifier for the ‘Test Case’.
● ‘Test Data’, that represents any data that is used as an input to the testing
activities.
● ‘Test Configuration’ defines the configuration of one or more ‘Testable Element’
that is to be tested. This is a structural representation of the ‘Testable Element’
and any other model elements that are connected to it in a specific configuration
that is required in order to satisfy a ‘Testing Need’.
● ‘Test Behaviour’ that describes an anticipated behaviour of the ‘Test Case’ that
is applied to a ‘Test Configuration’. There will usually be more than one ‘Test
Behaviour’ associated with each ‘Test Configuration’ and the anticipated
behaviour may represent both desirable and undesirable examples.
● ‘Test Record’. Whereas the ‘Test Behaviour’ describes the test that will be
performed by defining the expected behaviour, the ‘Test Record’ captures the
actual behaviour that is observed during the execution of the Test Case.
These concepts are visualised through a number of Views that are together in the
Testing Pattern.
6.3 Viewpoints
This section describes the Viewpoints that make up the Testing Pattern. It begins
with an overview of the Viewpoints, defines Rules that apply to the Pattern and
then defines each Viewpoint.
6.3.1 OverView
The Testing Pattern defines a number of Viewpoints as shown in the Viewpoint
Relationship View (VRV) in Figure 6.3.
Figure 6.3 shows that the Testing Pattern has three main Viewpoints:
● The ‘Testing Context Viewpoint’ that defines the rationale for the Viewpoint
and identifies a number of needs and constraints that must be satisfied in order
that the test campaign be deemed successful.
● The ‘Test Set-up Viewpoint’ describes the structure of the Test Schedule and
Test Set (using the ‘Test Structure Viewpoint’) and then the execution of the
Test Schedule (using the ‘Test Schedule Behaviour Viewpoint’) and the Test
Set (using the ‘Test Set Behaviour Viewpoint’)
Test Pattern 83
VRV [Package] Overview [Viewpoint Relationship View showing Testing Pattern Viewpoints]
«Viewpoint»
Test Structure
1 Viewpoint
● The ‘Test Case Viewpoint’ that identifies the scope of the Test Case (using the
‘Test Configuration Viewpoint’ that defines how the Test Case is set up), the
anticipated behaviour of the Test Case (using the ‘Test Behaviour Viewpoint’
that shows the preferred behaviour of the Test Case) and captures the results of
the Test Case (using the ‘Test Record Viewpoint’).
These Viewpoints are defined in the following sections.
6.3.2 Rules
Sixteen rules apply to the Testing Pattern Viewpoints, as shown in the Rules
Definition View (RDV) in Figure 6.4.
The Testing Pattern has 16 Rules defined that are shown in Figure 6.4 and that
are described as:
● ‘TP1: A Testing Context must exist that defines every Testing Need.’ This is
fundamental to the Testing Pattern as it defines the testing Needs for the whole
Test Schedule. Without this Rule, none of the others can be successful.
84 Foundations for Model-based Systems Engineering
RDV [Package] Rules [Rules Definition View showing Test Pattern Rules]
● ‘TP2: Each Testing Need must be satisfied by one or more of the Test Set View
or Test Case.’ This represents a coverage Rule in that all of the Testing Needs
must be covered by the overall Test Schedule.
● ‘TP3: Every external System that is necessary for the testing activities is a
Required System.’ This ensures that all external systems necessary for suc-
cessful testing have been identified.
● ‘TP4: Every Required System must be related to at least one Testing Need.’
Any Required System that is not connected to a Testing Need is redundant and,
therefore, should not feature on this View.
● ‘TP5: Every Testing Need must be related to at least one Required System.’
Every Testing Need must be connected to a Required System as the Required
System identifies test models, external data sources, test equipment, etc. This
connection may be either direct or indirect.
● ‘TP6: There must be at least one Test Structure Viewpoint, Test Behaviour
Viewpoint and Test Set Behaviour Viewpoint.’ A View for each of the Test
Set-up Viewpoints must exist, otherwise the testing activities are not defined.
Test Pattern 85
● ‘TP7: Each Test Structure Viewpoint must include a Test Schedule that is made
up of at least one Test Set.’ There must be at least one Test Schedule as it is the
Test Schedules that ultimately own all of the Test Set and hence Test Cases.
● ‘TP8: One or more Test Schedule Behaviour Viewpoint must satisfy the
Testing Context.’ The overall Test Schedule Behaviours must satisfy the
complete set of Testing Needs in the Testing Context.
● ‘TP9: One or more Test Set Behaviour Viewpoint must satisfy the Testing
Context as a whole.’ The overall Test Ste Behaviours must satisfy the Testing
Needs in the Testing Context. The Rule is related to the previous Rule, TP8.
● ‘TP10: Each Test Set that appears on a Test Structure Viewpoint must appear
as a life line on a Test Behaviour Viewpoint.’ This Rule enforces consistency
between the Test Structure Views and the Test Behaviour Views by ensuring
that the Test Behaviours that are executed are based on Test Sets.
● ‘TP11: Each Test Set that appears on a Test Structure Viewpoint must have at
least one Test Case.’ Test Sets are not permitted to be empty – they must
contain at least one Test Case.
● ‘TP12: Every Test Case that appears on a Test Structure Viewpoint must
appear on at least one Test Behaviour Viewpoint.’ All Test Cases must be
executed at some point during the testing activity otherwise it is redundant and
should not appear.
● ‘TP13: Each Test Set must satisfy at least one Testing Need from the Testing
Context.’ This is a lower-level coverage check that ensures that all Test Sets
ultimately relate back to a Testing Need.
● ‘TP14: Each Test Case Viewpoint must satisfy one or more Testing Need from
the Testing Context Viewpoint.’ This is a lower-level coverage check that
ensures that all Test Set Case satisfies at least one Testing Need.
● ‘TP15: Each Test Case that appears on a Test Structure Viewpoint must have at
least one Test Behaviour Viewpoint.’ All Test Cases must have their behaviour
defined.
● ‘TP16: At least one Test Behaviour Viewpoint must exist for each Test Con-
figuration Viewpoint.’ All Test Configurations must form the basis of some
testing via the Test Behaviour Views otherwise they are redundant.
Note that the 16 Rules shown in Figure 6.4 are the minimum that are needed. Others
could be added if required.
VCV [Package] Testing Context Viewpoint (TCVp) [Viewpoint Context View showing Testing Context Viewpoint aims]
«concern»
Define testing «concern»
context Identify verification
«include» «concern» needs
«include»
Identify testing
needs
«include»
«include»
«include» «concern»
«stakeholder role» «concern» Identify validation
Required System Identify required «include» «include» needs
Systems
«concern» «concern»
Identify sources «concern» Identify testing
Identify system types and
level techniques
«stakeholder role»
Standard «concern»
... standards
«concern»
... requirements
«stakeholder role»
Requirements Model
Figure 6.5 Viewpoint Context View showing Testing Context Viewpoint aims
● Any ‘Required System’ outside the boundary that is necessary to complete the
testing activity. This may include a number of elements, such as the
‘Requirements Model’ that may be necessary for validation, one or more
‘Standard’ that may be required for quality-based testing, specific test data
sets, any testing tools needed, etc.
This Viewpoint really drives the whole of the testing activity and will have Rules
defined that can be applied to ensure consistency within the Testing Framework.
This Viewpoint can also be used to create a library of testing Use Cases and
then to show how these Use Cases may be satisfied. This will be particularly useful
for specific testing types, for example, equivalence class partition testing may be
realised using a particular set of Views which may then be used as a basis for
generating automated tests.
6.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 6.6 shows the Ontology Elements
that appear on a Testing Context Viewpoint.
Figure 6.6 shows the Ontology for the Testing Context Viewpoint.
Test Pattern 87
VDV [Package] Description [Viewpoint Definition Viewpoint for Testing Context Viewpoint]
«viewpoint»
Testing Context Viewpoint
1..* 1..*
requires
«ontology element» «ontology element»
Testing Need Required System
1 1..*
«ontology element»
Testing Boundary
Figure 6.6 Viewpoint Definition View showing the Ontology Elements that
appear on the Testing Context Viewpoint (TCVp)
Testing context
«capability»
... at unit level
«capability»
«capability»
Apply at all ...at integration
«goal» levels level
Test system
«constrain»
«stakeholder role» «include»
Testable Element
«capability»
...at system level
«capability»
«include» Verify system
«include» «capability»
...at enterprise
level
«include» «capability»
«capability» Perform QA
Validate syetm testing
«capability»
«stakeholder role»
Requirements «include» «include» Perform functional
testing «stakeholder role»
Model
Standard
«capability» «capability»
Satisfy all use Satisfy all
cases contexts
● Any ‘Required System’ outside the boundary that is necessary to complete the
testing activity. This may include a number of elements, such as the
‘Requirements Model’ that may be necessary for validation, one or more
‘Standard’ that may be required for quality-based testing, specific test data
sets, any testing tools needed, etc. Each Required System is represent by an
actor on the use case diagram.
On top of these elements there will also be a number of relationships between the
different elements, such as:
● Relationships between the use cases, typically the standard SysML depen-
dency-based relations (include, extend, constrain, etc.)
● Relationships between the use cases and the external actors, using the standard
SysML associations.
In this example, the main aim of the Testing Context is to ‘Test System’ which has
two inclusions:
● ‘Validate system’ which in this case is further specified by stating that in order
to validate the system, there are two aims, which re to ‘Satisfy all use cases’
and to ‘Satisfy all contexts’.
Test Pattern 89
● ‘Verify system’ which in this example has two specific types of testing which
are ‘Perform functional testing’ and to ‘Perform QA testing’. This aim is fur-
ther qualified by stating that the verification should ‘Apply at all levels’ which
are to apply: ‘ . . . at unit level’, ‘ . . . at integration level’, ‘ . . . at system level’
and ‘ . . . at enterprise level’.
This View really drives the whole of the testing activity and will have rules defined
that can be applied to ensure consistency within the Testing Pattern.
«capability»
Satisfy 100% of
‘essential’ use cases
«constrain»
«capability» «capability»
Satisfy all use cases Satisfy 75% of
«constrain» ‘desireable’ use cases
«constrain»
«capability»
Satisfy 50% of
‘optional’ use cases
Figure 6.8 shows how one of the use cases from the Testing Context View has
been expanded to show more detail. In this example, the ‘Satisfy all use cases’ use
case has been broken down into three lower-level use cases that describe more-
specific testing criteria associated with the use cases.
90 Foundations for Model-based Systems Engineering
VCV [Package] Test Set-up Viewpoint (TSVp) [Viewpoint Context View showing Test Set-up Viewpoint aims]
«concern»
«concern»
Define test
Define «include» structure
test set up
«stakeholder role»
Testing Context «include» «include»
«include» «concern»
«concern»
Define schedule Define test
behaviour schedule
«concern»
Define test set «include»
behaviour «constrain»
«include»
«concern»
Identify test sets «concern»
«include»
Identify
«constrain» dependencies
«concern»
Identify
test cases
Figure 6.9 Viewpoint Context View showing Test Set-up Viewpoint aims
6.3.4.1 Description
The VDV in Figure 6.10 shows the Ontology Elements that appear on a Test Set-up
Viewpoint.
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on the Test
Set-up Viewpoint (ABCVp)]
«Viewpoint»
Test Set-up Viewpoint
«ontology element»
Test Schedule
1..*
«ontology element»
Test Set 2..*
{ordered}
1..*
«ontology element»
Test Case 1..*
{ordered}
Figure 6.10 Viewpoint Definition View showing the Ontology Elements that
appear on the Test Set-up Viewpoint
In Figure 6.10 it can be seen that this View has three types – the ‘Test Structure
Viewpoint’, the ‘Test Schedule Behaviour Viewpoint’ and the ‘Test Set Behaviour
Viewpoint’.
● The ‘Test Structure Viewpoint’ represents the whole of the testing in its
entirety and defines the ‘Test Schedule’. Each ‘Test Schedule’ that is identified
92 Foundations for Model-based Systems Engineering
bdd [Package] Test Structure View [TSV – Example Test Structure View]
«block»
Overall Test Schedule
«block» «block»
Validation Test Set Verification Test Set
The ‘Test Structure View’ will be visualised in SysML using a block definition
diagram showing:
● The ‘Test Schedule’, represented as a SysML block stereotyped by «Test
Schedule», and that is made up of a number of ‘Test Set’.
Test Pattern 93
● One or more ‘Test Set’, represented as SysML blocks that are stereotyped by
«Test Set» and that are aggregated into the ‘Test Schedule’.
● One or more ‘Test Case’, represented as SysML operations that are stereotyped
by «Test Case».
Dependencies between Test Sets can also be used to show where one Test Set may
depend on the successful execution of another Test Set.
The example here shows that the ‘Overall Test Schedule’ is made up of two
Test Sets, which are:
● ‘Validation Test Set’ which has two Test Cases that are represented by the
operations on the block and that are: ‘context coverage’ and ‘use case coverage’.
● ‘Verification Test Set’ which has two Test Cases that are represented by the
operations on the block and that are: ‘functional test’ and ‘QA test’.
The dependency shown here represents the fact that the ‘Verification Test Set’
cannot be carried out without the ‘Validation Test Set’ having been carried out.
«block» «block»
Verification Test Set Validation Test Set
start verification()
start validation()
Figure 6.12 shows an example of a Test Schedule Behaviour View. The dia-
gram shows the order of execution of a number of Test Sets.
The ‘Test Schedule Behaviour Viewpoint’ may be represented in SysML as a
sequence diagram where each ‘Test Set’ is visualised using a life line, and the
94 Foundations for Model-based Systems Engineering
ordering between them is shown using messages. In order to show the different
paths of execution, then combined fragments may be necessary.
As each ‘Test Schedule Behaviour Viewpoint’ defines a scenario, it is possible
to define a number of these Views (for example showing what happens when all
test sets are passed, or when some fail).
6.3.4.4 Example Test Set Behaviour Viewpoint
An example View that conforms to the Test Behaviour Viewpoint is shown in
Figure 6.13.
stm [StateMachine] TSBV – Verification Test Set [TSBV – Verification Test S...
functional testing
do / functional test
[test failed]
[test passed]
quality testing
do / QA test
Figure 6.13 shows an example of a Test Set Behaviour View. This View shows
what happens inside each Test Set when it is executed in terms of the order that
Test Cases are executed and any conditions that may apply.
The behaviour of each Test Set is represented in SysML using a state machine
diagram and each Test Case is shown as an activity within a state.
The example here shows the order that the Test Cases must be executed in. In
this case the ‘functional test’ Test Case is executed first and only upon its suc-
cessful completion is the ‘QA test’ executed. In the event that the test fails, then the
testing is halted and does not continue. This also explains the dependency in
Figure 6.11.
VCV [Package] Test Case Viewpoint (TCVp) [Viewpoint Context View showing Test Case Viewpoint aims]
«concern»
Define test cases
«include» «concern»
Record test results
«include»
«include»
«stakeholder role» «constrain»
Test Schedule
«concern» «concern»
Define test Define test behaviour
configuration
«include» «include»
«concern» «concern»
Identify testable Identify connections
elements
Figure 6.14 Viewpoint Context View showing Test Case Viewpoint aims
96 Foundations for Model-based Systems Engineering
Figure 6.14 shows the Context for the Test Case Viewpoint.
The main aims of this Viewpoint are to ‘Define test cases’, which include:
● ‘Define Test Configuration’ that allows the Test Cases to be set up and that
includes identifying the Testable Elements that will be the subject of the tests
(‘Identify testable elements’) and the relationships between them (‘Identify
connections’).
● ‘Define test behaviour’, where the behaviour for each Test Case is defined and
that must exist in order for the Test Results to be captured.
● ‘Record test results’, where the information captured during the execution of
the Test Cases is recorded.
6.3.5.1 Description
The VDV in Figure 6.15 shows the Ontology Elements that appear on a Test Case
Viewpoint.
Figure 6.15 shows the ‘Test Configuration Viewpoint’ that identifies the part
of the model that is under test – the ‘Element Under Test’.
The ‘Test Behaviour Viewpoint’ defines the behaviours for the ‘Test
Configuration’.
The ‘Test Record View’ will not be considered in great detail here, as it uses
the same visualisation as the ‘Test Behaviour View’.
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on the Test Case Viewpoint (...
«Viewpoint»
Test Case Viewpoint
1 1..*
1..*
defines configuration of
1..*
«ontology element»
Testable Element
«ontology element»
Element Under Test
Figure 6.15 Viewpoint Definition View showing the Ontology Elements that
appear on the Test Case Viewpoint
● Activity diagrams. Used for detailed testing, such as unit testing, functional;
testing, process-based testing.
● Parametric diagrams. Used for defining mathematical-based scenarios for
testing at any level.
98 Foundations for Model-based Systems Engineering
«block»
Stakeholder Role
«block» «block»
Safety Officer Escapologist
«block»
Stunt Process
get in coffin()
close lid()
check()
begin()
whip up audience()
start()
start escape()
escape()
encourage applause()
Figure 6.18 shows an example of a Test Case Behaviour View where a sequence
diagram is used to show the interactions between Stakeholder Roles in the execu-
tion of a specific Test Case.
In the example shown here, the Scenario focuses on the interactions between
the various Stakeholder Roles and the order of these interactions. So in order to
perform this Test Case, the first thing that happens is that the ‘Escapologist’ has a
self-interaction which is to ‘get in coffin’. The next thing that happens is that the
‘Assistant’ closes the lid, and so on.
It is possible to use this View to capture not only what constitutes a successful
Test Case but also how the System must be tested to respond to some sort of
problem, as shown in the next example.
Figure 6.19 shows another example Test Case Behaviour View but, this time,
the Test Case reflects what must happen when a problem occurs during the
execution of the System.
100 Foundations for Model-based Systems Engineering
begin stunt()
par
start escape()
monitor()
time out()
emergency()
The example here shows how the Processes from Figure 6.17 are executed and,
therefore, how they must be tested. In this case the ‘Set up’ Processes is executed
and then the ‘Start’ Process is executed which simultaneously sends out two mes-
sages ‘start escape’ to the ‘Escape’ Process and ‘monitor’ to the ‘Monitor’ Process.
In this example, the ‘Monitor’ Process detects a ‘time out’ and invokes the
‘Emergency’ Process.
get in coffin()
close lid()
check()
start()
start escape()
escape()
encourage applause()
Figure 6.20 Example Test Record View for a successful Test Case execution
get in coffin()
close lid()
check()
begin()
whip up audience()
start()
Figure 6.21 Example Test Record View for unsuccessful Test Case execution
102 Foundations for Model-based Systems Engineering
6.4 Summary
The Testing Pattern provides a template for testing that can be applied to almost
any aspect of a System Model.
This Pattern may also be used as a basis for automating the tests using model-
based testing techniques using an MBSE tool.
This Pattern also lends itself to non-SysML modelling such as the use of formal
methods and simulation techniques.
Further readings
7.1 Introduction
Measurement is a key aspect of any modelling endeavour. In order to manage and
control the model it is essential that we can reason about it and, in order to reason
about the model we need to be able to measure in a qualitative way, quantitative
way or, more practically, both.
The Epoch Pattern allows measurements and metrics to be defined and applied
to the model at specific points during the evolution of the model’s life. These
specific points in time are defined as Epochs and the reasoning is enabled by
Measures and Metrics.
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Test Pattern aims]
«concern»
«concern»
Ensure model
Understand «concern»
exists
evolution Define epoch
«concern»
«concern» Present results
Apply metrics
Figure 7.1 Architectural Framework Context View showing Epoch Pattern aims
to the modeller (‘Present results’) and then the model must be allowed to be
updated or augmented based on these results (‘Augment model’). There is a
constraint that is applied to the ‘Measure model’ use case which is that auto-
mation of the application of the Metrics must be possible (‘Ensure automation
is possible’).
This context drives the Epoch Pattern.
7.2 Concepts
The main concepts covered by the Epoch Pattern are shown in the Ontology
Definition View (ODV) in Figure 7.2.
The Ontology for the Epoch pattern is shown in Figure 7.2 and describes the
concepts and terminology, as follows:
● ‘Epoch’ that defines a point during the Life Cycle of the Project or System that
will form a reference point for Project activities. An Epoch will apply to a
specific baseline of the System Model, but not all baselines will be an Epoch.
Epochs may be evolved from other Epochs, and may evolve into other Epochs.
Epoch Pattern 105
ODV [Package] Concepts [Ontology Definition View showing Epoch Pattern concepts]
1..* 1..*
«ontology element» «ontology element» «ontology element»
Node Path 1..* Equation 1..*
1..* 1
connects
1..* 1..*
«ontology element» uses «ontology element»
Equation Definition 1..* 1 Parameter
● ‘Applicable Viewset’ that is a subset of the ‘System Model’ and comprises one
or more ‘View’. These Views that make up the Epoch will be visualised by one
or more ‘Diagram’.
● ‘System Model’ is the abstraction of a specific System that evolves during the
Life Cycle of the Project or System.
● ‘View’ is a defined set of information (based on a Viewpoint) with a standard
structure that may be realised with one or more ‘Diagram’. The Views make up
the ‘System Model’.
● ‘Diagram’ that is a visualisation of a ‘View’ and that uses a particular notation,
in the case of this book, the language will be SysML.
● ‘Node’ is any graphical node (typically a shape) that forms part of the mod-
elling language that is used in a Diagram.
106 Foundations for Model-based Systems Engineering
● ‘Path’ is any graphical path (typically a line) that forms part of the modelling
language that is used in a Diagram.
● ‘Measure’ that is an operation performed on a ‘Diagram’ that yields a result,
such as a counting of blocks on a block definition diagram, counting interac-
tions on a sequence diagram, etc. Measures are often not shown explicitly as
they rely on simple counting, rather than any complex mathematical formula.
● ‘Metric’ that uses one or more ‘Measure’ in order to provide meaningful
knowledge about a System Model, for example a Metric may calculate cou-
pling, cohesion, etc.
● ‘Equation’ that forms the definition of both the ‘Metric’ and the ‘Measure’ and
comprises an ‘Equation Definition’ (for example a mathematical formula) and
its set of one or more ‘Parameter’.
The Ontology Elements defined on Ontology Definition View form the basis for all
of the Viewpoints that are defined as part of the Epoch Pattern.
7.3 Viewpoints
This section describes the Viewpoints that make up the Epoch Pattern. It begins
with an overview of the Viewpoints, defines Rules that apply to the Pattern and
then defines each Viewpoint.
7.3.1 Overview
The Epoch Pattern defines a number of Viewpoints as shown in the Viewpoint
Relationship View (VRV) in Figure 7.3.
bdd [Package] Overview [Viewpoint Relationship View showing Epoch Pattern Viewpoints]
«viewpoint» «viewpoint»
is defined for
Applicable Viewset Epoch Definition
Viewpoint 1 1 Viewpoint
1..*
«viewpoint» «viewpoint»
defines application of
Metric Definition Metric Usage
Viewpoint 1 1 Viewpoint
The Epoch Pattern defines four Viewpoints that are described as follows:
● The ‘Epoch Definition Viewpoint’ that identifies and describes the Epoch that
is being defined.
● The ‘Applicable Viewset Viewpoint’ that identifies the subset of the System
Model that is relevant to the Epoch being defined.
● The ‘Metric Definition Viewpoint’ where all of the Metrics and Measures are
defined.
● The ‘Metric Usage Viewpoint’ that shows how the Metrics and Measures
(defined in the Metric Definition Views) are applied to the Applicable Viewset
(defined in the Applicable Viewset Views).
Each of these Viewpoints is described in more detail in the following sections. For
each Viewpoint an example is also given.
7.3.2 Rules
Six rules apply to the four Epoch Viewpoints, as shown in the Rules Definition
View (RDV) in Figure 7.4.
RDV [Package] Rules [Rules Definition View showing Epoch Pattern Rules]
«Rule» «Rule»
Rule EP1 Rule EP2
notes notes
The System Model must exist The System Model must have a
pre-defined set of Viewpoints
that form the basis for the
Applicable Viewset
Note that the five Rules shown in Figure 7.4 are the minimum that are needed,
and are described at a high level as follows:
● ‘Rule EP1’ – ‘The System Model must exist.’ This Rules enforces the funda-
mental assumption that a System Model must exist as all of the Measure and
108 Foundations for Model-based Systems Engineering
Metrics that are used as part of the Epoch Pattern are applied to the System
Model. Therefore, if there is no System Model, then the Measure and Metrics
cannot be applied.
● ‘Rule EP2’ – ‘The System Model must have a pre-defined set of Viewpoints
that form the basis for the Applicable Viewset.’ This Rule follows on from EP1
as, not only must a model exist, but it must be structured into a set of View-
points that describe its Views. It is these Viewpoints and Views that are used to
identify the Applicable Viewset.
● ‘Rule EP3’ – ‘All Measures and Metrics that are defined must relate to the
Diagrams that are used to visualise Views in the Applicable Viewset.’ This
Rule follows on from EP1 and EP2 and states that the Measures and Metrics
that are defined must be applied to Diagrams that exist in the Applicable
Viewset.
● ‘Rule EP4’ – ‘The value for each parameter on each Measure must be taken
directly from a Diagram, Node or Path.’ This Rule follows on from EP3 and
enforces the fact that each parameter for a Measure must be taken directly from
a Diagram, Node or Path. When combined with Rule EP3, it ensures that the
Measures are valid according to the Diagrams, Nodes or Paths, and that these
themselves are taken directly from the Applicable Viewset.
● ‘Rule EP5’ – ‘The value for each parameter on each Metric must be taken
directly from a Measure, Diagram, Node or Path.’ This Rule is similar to EP4
except here it is the Metrics that are being enforced. In the case of Metrics,
their parameters must be taken directly from a Diagram, Node or Path, but may
also be taken from a Measure.
Note that the five rules shown in Figure 7.4 are the minimum that are needed.
Others could be added if required.
VCV [Package] Epoch Definition Viewpoint (EDV) [Viewpoint Context View showing Epoch Definition Viewpoint aims]
«concern»
Support evolution of
system over time
«include» «concern»
Identify epoch
«include»
«concern»
Define epoch
«include»
«stakeholder role» «concern»
«include» Define epoch
Epoch
characteristics
«concern»
Define relationships
to other epochs
Figure 7.5 Viewpoint Context View showing Epoch Definition Viewpoint aims
The elements that are relevant for the Epoch Definition Viewpoint are shown in the
next section.
7.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 7.6 shows the Ontology Elements
that appear on an Epoch Definition Viewpoint.
Figure 7.6 shows the elements from the Ontology that are relevant to the Epoch
Definition Viewpoint. The Epoch Definition Viewpoint shows the Epoch being
defined with its property values filled in and the relationships between them.
An Epoch may be related to other Epochs in two ways:
● By evolving from another Epoch, where there is an existing Epoch.
● By evolving into another Epoch, where there will be a future Epoch.
Each Epoch is described by three properties, which are:
● ‘Baseline’ the version number for the Baseline that the Epoch represents.
● ‘Date’ the date at which the Epoch was created.
● ‘Model Reference’ that refers to a specific artefact in the System model.
The number of properties defined for each Epoch is not limited to the three listed
here, but these should be taken as a minimum set.
110 Foundations for Model-based Systems Engineering
«viewpoint»
Epoch Definition
Viewpoint
1..*
«ontology element»
Epoch
properties 0..*
1
Baseline : Baseline
Date : Date
Model reference : Model Reference
evolves from evolves into
0..* 1
Figure 7.6 Viewpoint Definition View showing the elements that appear on the
Epoch Definition Viewpoint (EDVp)
7.3.3.2 Example
An example View that conforms to the Epoch Definition Viewpoint is shown in
Figure 7.7.
The Epoch Definition View in Figure 7.7, realised as a block definition dia-
gram, shows two instance specifications of Epoch, ‘Epoch 1’ and ‘Epoch 2’ that are
connected together by the link.
Epoch 1 Epoch 2
In the example shown here, two Epochs have been identified: ‘Epoch 1’ and
‘Epoch 2’.
Any number of Epochs may be shown using this Viewpoint, ranging from a
single Epoch to a string of Epochs that are sequenced together. It should also be
noted that the Epochs need not be connected in a linear fashion, it is also possible to
have branches to show divergence in the evolution of the System Model.
VCV [Package] Applicable Viewset Viewpoint (AVV) [Viewpoint Context View showing Applicable Viewset Viewpoint aims]
«concern»
Support evolution of «concern»
system over time Limit to existing
views
«include»
«stakeholder role» «constrain»
System Model «concern»
Identify key
viewpoints
«concern» «concern»
Identify key views Identify relevant
viewpoints
«concern»
Identify context
Figure 7.8 Viewpoint Context View showing Applicable Viewset Viewpoint aims
Figure 7.8 shows that the main aim of the Applicable Viewset Viewpoint is to
‘Support the evolution of system over time’ which includes ‘Identify key view-
points’, which has three types associated with it:
● ‘Identify relevant viewpoint’, that requires the subset of the System Model that
is relevant for the Epoch being defined to be identified.
● ‘Identify context’, where the Context refers to the Context of the Viewpoints
that have been identified (hence the constraint between the two use cases). This
is important as it is possible that the Context for those Viewpoints has evolved
as time has gone on and, hence, this evolution must be captured.
112 Foundations for Model-based Systems Engineering
● ‘Identify key views’, where these Views will be the specific instances of the
Viewpoints that have been identified.
There is also a constraint, ‘Limit to existing views’ that really enforces Rules ‘Rule
EP1’ and ‘Rule EP2’ from Figure 7.4.
7.3.4.1 Description
The VDV in Figure 7.9 shows the Ontology Elements that appear on an Applicable
Viewset Viewpoint.
«Viewpoint»
Applicable Viewset
Viewpoint
applies to
«ontology element»
Epoch
Figure 7.9 Viewpoint Definition View showing the elements that appear on the
Applicable Viewset Viewpoint (AVVp)
IV [Package] Interface
Identification
View [Coffin Escape]
1..* 1..*
VCV [Package] Metric Definition Viewpoint (MDV) [Viewpoint Context View showing Metric Definition Viewpoint aims]
«concern» «concern»
Ensure Support evolution
automation of system over
is possible time
«stakeholder role»
Tool «constrain» «include»
«concern»
Measure model
{incomplete}
«concern»
... for structural
«concern»
diagrams
... for coupling
«concern»
«concern»
... for behavioural
... for cohesion
diagrams
Figure 7.11 Viewpoint Context View showing Metric Definition Viewpoint aims
Figure 7.11 shows that the main aim of the Metric Definition Viewpoint is to
‘Support evolution of system over time’ which includes ‘Measure model’, which
includes ‘Define general Metrics’ that has four types:
● ‘ . . . for coupling’ that is a generalisation relating to complexity. This requires
that general Metrics are defined that measure and calculate some aspect of the
complexity between Nodes.
● ‘ . . . for cohesion’ that is a generalisation relating to complexity. This requires
that general Metrics are defined that measure and calculate some aspect of the
complexity inside a Node.
Epoch Pattern 115
7.3.5.1 Description
The VDV in Figure 7.12 shows the Ontology Elements that appear on a Metric
Definition Viewpoint.
«Viewpoint»
Metric Definition
Viewpoint
0..* 0..*
«ontology element»
1..* Equation 1..*
1..* 1..*
Figure 7.12 Viewpoint Definition View showing the elements that appear on the
Metric Definition Viewpoint (MDVp)
116 Foundations for Model-based Systems Engineering
Figure 7.12 shows the Metric Definition Viewpoint defines the Measures and
the Metrics associated with them. Each Measure and Metric is defined here in terms
of its Equations and associated Equation Definitions and Parameters.
Both the Measures and Metrics are described in the same way, buy using
Equation. Each Equation is made up of a number of Equation Definitions that use a
number of Parameters.
7.3.5.2 Example
An example View that conforms to the Metric Definition Viewpoint is shown in
Figure 7.13.
«constraint» «constraint»
Coupling Average IO Metric
constraint properties constraint properties
{Coupling = SUM OF (Zi .. Zn)/n} {Z = SUM OF (Mj .. Mn)/m}
parameters parameters
n : Integer m : Integer
Coupling : Real M : Integer
z : Real Z : Real
«constraint» «constraint»
Behavioural Cohesion Metric Structural Cohesion Metric
constraint properties constraint properties
{V = e – n + p} {SC = SUMOF (Oi .. On)/n}
parameters parameters
e : Integer n : Integer
n : Integer O : Integer
p : Integer SC : Real
V : Integer
The Metric Definition View in Figure 7.13, realised as a SysML block defini-
tion diagram. This View is used to show Measures and Metrics, both of which are
visualised using SysML constraint blocks. The constraint block has three com-
partments that are used as follows:
– Constraint block name – this is the name of the Measure or Metric.
– ‘constraint properties’ compartment, where the Equation Definition that
represents the Measure or Metric is defined.
Epoch Pattern 117
– ‘parameters’ compartment, where the Parameters that are used by the Equation
Definition are defined according to their type and multiplicity.
Figure 7.13 shows four Metrics that are relevant to the Epoch used in this example.
These Metrics are defined as follows.
– ‘Coupling’, that calculates the coupling between different nodes on a single
diagram, and that uses the ‘Average IO Metric’ (Cruickshank and Gaff-
ney,1980). The equation for this Metric is:
{Coupling = SUMOF (Zi . . . Zn)/n}, where:
Z is the average number of inputs and outputs for the node i
i is the count of the nodes on the diagram
n is the total number of nodes on the diagram.
– ‘Average IO Metric’, that calculates the average number of inputs and outputs
shared over m nodes. The equation for the Metric is:
{Z= SUMOF (Mj . . . Mn)/m}, where:
M is the sum of the inputs and outputs shared by nodes j and i
m is the total number of nodes to which i is joined.
– ‘Structural Cohesion Metric’, that calculates the average number of operations
per block in a diagram (Lorenz and Kidd, 1994). The equation for the Metric is:
{SC = SUMOF (Oi . . . On)/n}, where:
O is the number of operations in a single block
n is the number of blocks.
– ‘Behavioural Cohesion Metric’, that calculates the complexity of a behavioural
diagram by calculating the possible number of paths through its decision
structure (McCabe, 1976). The equation for the Metric is:
{V = e – n + p}, where:
e is the number of nodes
n is the number of paths
p is the number of start and end points.
The Metrics that are defined here are used purely as an example of how established
techniques may be applied to the Applicable Viewset for a specific Epoch. These
Metrics were traditionally applied at the code level in software engineering in the
original references, but have been tailored to be able to be applied at the model
level – see Tugwell (2001) for more information.
In the example shown here there are no explicit Measures being defined, as
these Measures are simple counts on the diagram. For example, the ‘Behavioural
Cohesion Metric’ defined here is using some simple counts that look at a diagram
and identify how many nodes exist. These simple counts are the Measures.
118 Foundations for Model-based Systems Engineering
VCV [Package] Metric Usage Viewpoint (MUV) [Viewpoint Context View showing Metric Usage Viewpoint aims]
«concern»
Support evolution of
system over time
«include»
«concern»
Measure model
«include»
«constrain»
«stakeholder role»
Tool «concern»
«concern»
Ensure automation is
Apply metrics
possible
Figure 7.14 Viewpoint Context View showing Metric Usage Viewpoint aims
Figure 7.14 shows that the main aim of the Metric Usage Viewpoint is to
‘Support evolution of system over time’ which includes ‘Measure model’, which
includes being able to apply the Metrics to the System Model (‘Apply Metrics’).
There is a general constraint that requires that any Metrics developed must be
able to be automated (‘Ensure automation is possible’).
7.3.6.1 Description
The VDV in Figure 7.15 shows the Ontology Elements that appear on a Metric
Usage Viewpoint.
The Metric Usage Viewpoint in Figure 7.15 shows how the Measures and
Metrics are applied to the System Model via the Diagrams.
The Diagrams that the Measures and, hence, Metrics are applied to must have
already been identified as part of the Applicable Viewset View.
Epoch Pattern 119
«Viewpoint»
Metric Usage Viewpoint
Figure 7.15 Viewpoint Definition View showing the elements that appear
on the Metric Usage Viewpoint (MUVp)
7.3.6.2 Example
Example Views that conform to the Metric Usage Viewpoint are shown in
Table 7.1.
The Metric Usage View is realised as simple table as shown in Table 7.1. The
table relates the Metrics and Measures that were defined in the Metrics Definition
View to the relevant Views in the Applicable Viewset View.
Measure/Metric Applied to
Coupling (using Average IO Metric) IIV [Package] Interface Identification View [Coffin Escape]
ICV [Package] Interface Identification View [Coffin Escape]
IDV [Package] Interface Definition View [Pump to Hole]
IDV [Package] Interface Definition View [Controller to Pump]
IDV [Package] Interface Definition View [Concrete to Coffin]
Structural Cohesion Metric IIV [Package] Interface Identification View [Coffin Escape]
ICV [Package] Interface Identification View [Coffin Escape]
IDV [Package] Interface Definition View [Pump to Hole]
IDV [Package] Interface Definition View [Controller to Pump]
IDV [Package] Interface Definition View [Concrete to Coffin]
Behaviour Cohesion Metric IBV [Package] Interface Behaviour View [Pump to Hole, normal operation]
IBV [Package] Interface Behaviour View [Pump to Hole, no concrete operation]
IBV [Package] Interface Behaviour View [Pump to Hole, switch fault operation]
PDV [Package] Protocol Definition View [Controller to Pump Protocol]
120 Foundations for Model-based Systems Engineering
7.4 Summary
This section has introduced and defined the set of Viewpoints that that make up the
Epoch Pattern.
The Epoch Pattern allows modellers to define a set of Measures and Metrics
that may then be applied to a Model, or sub-set of a Model.
It should be noted that the Epoch Pattern provides a mechanism that allows
modellers to define Measures and Metrics, but the pattern itself does not define any
Metrics or Measures. The pattern itself is purely definitional in nature. An example
set of Metrics is shown here based on previous work on applying Metrics and
Measures to Models.
References
Cruickshank, R.D. and Gaffney, J.E., Jr., Software Design Coupling and Strength
Metrics. Greenbelt, Maryland: NASA, Goddard Space Flight Centre; 1980.
Lorenz, M. and Kidd, J. Object-Oriented Software Metrics. Prentice Hall,
New Jersey, USA, 1994.
McCabe T. ‘A Complexity Measure’’, IEEE Transactions on Software Engineer-
ing, Vol. SE2, No. 4, pp. 308–320, 1976.
Tugwell, G.C. ‘Metrics for Full Systems Engineering Lifecycle Activities
(MeFuSELA)’. PhD Thesis, University of Wales Swansea, 2001.
Further reading
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Chapter 8
Life Cycle Pattern
8.1 Introduction
All systems that are developed pass through a number of Life Cycles. The nature of
the various Life Cycles that a system goes through are often misunderstood. There
are many different types of Life Cycle that exist, including, but not limited to:
● Project Life Cycles. Project Life Cycles are perhaps, along with Product Life
Cycles, one of the most obvious examples of applications of Life Cycles. We
tend to have rigid definitions of the terminal conditions of a project, such as
start and end dates, time scales, budgets and resources and so a Project Life
Cycle is one that many people will be able to identify with.
● Product Life Cycles. Another commonly considered Life Cycle is that of the
product (system) itself. It is relatively simple to visualise the conception,
development, production, use, support and disposal of a product.
● Programme Life Cycles. Most projects will exist in some sort of higher-level
programme. Each of the programmes will also have its own Life Cycle which
will have some constraints on the Life Cycles of all projects that are contained
within it.
● System Procurement Life Cycles. Some systems may have a procurement Life
Cycle that applies to them. From a business point of view, this may be a better
way to view a product, or set of products, than looking at the Product Life
Cycle alone.
● Technology Life Cycles. Any technology will have a Life Cycle. For example,
in the past, the accepted norm for removable storage was magnetic tapes. This
was then succeeded by magnetic discs, then optical discs, then solid-state
devices and then virtual storage. Each of these technologies has its own Life
Cycle.
● Equipment Life Cycles. Each and every piece of equipment will have its own
Life Cycle. This may start before the equipment is actually acquired and may
end when the equipment has been safely retired. Stages of the equipment Life
Cycle may describe its current condition, such as whether the equipment is in
use, working well, degrading and so on.
● Business Life Cycles. The business that acquires, engineers, project manages or
uses a system will have a Life Cycle. In some cases, the main driver of the
122 Foundations for Model-based Systems Engineering
business may be to remain in business for several years and then to sell it
on. Stages of the Life Cycle may include expansion or growth, steady states,
controlled degradation and so on.
These different types of Life Cycle not only exist, but often interact in complex
ways. Also, each of these Life Cycles will control the way that processes are
executed during each stage in the Life Cycle. The Life Cycle Pattern is intended to
allow the definition, behaviour and interaction of the various Life Cycles of a
system to be defined and understood
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Life Cycle pattern aims]
«concern»
Apply to any type
of life cycle «concern»
«concern» Apply to project
«constrain»
Understand system life cycles
«stakeholder role»
life cycles
Systems Engineer
«include» «include»
«concern»
Understand
interactions between
life cycles
Figure 8.1 Architectural Framework Context View showing Life Cycle Pattern aims
Life Cycle Pattern 123
The key aim of the Life Cycle Pattern is to allow a ‘Systems Engineer’ and a
‘Systems Engineering Manager’ to ‘Understand system life cycles’. This key aim is
constrained by the need to ‘Apply to any type of life cycle’, including (but not
limited to):
● Project Life Cycles (‘Apply to project life cycles’)
● Product Life Cycles (‘Apply to product life cycles’)
● Procurement Life Cycles (‘Apply to procurement life cycles’).
The main need to ‘Understand system life cycles’ includes the need to understand a
life cycle in term of its structure (‘Understand lifecycle structure’) and its behaviour
(‘Understand life cycle behaviour’). Both of these include the need to ‘Understand
interactions between life cycles’, allowing multiple Life Cycles for a System to be
related one to another.
8.2 Concepts
The main concepts covered by the Life Cycle Pattern are shown in the Ontology
Definition View (ODV) in Figure 8.2.
ODV [Package] Concepts [Ontology Definition View showing Life Cycle Pattern concepts]
«ontology element»
describes interactions between «ontology element»
Life Cycle
Interaction Point 1 1 Life Cycle Interaction
1 0..*
1..* 1..* 1
shows order of execution of
describes evolution of
1..*
«ontology element»
«ontology element» «ontology element»
Process Execution
Stage 1..* Gate
Group
1 1..* 1..* 1..*
The main concept is that of a ‘Life Cycle’, a set of one or more ‘Stage’ that can
be used to describe the evolution of System over time Each ‘Stage’ represents a
period within a ‘Life Cycle’ that relates to its realisation through one or more
‘Process Execution Group’ (see discussion below). The success of a ‘Stage’ is
assessed by one or more ‘Gate’, a mechanism for assessing the success or failure of
the execution of a ‘Stage’. These Ontology Elements allow the structural aspects of
a Life Cycle to be captured.
The behavioural aspects are represented by the concept of a ‘Life Cycle
Model’ which represents the ordered execution of a set of one or more ‘Stage’,
showing the behaviour of a ‘Life Cycle’.
It is important to understand the difference between a Life Cycle and a Life
Cycle Model:
● A Life Cycle is a structural construct that shows the Stages that make up a Life
Cycle.
● A Life Cycle Model is a behavioural construct that shows how the Stages
behave within the execution of a Life Cycle.
A ‘Life Cycle’ may interface with others. This is done through a ‘Life Cycle Inter-
action Point’. Each corresponding ‘Life Cycle Model’ will then interact with others
through a ‘Life Cycle Interaction’, the point during a ‘Life Cycle Model’ at which
they interact, reflected in the way that one or more ‘Stage’ interact with each other.
The concept of the ‘Process Execution Group, an ordered execution of one or
more Process that is performed as part of a ‘Stage’, is a linking concept that can be
used to relate the above Life Cycle concepts to those of process modelling and
project planning. This is discussed further in the section on the Life Cycle Model
Viewpoint below. For a full discussion see Holt and Perry (2013).
8.3 Viewpoints
This section describes the Viewpoints that make up the Life Cycle Pattern. It begins
with an overview of the Viewpoints, defines Rules that apply to the pattern and then
defines each Viewpoint.
8.3.1 Overview
The Life Cycle Pattern defines a number of Viewpoints as shown in the Viewpoint
Relationship View (VRV) in Figure 8.3.
The Life Cycle pattern defines four Viewpoints:
● The ‘Life Cycle Viewpoint’ that identifies the Stages that exists in a Life
Cycle.
● The ‘Life Cycle Model Viewpoint’ that describes how each Stage behaves over
time in relation to one or more other Stage.
● The ‘Interaction Identification Viewpoint’ that identifies the Life Cycle Inte-
raction Points between one or more Life Cycle.
Life Cycle Pattern 125
VRV [Package] Overview [Viewpoint Relationship View showing Life Cycle Pattern Viewpoi...
describes execution of
«viewpoint» «viewpoint»
Life Cycle Viewpoint Life Cycle Model Viewpoint
1 1..*
1..*
identifies interaction
points between
8.3.2 Rules
Five Rules apply to the four Pattern Viewpoints, as shown in the Rules Definition
View (RDV) in Figure 8.4.
The Life Cycle Pattern has five Rules defined, which are:
● ‘LC1: Each instance of the Life Cycle Viewpoint must consist of at least one
Stage.’ This is a basic common-sense check that ensures that no Life Cycles
are defined that are empty in that they have no Stages.
● ‘LC2: Each instance of the Life Cycle Model Viewpoint must be based on a
corresponding instance of the Life Cycle Viewpoint that shows the correct
Stages.’ This Rules represents a consistency check that ensures that all Life
Cycle Model Views (behavioural) are based on an existing Life Cycle
(structural).
126 Foundations for Model-based Systems Engineering
RDV [Package] Rules [Rules Definition View showing Life Cycle Pattern Rules]
«Rule» «Rule»
LC4 LC5
notes notes
Each Stage or Gate appearing on the Each instance of the Interaction
Life Cycle Model Viewpoint must be Behaviour Viewpoint must have an
directly instantiated from the instance of the Interaction
corresponding Stage or Gate in the Identification Viewpoint associated
instance of the Life Cycle Viewpoint with it
● ‘LC3: Each Life Cycle Interaction Point must relate to a Stage or Gate from the
source and target Life Cycles (represented as instances of the Life Cycle
Viewpoint).’ This Rules represents a consistency check that ensure that all
Interaction Points have a source and target that relate to Stages within the
various Life Cycles.
● ‘LC4: Each Stage or Gate appearing on the Life Cycle Model Viewpoint must
be directly instantiated from the corresponding Stage or Gate in the instance of
the Life Cycle Viewpoint.’ This Rule represents another consistency check that
ensures that the elements on the Life Cycle Model Views (the Gates and Stage)
are taken from existing definitions from the Life Cycle View.
● ‘LC5: Each instance of the Interaction Behaviour Viewpoint must have an
instance of the Interaction Identification Viewpoint associated with it.’ This
Rules represents another consistency check that ensures that the Interactions
on the Interaction Behaviour Views have related Interaction Points on the
Interaction Point Identification Views.
Note that the five Rules shown in Figure 8.4 are the minimum that are needed.
Others could be added if required.
VCV [Package] Life Cycle Viewpoint (LCVp) [Viewpoint Context View showing ABC Viewpoint aims]
{incomplete}
«include»
«concern»
«concern»
«stakeholder role» Apply to
Apply to product
Systems Engineering «concern» acquisition
life cycles
Manager Understand life life cycles
cycle structure
Figure 8.5 Viewpoint Context View showing Life Cycle Viewpoint aims
The main aim of the Life Cycle Viewpoint is to ‘Understand system life
cycles’ in terms of their structure (‘Understand life cycle structure’), in a way that
can ‘Apply to any type of life cycle’.
There are three types of Life Cycle shown here, which are:
● Project Life Cycles (‘Apply to project life cycles’),
● Product Life Cycles (‘Apply to product life cycles’) and
● Acquisition Life Cycles (Apply to acquisition life cycles).
This is not intended to be an exhaustive list, as indicated by the ‘{incomplete}’
constraint.
8.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 8.6 shows the Ontology Elements
that appear on a Life Cycle Viewpoint.
The Life Cycle Viewpoint is a relatively simple Viewpoint, showing the
structure of a single Life Cycle in terms of the Stages that it is made up of.
«Viewpoint»
Life Cycle Viewpoint
1 1..*
Figure 8.6 Viewpoint Definition View showing the elements that appear on the
Life Cycle Viewpoint (LCVp)
«life Cycle»
Life Cycle
1..*
«stage»
Stage
VCV [Package] Life Cycle Model Viewpoint (LCMVp) [Viewpoint Context View showing ABC Viewpoint aims]
«concern»
«concern» Apply to project life
«concern»
Apply to any type cycles
Understand system «constrain» of life cycle
life cycles
«stakeholder role»
Systems Engineer
«include» {incomplete}
«concern»
Apply to product life
cycles
«concern»
«concern» Apply to acquisition
«stakeholder role» Understand life life cycles
Systems Engineering cycle behaviour
Manager
Figure 8.8 Viewpoint Context View showing Life Cycle Model Viewpoint aims
The main aim of the Life Cycle Model Viewpoint is to ‘Understand system life
cycle’ that focuses on the behaviour – ‘Understand life cycle behaviour’. This is
constrained by being able to be applied to any types of Life Cycle (‘Apply to any
type of life cycle’) and, again some examples of types of Life Cycle are shown, but
there may be others, which is expressed by the ‘{incomplete}’ constraint.
8.3.4.1 Description
The VDV in Figure 8.9 shows the Ontology Elements that appear on a Life Cycle
Model Viewpoint.
130 Foundations for Model-based Systems Engineering
«Viewpoint»
Life Cycle Model
Viewpoint
Figure 8.9 Viewpoint Definition View showing the elements that appear on the
Life Cycle Model Viewpoint (LCMVp)
The Life Cycle Model Viewpoint shows the Stages and Gates that make up a
single Life Cycle Model, showing the behaviour of a Life Cycle through time and
the Gates controlling behaviour at the end of each Stage.
As noted in the discussion on the Ontology for the Life Cycle Pattern, the
concept of the Process Execution Group, an ordered execution of a number of
processes that is performed as part of a Stage, is a linking concept that can be used
to expand a Life Cycle Model to tie the concepts of process modelling to those of
project planning. It allows the Life Cycle Pattern, through the Life Cycle Model
Viewpoint, to bridge the gap often found in Systems Engineering between the
defined Systems Engineering processes followed by the systems engineers
developing a System and the project plans produced by project managers tasked
with managing the development of the System. This is done by expanding the
definition of the Life Cycle Model Viewpoint to allow Views based on the
Viewpoint to show the Process Execution Groups that are executed in a particular
Stage, along with the sequencing and timing of such executions. Further expansion
allows the processes within a Process Execution Group to be shown in a similar
fashion. Such changes would require additions to the Ontology and changes to the
VDV for the Life Cycle Model Viewpoint. For a full discussion of this, see Holt
and Perry (2013).
Life Cycle Pattern 131
The Life Cycle Model View in Figure 8.10, realised as a SysML sequence
diagram, shows a typical development Life Cycle Model View based on the Life
Cycle defined in Figure 8.7. Each Stage is represented by a life line and corresponds
to one of the Stages represented using blocks on Figure 8.7. Each life line also
shows an execution specification (the small rectangles) that may be annotated to
include timing constraints or parallelism between various Stages.
If the expanded Life Cycle Model Viewpoint discussed above is being used,
then additional Views would be produced, one for each Stage, showing the Process
Execution Groups taking place within each Stage. A further set would typically also
be produced, one for each Process Execution Group, showing the processes
executed with each Process Execution Group. See Holt and Perry (2013) for a full
discussion.
VCV [Package] Interaction Identification Viewpoint (IIVp) [Viewpoint Context View showing ABC Viewpoint aims]
«concern»
Apply to any type «concern»
of Apply to project
«concern» life cycle life cycles
«stakeholder role» «constrain»
Understand system
Systems Engineer life cycles
{incomplete}
«include» «concern»
«concern» Apply to product
Apply to life cycles
acquisition
«stakeholder role» «concern»
life cycles
Systems Engineering Understand life
Manager cycle structure
«include» «concern»
Understand
interactions
between life
cycles
Figure 8.11 Viewpoint Context View showing Interaction Identification Viewpoint aims
life cycles’) from a structural point of view (‘Understand life cycle structure’), in a
way that can ‘Apply to any type of life cycle’.
The focus of this Viewpoint is on identifying the Interaction Points that exist
between Life Cycles (‘Understand interactions between life cycles’).
8.3.5.1 Description
The VDV in Figure 8.12 shows the Ontology Elements that appear on a Interaction
Identification Viewpoint.
The Interaction Identification Viewpoint shows one or more Life Cycles, the
Stages that make them up and the Life Cycle Interaction Points between the Stages.
Note that this shows structural information – it shows which Stages from which
Life Cycles have interactions but not when they interact.
«Viewpoint»
Interaction Identification
Viewpoint
1..*
«ontology element»
Life Cycle Interaction
Point
1..* 0..*
1
«ontology element» «ontology element»
Stage Life Cycle «block» interacts with
1..*
Figure 8.12 Viewpoint Definition View showing the elements that appear on the
Interaction Identification Viewpoint (IIVp)
«Interaction Point»
«Interaction Point»
«stage» «stage» «stage»
Retirement Disposal Destroy
«Interaction Point»
8.3.6.1 Description
The VDV in Figure 8.15 shows the Ontology Elements that appear on an Interac-
tion Behaviour Viewpoint.
Life Cycle Pattern 135
VCV [Package] Interaction Behaviour Viewpoint (IBVp) [Viewpoint Context View showing Interaction Behaviour Viewpoint aims]
«concern» «concern»
«concern» Apply to any type Apply to project
Understand system «constrain» of life cycle life cycles
«stakeholder role» life cycles
Systems Engineer
«include»
{incomplete}
«concern» «concern»
Understand life «concern» Apply to product
cycle Apply to life cycles
«stakeholder role» behaviour acquisition life
Systems Engineering cycles
Manager «include»
«concern»
Understand
interactions
between life
cycles
Figure 8.14 Viewpoint Context View showing Interaction Behaviour Viewpoint aims
«Viewpoint»
Interaction Behaviour
Viewpoint
1..*
«ontology element»
Life Cycle Interaction
Figure 8.15 Viewpoint Definition View showing the elements that appear on the
Interaction Behaviour Viewpoint (IBVp)
Interaction is not used here for the stereotype on the messages purely for reasons of
clarity and presentation.
With the visualisation used in Figure 8.16 it should be noted that the other Life
Cycles that are interacted with are not shown, simply the Life Cycle Interaction
Points entering and leaving via gates. If the interactions between the different Life
Cycle Models are particularly important, then the alternate visualisation shown in
Figure 8.17 may be considered.
Figure 8.17 has a similar visualisation to that shown in Figure 8.16 but this
time the Life Cycle Interaction Points do not enter and exit the diagram anon-
ymously, but interact with specific Life Cycles Models. Each Life Cycle Model is
shown as a boundary with each Stage visualised as a life line. This time, however,
the Life Cycle Interaction Points do not end in a gate but go to other Stages (the life
lines) within other Life Cycle Models (the packages).
The Interaction Behaviour Views in Figures 8.16 and 8.17, along with the
Interaction Identification View in Figure 8.13, fulfil Rule LC5.
Life Cycle Pattern 137
8.4 Summary
The Life Cycle Pattern defines four Viewpoints that allow the aspects of a System’s
Life Cycle to be captured. The Life Cycle Viewpoint identifies the Stages that
exists in a Life Cycle. The Life Cycle Model Viewpoint describes how each Stage
behaves over time in relation to the other Stages. The Interaction Identification
Viewpoint identifies the Life Cycle Interaction Points between a number of Life
Cycles. Finally, the Interaction Behaviour Viewpoint describes the behaviour of
each Life Cycle Interaction Point in relation to other Life Cycle Interaction Points
as identified in an Interaction Identification Viewpoint.
The Life Cycle Model Viewpoint presented here is the minimal version of the
Viewpoint – it can be extended to show the Process Execution Groups that are
executed in each Stage of a Life Cycle Model as well as the processes executed
within each Process Execution Group. This allows the use of the Life Cycle Pattern
to bridge the gap often found in Systems Engineering between the defined Systems
Engineering processes followed by the systems engineers developing a System
and the project plans produced by project managers tasked with managing the
development of the System. For a full discussion of this, see Holt and Perry (2013).
If using the Life Cycle pattern, the following patterns may also be of use:
● Epoch Pattern.
Reference
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Further readings
9.1 Introduction
The ability to present claims backed up by arguments that are supported by
evidence, together with the ability to counter such claims in a similar manner, is a
common need in systems engineering. While most often seen in areas such as
testing, it applies equally to the establishment of traceability, definition of safety
cases and even the presentation of business cases. Whatever the reason, such chains
of evidence-arguments-claims should be presented in a consistent and rigorous
manner.
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Evidence Pattern aims]
«concern»
Ensure linking
relationships are
established
«concern»
Allow claims
to be made
«include»
Claimant «include»
«concern»
Support definition of
evidence-based claims «concern»
«include» Allow supporting
arguments to be
established
«constrain»
«include»
«concern»
Must allow counter- «concern»
Refuter claims to be made
Allow reinforcing
evidence to be
established
Figure 9.1 Architectural Framework Context View showing Evidence Pattern aims
9.2 Concepts
The main concepts covered by the Evidence Pattern are shown in the Ontology
Definition View (ODV) in Figure 9.2.
Key to this Pattern is the concept of a ‘Claim’ that is made by a ‘Claimant’
about a ‘Subject’. Such a ‘Claim’ is supported by one or more ‘Argument’ via a
‘Claim-Argument Link’. Each ‘Argument’ is itself reinforced by one or more
‘Evidence’ via an ‘Argument-Evidence Link’.
Note that a ‘Claim’, ‘Argument’, ‘Claim-Argument Link’, ‘Evidence’ and
‘Argument-Evidence Link’ are all types of the abstract concept of a ‘Claimable
Item’. This allows a ‘Counter-Claim’ (a special type of ‘Claim’) to be made about
Evidence Pattern 141
ODV [Package] Concepts [Ontology Definition View showing Evidence Pattern concepts]
0..* «ontology element»
supports Claimable Item
0..* {abstract}
1
«ontology element»
Claimant
«ontology element»
Refuter
«ontology element»
Counter-Claim
0..*
any type of ‘Claimable Item’ and a ‘Claim’ to support any type of ‘Claimable Item’.
Such a ‘Counter-Claim’ is made by a ‘Refuter’, a special type of ‘Claimant’.
9.3 Viewpoints
This section describes the Viewpoints that make up the Evidence Pattern. It begins
with an overview of the Viewpoints, defines Rules that apply to the Pattern and
then defines each Viewpoint.
9.3.1 Overview
The Evidence Pattern defines a number of Viewpoints as shown in the Viewpoint
Relationship View (VRV) in Figure 9.3.
The Evidence Pattern defines four Viewpoints for the definition of Evidence-
Argument-Claim chains:
● The ‘Claim Definition Viewpoint’ is used to define Claims for a particular
Subject and to show who made the Claims.
● The ‘Argument Viewpoint’ is used to show the Arguments that support a
Claim.
● The ‘Evidence Viewpoint’ is used to show the Evidence that reinforces
Arguments.
● The ‘Counter-Claim Viewpoint’ is used to make Counter-Claims (or supporting
Claims) about Claimable Items.
142 Foundations for Model-based Systems Engineering
VRV [Package] Overview [Viewpoint Relationship View showing Evidence Pattern Viewpoints]
Counters items on
counters items on Shows the evidence that
reinforces arguments on
Each of these Viewpoints is described in more detail in the following sections. For
each Viewpoint an example is also given.
9.3.2 Rules
Seven rules apply to the four Evidence Viewpoints, as shown in the Rules Defini-
tion View (RDV) in Figure 9.4.
These seven Rules are:
● ‘Rule EP01: Every Claim must be supported by at least one Argument.’ A
Claim cannot be made without some supporting Argument.
● ‘Rule EP02: Every Argument must be reinforced by at least one Evidence.’ An
Argument is only valid if there is some Evidence to back it up.
● ‘Rule EP03: Every Claim must be made by a defined Claimant.’ For a Claim to
be valid, there must be a Claimant associated with it who has made the Claim.
Anonymous Claims are not permitted.
● ‘Rule EP04: Every Claim must be made about an identified Subject.’ Claims
cannot be generic, they have to be about something, that is they have to have a
Subject.
● ‘Rule EP05: As a minimum one Claim Definition View, one Argument View
and one Evidence View must be produced.’ This Rule establishes the minimum
set of Views that have to be produced when using the Pattern for the use to be
valid. If any are missing then all the necessary parts of the stated claim will not
be present.
Evidence Pattern 143
RDV [Package] Rules [Rules Definition View showing Evidence Pattern Rules]
notes
The Claimable Items that appear on a
Counter-Claim View must appear on
another relevant View. E.g. an
Argument that appears on a Counter-
Claim View must also appear on an
Argument View etc.
● ‘Rule EP06: A Counter-Claim View must have EITHER one Claim OR one
Counter-Claim and at least one Claimable Item (Claim, Counter-Claim,
Argument, Claim-Argument Link, Evidence or Argument-Evidence Link) that
the Claim or Counter-Claim supports or counters.’ This Rule simply states that
you cannot have an ‘‘empty’’ Counter-Claim View, i.e. one with no Claim in
support of something else or Counter-Claim that refutes something else.
● ‘Rule EP07: The Claimable Items that appear on a Counter-Claim View must
appear on another relevant View. E.g. an Argument that appears on a Counter-
Claim View must also appear on an Argument View etc.’ This Rule simply
states that if creating a Counter-Claim View, then that View must be making a
Claim or Counter-Claim about something that has already been defined on one
of the other Views; you can’t counter or support something that hasn’t already
been claimed.
Note that the seven Rules shown in Figure 9.4 are the minimum that are needed.
Others could be added if required.
144 Foundations for Model-based Systems Engineering
VCV [Package] Claim Definition Viewpoint (CDVp) [Viewpoint Context View showing Cla...
«concern»
Ensure linking «concern»
relationships are Allow claims to be
established made
«include»
«include»
«concern»
Support definition of
evidence-based claims
Claimant
Figure 9.5 Viewpoint Context View showing Claim Definition Viewpoint aims
9.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 9.6 shows the Ontology Elements
that appear on a Claim Definition Viewpoint.
The Claim Definition Viewpoint identifies the Claims being made by a
Claimant about a Subject.
As defined, the Claim Definition Viewpoint allows only a single Claimant and
Subject to be shown, with any number of Claims made by that Claimant about the
Subject. The definition could, of course, be extended to allow multiple Claimants
and Subjects to be shown.
Evidence Pattern 145
VDV [Package] Description [Viewpoint Definition View show ing the Ontology Elements that app...
«viewpoint»
Claim Definition View point
1 1
1 1
1..*
Figure 9.6 Viewpoint Definition View showing the Ontology Elements that
appear on the Claim Definition Viewpoint (CDVp)
9.3.3.2 Example
An example View that conforms to the Claim Definition Viewpoint is shown in
Figure 9.7.
The Claim Definition View in Figure 9.7, realised as a SysML block definition
diagram, shows the ‘Safety Officer’ Claimant making two Claims (‘System is
safe to use’ and ‘Safety requirements have been exceeded’) about the Subject of
‘System safety’.
The Claim and Subject are realised using stereotyped blocks and the Claimant
using a stereotyped actor. Stereotyped dependencies have been used to realise the
relationships between Claimant, Claims and Subject.
This View conforms to Rules EP03 and EP04. With Figures 9.10 and 9.13 it
also conforms to Rule EP05.
bdd [Package] Example [CDV – Definition of Claims by Safety Officer about System safety]
«claim»
«subject»
System is safe to
«claims» «relates to» System safety
use
«claimant»
Safety Oficer
«claim»
Safety requirments «relates to»
have been
exceeded
«claims»
Figure 9.7 CDV – Definition of Claims by Safety Officer about System safety
VCV [Package] Argument Viewpoint (AVp) [Viewpoint Context View showing Argument Vi...
«concern»
Ensure linking
relationships are
established
«concern»
Allow supporting
«include»
arguments to be
«include» established
«concern»
Claimant Support definition of
evidence-based claims
9.3.4.1 Description
The VDV in Figure 9.9 shows the Ontology Elements that appear on an Argument
Viewpoint.
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appea...
«viewpoint»
Argument Viewpoint
1..*
«ontology element»
Claim-Argument Link
1 1..*
Figure 9.9 Viewpoint Definition View showing the Ontology Elements that
appear on the Argument Viewpoint (AVp)
9.3.4.2 Example
An example View that conforms to the Argument Viewpoint is shown in
Figure 9.10.
The Argument View in Figure 9.10, realised as a SysML block definition
diagram, shows two Arguments (‘System has been tested’ and ‘Safety statistics are
good’) that support the Claim that ‘System is safe to use’.
A stereotyped block is used to realise the Arguments, with stereotyped
dependencies realising the Claim-Argument Links.
This View conforms to Rule EP01. With Figures 9.7 and 9.13 it also conforms
to Rule EP05.
148 Foundations for Model-based Systems Engineering
«argument» «claim»
System has been System is safe to
tested «supports» use
«argument»
Safety statistics
are good
«supports»
VCV [Package] Evidence Viewpoint (EVp) [Viewpoint Context View showing Evidence Viewp...
«concern»
Ensure linking
relationships are
established
«include»
«concern»
«concern»
Allow reinforcing
Support definition of
«include» evidence to be
evidence-based claims
established
Claimant
9.3.5.1 Description
The VDV in Figure 9.12 shows the Ontology Elements that appear on an Evidence
Viewpoint.
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements tha...
«viewpoint»
Evidence Viewpoint
1..*
«ontology element»
Argument-Evidence Link
1..* 1..*
Figure 9.12 Viewpoint Definition View showing the Ontology Elements that
appear on the Evidence Viewpoint (EVp)
The Evidence Viewpoint shows the Evidence that reinforces one or more
Arguments.
9.3.5.2 Example
An example View that conforms to the Evidence Viewpoint is shown in
Figure 9.13.
The Evidence View in Figure 9.13, realised as a SysML block definition
diagram, shows three pieces of Evidence reinforcing two Arguments. The Two
pieces of Evidence ‘Safety case results’ and ‘Simulation results’ both reinforce the
150 Foundations for Model-based Systems Engineering
«argument»
«evidence»
System has been
Safety case results «reinforces» tested
«reinforces»
«evidence»
Simulation results
«evidence» «argument»
Analysis of safety Safety statistics
statistics «reinforces» are good
Argument that the ‘System has been tested’. The Evidence ‘Analysis of safety
statistics’ reinforces the Argument that ‘Safety statistics are good’.
A stereotyped block is used to realise Evidence, with a stereotyped dependency
used to realise each Argument-Evidence Link.
This View conforms to Rule EP02. With Figures 9.7 and 9.10 it also conforms
to Rule EP05.
VCV [Package] Counter-Claim Viewpoint (CCVp) [Viewpoint Context View showing Counter-Claim View...
«concern»
Ensure linking
relationships are
established
Claimant
«include»
«concern»
Support definition of
evidence-based claims
«concern»
«constrain»
Must allow counter-
claims to be made
Refuter
9.3.6.1 Description
The VDV in Figure 9.15 shows the Ontology Elements that appear on a Counter-
Claim Viewpoint.
The Counter-Claim Viewpoint is used to show a number of Counter-Claims
and the Claimable Items that they counter OR a number of Claims and the
Claimable Items that they support.
Although not made explicit in the VDV in Figure 9.15, only one Counter-
Claim OR Claim can be shown on a CCV, as defined by Rule EP06. This rule also
ensures that the Claimable Items that the Counter-Claims or Claims counter/support
are also shown.
152 Foundations for Model-based Systems Engineering
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on Counter-Clai...
«ontology element»
Argument 1..*
«ontology element»
Claimable Item
«ontology element» 0..*
Argument-Evidence Link {abstract}
0..*
supports
«ontology element» 1
Evidence
«ontology element» 0..* «ontology element»
Claim makes Claimant
1..* 1
counters
Figure 9.15 Viewpoint Definition View showing the Ontology Elements that
appear on Counter-Claim Viewpoint (CCVp)
9.3.6.2 Example
An example View that conforms to the Counter-Claim Viewpoint is shown in
Figure 9.16.
The Counter-Claim View in Figure 9.16, realised as a SysML block definition
diagram, shows two pieces of Evidence (‘Simulation results’ and ‘Safety
case results’) which reinforce, through the «reinforces» Argument-Evidence
Links, the Argument that ‘System has been tested’. These are all examples of
Claimable Items.
Evidence Pattern 153
bdd [Package] Example [CCV – Example showing Counter-Claim made against an Argument-Evidence Link]
«counter-claim»
Simulation doesn't cover all
cases. «claims»
«claimant,refuter»
Simulation Specialist
«counters»
«argument»
«evidence»
System has been
Simulation results «reinforces» tested
«evidence»
Safety case results
«reinforces»
The diagram also shows a Counter-Claim that ‘Simulation doesn’t cover all
cases’ made by the Claimant ‘Simulation Specialist’ against the Argument-
Evidence Link between the ‘Simulation results’ Evidence and the ‘System has been
tested’ Argument.
As with the other Views, stereotyped blocks and dependencies have been used
to realise the various Ontology Elements and their relationships, with the exception
of the ‘counters’ relationship from the Counter-Claim to the Argument-Evidence
Link. In this case a stereotyped note has been used which connects the Counter-
Claim to the Argument-Evidence Link. This has been done because the SysML tool
used to produce this diagram does not allow a dependency to target another
dependency. For Counter-Claims made against Ontology Elements realised as
SysML blocks (such as Evidence, Arguments), then a dependency stereotyped
«counters» would be used. Note also the additional «refuter» stereotype applied to
the actor representing the Claimant. This has been done to emphasise that this
Claimant is playing a more specialised role of ‘Refuter’ (i.e. is a Claimant that is
refuting something via a Counter-Claim).
This View conforms to Rule EP06. With Figure 9.13 it also conforms to
Rule EP07.
154 Foundations for Model-based Systems Engineering
9.4 Summary
The Evidence Pattern defines four Viewpoints for the definition of Evidence-
Argument-Claim chains. The Claim Definition Viewpoint allows Claims to be
defined for a particular Subject to show who made the Claims. The Argument
Viewpoint allows the Arguments that support a Claim to be identified. The
Evidence Viewpoint allows any supporting Evidence that reinforces Arguments
to be identified. Finally, the Counter-Claim Viewpoint allows Counter-Claims
(or supporting Claims) to be made about any type of Claimable Item.
If using the Evidence Pattern, the following Patterns may also be of use:
● Description
● Traceability
● Testing.
Further readings
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Object Management Group. SysML website [online]. Available at: http://www.
omgsysml.org [Accessed February 2015].
Holt, J. UML for Systems Engineering – Watching the Wheels. 2nd Edition.
London: IEE Publishing; 2004 (reprinted IET Publishing; 2007).
Rumbaugh, J., Jacobson, I. and Booch, G. The Unified Modeling Language
Reference Manual. 2nd Edition. Boston, MA: Addison-Wesley; 2005.
Chapter 10
Description Pattern
10.1 Introduction
When describing the elements of a system, there are a number of different aspects
of an element’s description that need to be considered. As well as the obvious
aspects such as the element’s properties and behaviours, it is also necessary
to understand how an element relates to other elements. Such relationships are
generally of three types:
● They may be general in nature, for example a relationship showing that a water
supply supplies water to a tap.
● They may show how the element is broken down into parts, such as a tap being
made up of a handle, spindle, valve mechanism.
● They may show ‘‘type’’ relationships between elements, for example showing
that a mixer tap is a type of tap.
In addition, it is sometimes necessary to ‘‘localise’’ the descriptions of elements
into different natural languages. Think, for example, of a set of installation or
maintenance instructions for a mixer tap that may contain a description of the tap in
multiple languages.
Without considering all of these aspects of an elements description, a full and
consistent description may be lacking. The localisation aspect is particularly
important in systems that are deployed, operated or maintained in different countries
and therefore need multi-lingual yet consistent descriptions to be produced.
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Description Pattern aims]
«concern»
Comply
with
«constrain»
standards
«stakeholder role»
User «concern»
«concern» Allow breakdown
Support localisation into parts
to be shown
«include» «include»
«concern»
Support description
of «concern»
elements «include» Allow relationships
with other elements
«include» to be shown
The Use Case ‘Support localisation’ is constrained by the need to ‘Comply with
standards’; it is important that the identification of languages used in localisation
are clearly identified in conformance with best practice.
10.2 Concepts
The main concepts covered by the Description Pattern are shown in the Ontology
Definition View (ODV) in Figure 10.2.
ODV [Package] Concepts [Ontology Definition View showing Description Pattern concepts]
target
is a type of child 0..* 0..*
is related to
«ontology element» «ontology element»
Element source Element Description
parent 0..* 1
values values
describes
whole 1 Name : String Brief description : String
Description : String 1 0..* Full description : String
is broken down Language code : LanguageCode
into part 0..* Presentation name : String
0..* 0..*
Key to this Pattern is the concept of an ‘Element’ that, at its most basic, has a
‘Name’ and a ‘Description’. An ‘Element’ may also be composed of zero or more
‘Property’ and zero or more ‘Behaviour’.
An ‘Element’ can be related to zero or more other target ‘Element’, may be
broken down into zero or more ‘Element’ acting as parts of the whole and may be a
type of zero or more parent ‘Element’.
An ‘Element’ may be ‘‘localised’’ through further description by zero or more
‘Element Description’. Each ‘Element Description’ has a:
● ‘Presentation name’ – the name used when referring to the localised ‘Element’
● ‘Brief description’ – a short description of the ‘Element’
● ‘Full description’ – a longer, more detailed, description of the ‘Element’
● ‘Language code’ – a short code that identifies the language used in the
‘Presentation name’, ‘Brief description’ and ‘Full description’
158 Foundations for Model-based Systems Engineering
10.3 Viewpoints
This section describes the Viewpoints that make up the Description Pattern. It
begins with an overview of the Viewpoints, defines Rules that apply to the Pattern
and then defines each Viewpoint.
10.3.1 Overview
The Description Pattern defines a number of Viewpoints as shown in the Viewpoint
Relationship View (VRV) in Figure 10.3.
VRV [Package] Overview [Viewpoint Relationship View showing Description Pattern Viewpoints]
provides extended
«viewpoint» descriptions for element on «viewpoint»
Element Structure Element Description
Viewpoint 1 0..* Viewpoint
10.3.2 Rules
Eight Rules apply to the two Description Viewpoints, as shown in the Rules
Definition View (RDV) in Figure 10.4.
The eight Rules are:
● ‘Rule DP01: When using the Description Pattern, at least one Element
Structure View must exist.’ This Rule establishes the minimum set of Views
that must be produced for the use of the Pattern to be valid.
Description Pattern 159
RDV [Package] Rules [Rules Definition View showing Description Pattern Rules]
● ‘Rule DP02: An Element only has (and must have) a Description if it has no
(i.e. zero) associated Element Descriptions.’ An Element’s Description
property is only completed (and must be so completed) if it has no associated
Element Description. If it does have an Element Description then the
Description property is not used.
● ‘Rule DP03: The Language code of an Element Description consists, as a
minimum, of a language identifier taken from ISO639.
For example, if Esperanto is used then the Language code will be ‘‘eo.’’
If variants of a language are used, such as British and American English, then
the Language code consists of a language identifier taken from ISO639 and a
country identifier from ISO3166. It has the form: ‘‘ll-CC.’’
For example, the language code for British English is ‘‘en-GB’’ and that of
American English is ‘‘en-US.’’
160 Foundations for Model-based Systems Engineering
This Rule ensures that standard language codes are used based on international
standards and that language variants are identified if necessary.
● ‘Rule DP04: Language code must be different for all Element Descriptions that
describe the same Element.’ This Rule means that multiple Element Descriptions
for the same Language code cannot be created. All Element Descriptions must
be in a different language.
● ‘Rule DP05: All the properties of an Element Description (Presentation name,
Brief description etc.) must be written in the language indicated by that
Element Description’s Language code.’ An Element Description must not be
created that uses a mixture of languages for its various properties.
● ‘Rule DP06: All Element Descriptions for a given Element must be translations
of each other.’ This Rule says that, as far as translation allows, all Element
Descriptions must say the same thing, but in different languages.
● ‘Rule DP07: The Brief description or Full description of an Element
Description may, if necessary, refer to a different Element. If such a reference
is needed, then it is done via:
– The Name of the referenced Element if that Element has no Element
Descriptions.
– The Presentation name from one of the referenced Element’s Element
Descriptions if it has any. In this case, the Language code of the referenced
Element’s Element Description and that of the referencing Element’s
Element Description must be the same.’
This Rule gives guidance on how different Elements may be referenced in a
consistent fashion and in a way that prevents references from one language to
another.
● ‘Rule DP08: An Element Structure View can only have one Element that is the
focus, i.e. only a single Element will have its Description, Properties and
Behaviours shown. All other Elements that appear on an ESV are those to
which the Element forming the focus are related.’ This Rule simply states that
only a single Element can be broken down, described or related on an ESV.
Note that the eight Rules shown in Figure 10.4 are the minimum that are needed.
Others could be added if required.
VCV [Package] Element Structure Viewpoint (ESVp) [Viewpoint Context View showing Element Structure Viewpoint aims]
«concern»
Allow breakdown
into parts to be shown
«include»
«concern»
Support description
«concern»
of elements
«include» Allow relationships
with other elements
to be shown
«include»
«include»
«stakeholder role» «include» «concern»
Systems Engineer Allow element's
position in a type
«concern» hierarchy
Support «concern» to be shown
identification of Support
properties identification
of behaviours
Figure 10.5 Viewpoint Context View showing Element Structure Viewpoint aims
10.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 10.6 shows the Ontology
Elements that appear on an Element Structure Viewpoint.
The Element Structure Viewpoint is used to describe an Element in terms of its
Properties and Behaviours, relationship to other Elements (including relationships
in a type taxonomy) and breakdown into Elements representing its parts.
Although an Element Structure Viewpoint can show multiple Elements, it
allows only a single Element to be the focus, i.e. only a single Element will have its
Description, Properties and Behaviours shown. All other Elements that appear on a
View which realises an Element Structure Viewpoint are those to which the
Element forming the focus are related. The definition could, of course, be extended
to allow multiple Elements to be shown in detail.
10.3.3.2 Example
An example View that conforms to the Element Structure Viewpoint is shown in
Figure 10.7.
162 Foundations for Model-based Systems Engineering
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements tha...
target
is a type of child 0..* 1..* 0..*
is related to
«ontology element»
Element source
parent 0..* 1
values
whole 1 Name : String
Description : String
is broken down
into part 0..*
0..* 0..*
Figure 10.6 Viewpoint Definition View showing the Ontology Elements that
appear on the Element Structure Viewpoint (ESVp)
«element»
Valve
«element»
«element»
Water Tap
Single Tap
Connector diameter: Inch is connected to «element»
Label: String 0..1 0..2 Water Pipe
«element»
Indicator: VisualIndicator
Mixer Tap
open(Percentage)
1..2 1
«element» «element»
Handle Spindle
0..1 1
«element» «element»
Aerator Valve
Mechanism
10.3.4.1 Description
The VDV in Figure 10.9 shows the Ontology Elements that appear on an Element
Description Viewpoint.
The Element Description Viewpoint is used to show extended Element
Descriptions for a single Element.
As defined, the Element Description Viewpoint allows only a single Element
to be the focus, i.e. only a single Element will have its extended descriptions in
terms of Element Descriptions shown. The definition could, of course, be extended
to allow multiple Elements to be shown in detail.
164 Foundations for Model-based Systems Engineering
VCV [Package] Element Description Viewpoint (EDVp) [Viewpoint Context View showing Element Description Viewpoi...
«concern»
Comply with standards
«constrain»
«stakeholder role»
User
«concern»
Support localisation
«include»
«concern»
Support description
of elements
«stakeholder role»
Systems Engineer
Figure 10.8 Viewpoint Context View showing Element Description Viewpoint aims
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on the E...
«viewpoint»
Element Description
Viewpoint
1 0..*
«ontology element» describes «ontology element»
Element 1 0..* Element Description
values
Brief description : String
Full description : String
Language code : LanguageCode
Presentation name : String
Figure 10.9 Viewpoint Definition View showing the Ontology Elements that appear on the Element Description
Viewpoint (EDVp)
Description Pattern 165
10.3.4.2 Example
An example View that conforms to the Element Description Viewpoint is shown in
Figure 10.10.
«element description»
Tap
«element»
Water Tap «describe» brief description = A Tap is a type of Valve that controls water supply to bathtubs and sinks.
language code = en-GB
notes
Water for baths, sinks and basins can be provided by separate hot and cold Taps; this
arrangement is common in older installations, particularly in public washrooms/lavatories and
utility rooms/laundries. In kitchens and bathrooms Mixer Taps are commonly used. In this
case, hot and cold water from the two valves is mixed before reaching the outlet, allowing the
water to emerge at any temperature between that of the hot and cold water supplies. Mixer
Taps were invented by Thomas Campbell of Saint John, New Brunswick and patented in 1880.
«element description»
Faucet
brief description = A Faucet is a type of Valve that controls water supply to bathtubs and sinks.
language code = en-US
notes
«describe» Water for baths, sinks and basins can be provided by separate hot and cold Faucets; this
arrangement is common in older installations, particularly in public washrooms/lavatories and
utility rooms/laundries. In kitchens and bathrooms Mixer Faucets are commonly used. In this
case, hot and cold water from the two valves is mixed before reaching the outlet, allowing the
water to emerge at any temperature between that of the hot and cold water supplies. Mixer
Faucets were invented by Thomas Campbell of Saint John, New Brunswick and patented
in 1880.
«element description»
Krano
«describe»
brief description = Krano estas tipo de Valvo kiu regas akvoprovizadon al banujoj kaj lavopelvoj.
language code = eo
The relationship between the Element Descriptions and the Elements that they
describe are realised using stereotyped dependencies.
This diagram conforms to Rules DP02 to DP07.
10.4 Summary
The Description Pattern defines two Viewpoints for the description of Elements.
The Element Structure Viewpoint is used to describe an Element in term of its
Properties and Behaviours, relationship to other Elements (including relationships
in a type taxonomy) and breakdown into parts. The Element Description Viewpoint
is used to show extended Element Descriptions for an Element; this can also be
used to support ‘‘localisation’’ of an Element, where consistent descriptions in
multiple languages are needed.
If using the Description Pattern, the following Patterns may also be of use:
● Interface Definition
● Traceability.
Further readings
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Object Management Group. SysML website [online]. Available at: http://www.
omgsysml.org [Accessed: February 2015].
Holt, J. UML for Systems Engineering – Watching the Wheels. 2nd Edition.
London: IEE Publishing; 2004 (reprinted IET Publishing; 2007).
Rumbaugh, J., Jacobson, I. and Booch, G. The Unified Modeling Language
Reference Manual. 2nd edition. Boston, MA: Addison-Wesley; 2005.
ISO 639 Overview. Available at: http://en.wikipedia.org/wiki/ISO_639 [Accessed:
October 2015].
ISO 639-1 Codes: Available at: http://en.wikipedia.org/wiki/List_of_ISO_639-1_
codes [Accessed: October 2015].
Country Codes. Available at: http://en.wikipedia.org/wiki/ISO_3166 [Accessed:
October 2015].
Internet Engineering Task Force – Best Current Practice (BCP) 47 – Language
Tags. Available from http://tools.ietf.org/html/bcp47 [Accessed: October
2015.]
Chapter 11
Context Pattern
11.1 Introduction
Context is the basis for any piece of work, without context we cannot understand
what we are working towards or what the extent of the work is. Context provides
the reference to enable comparisons to be made between outcomes.
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Context Pattern aims]
«concern»
Define interactions
«include»
«concern» «concern»
«stakeholder role» Frame a problem «include» Define content
Stakeholder
«include»
«constrain»
«concern»
Define environment
«concern»
Capture point of view
Figure 11.1 Architectural Framework Context View showing Context Pattern aims
168 Foundations for Model-based Systems Engineering
The key aim of the context pattern is to ‘Frame a problem’ this helps to provide
an understanding of a how something fits into the world around it. ‘Frame a pro-
blem’ includes the Use Cases:
● ‘Define environment’ – the environment is the world immediately outside the
problem being framed, this is about understanding and recording those envir-
onmental elements.
● ‘Define content’ – the content is often the boundary of the system, but may also
be those things inside the system those things which need to be done to solve
the problem.
● ‘Define interactions’ – this recognises the relationships between the system and
the world around it where the content defines something about the internals of
the system there may also be interactions between the elements within.
All of these Use Cases are constrained by ‘Capture point of view’ focusing on the
specific area or view by which a stakeholder or a system needs to be understood.
11.2 Concepts
The main concepts covered by the Context Pattern are shown in the Ontology
Definition View (ODV) in Figure 11.2.
ODV [Package] Concepts [Ontology Definition View showing Context Pattern concepts]
2..*
«ontology element»
Context element
interacts with
11.3 Viewpoints
This section describes the Viewpoints that make up the Context Pattern. It begins
with an overview of the Viewpoints, defines Rules that apply to the Pattern and
then defines each Viewpoint.
11.3.1 Overview
The Context Pattern defines two Viewpoints as shown in the Viewpoint Relation-
ship View (VRV) in Figure 11.3.
VRV [Package] Overview [Viewpoint Relationship View showing Context Pattern Viewpoints]
The Context Pattern defines two Viewpoints for the definition of Contexts:
● The ‘Context Identification Viewpoint’ is used to define the list of ‘Context’ to
be considered on one or more ‘Context Description Viewpoint’.
● The ‘Context Description Viewpoint’ is used to explore the contexts including
‘Focus’, ‘Boundary’ and ’Environment element’.
Each of these Viewpoints is described in more detail in the following sections. For
each Viewpoint an example is also given.
11.3.2 Rules
Four rules apply to the two Context Viewpoints, as shown in the Rules Definition
View (RDV) in Figure 11.4.
170 Foundations for Model-based Systems Engineering
«rule»
Rule CR4
notes
As a minimum one 'Environment
element', one 'Focus' and one
interaction between
'Environment element' and 'Focus'
must exist on each 'Context
Description Viewpoint'.
Note that the four Rules shown in Figure 11.4 are the minimum that are nee-
ded. Others could be added if required.
VCV [Package] Context Identification Viewpoint (CIVp) [Viewpoint Context View showing Point of View Definition Viewpoint aims]
«concern»
Identify context
«include»
«concern»
Establish contexts
«stakeholder role»
«include»
Stakeholder
«concern»
Record context
The main aim of the CIVp is to ‘Establish contexts’ this is to understand the
‘Context’ to be explored. This includes the Use Cases ‘Identify context’ recognis-
ing the views which need to be considered and ‘Record context’ to ensure the focus
of the context is captured.
11.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 11.6 shows the Ontology Ele-
ments that appear on a CIVp.
«viewpoint»
Context Identification
Viewpoint
1..*
«ontology element»
0..* Context
Figure 11.6 Viewpoint Definition View showing the Ontology Elements that
appear on the Context Identification Viewpoint (CIVp)
The CIVp shows the contexts and the relationships which can be used to
connect them together.
Many ‘Context’ can be shown on this viewpoint, any relationships between the
‘context’ can also be shown either by types representing the stakeholder needs or
aggregating contexts to show the level of abstraction in a hierarchy.
«Context»
Stakeholder «Context»
Railway
«Context»
External «Context» «Context»
Signalling Train
«Context» «Context»
Supplier Customer
«Context»
Rolling Stock
«Context»
Passenger
«Context» «Context»
Driver Owner
as a ‘Context’ and some of the elements which make up a ‘Railway’ and require
‘Context’ to be described.
11.3.4.1 Description
The VDV in Figure 11.9 shows the Ontology Elements that appear on a Context
view Viewpoint.
Context Pattern 173
AFCV [Package] Context Description Viewpoint (CDVp) [Viewpoint Context View showing Context Description V...
«concern»
Define environment
«include»
«stakeholder role»
Systems Engineer «concern»
Define interactions
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements t...
«viewpoint»
Context Description
Viewpoint
interacts with
Figure 11.9 Viewpoint Definition View showing the Ontology Elements that
appear on the Context Description Viewpoint (CDVp)
174 Foundations for Model-based Systems Engineering
The CDVp shows the ‘Focus’, ‘Environment element’ and ‘Boundary’ ele-
ments, it also shows the interactions between the ‘Focus’ and the ‘Environment
element’. The ‘Focus’ defines the things the system does that affect the ‘Environ-
mental elements’.
The interaction is always across a ‘Boundary’, this allows interfaces to be
identified linking with the Interface Pattern.
«boundary.»
Railway Context
«focus»
«focus»
Regulation
«focus» Manage
Legislation Infrastructure
«Constrain»
«Constrain» «include»
«focus»
Manage Rolling
Transport Items «include» Stock
«focus»
«focus»
Passenger
Freight
«Focus. Boundary.»
System
The example context in Figure 11.10 shows both the ‘Environmental elements’,
what the system interacts with and the ‘Focus’ of the system what the system needs
to achieve.
In Figure 11.10 the actors around the outside of the diagram define the envir-
onmental elements, the box defines the boundary and the use cases represent the
content which is being put into context. Finally the solid line between actor and use
case shows that an interaction exists between the environment and content.
The example is an extract from the requirements for a Railway where a
‘Sponsor’ is interested in ‘Transport Items’ there are two types of ‘Transport Item’
‘Passenger’, which the ‘Public’ has an interaction with and ‘Freight’ which
‘Logistics Organisation’ have an interest in. To ‘Transport items’ includes ‘Manage
Infrastructure’, ‘Manage Rolling Stock’ and ‘Plan Service’. All of this must be
delivered within the constraints of ‘Legislation’ and ‘Regulation’.
11.3.4.2.2 System Context
In the example shown in Figure 11.11 the ‘Boundary’ is synonymous with
the ‘Focus’ for the System. This is often the case when the interest is on the
‘environmental elements’ those things outside the system which interact with it.
Figure 11.11 shows only the external elements related to a system. This
example black box system represents both the ‘Focus’ and the ‘Boundary’ it has
‘Neighbour’, ‘Utility’, ‘Operations’ and ‘Delivery Project’ as ‘Environmental
elements’ which will influence or interact with the System. On many projects there
is no differentiation between the ‘System’ and the ‘Delivery Project’ but these often
have different requirements which are important to understand.
11.4 Summary
The Context Pattern defines two Viewpoints that allow aspects of context to be
captured. The Context Definition Viewpoint defines the contexts to be considered
and the CDVp defines the Focus, Boundary and Environmental elements.
The Context enables a focal aspect related to a system to be considered and is
key to ensuring work to be carried out can be understood and bounded.
176 Foundations for Model-based Systems Engineering
Further reading
Holt, J., Perry, S. and Brownsword, M. Model-Based Requirements Engineering.
London: IET Publishing; 2011.
Chapter 12
Analysis Pattern
12.1 Introduction
The basis for any improvement is analysis. Analysis is the understanding a situation,
it may include how it comes about and how it may change over time. When we
choose to make an improvement or change we generally have lots of ways we can go
about it and we want to take the least risky approach. This pattern provides the core
understanding behind any analysis to be carried out. It focuses on cause and effect
looking forward and backwards from the change, more specific techniques can be
used to further refine the cause or effect within the analysis.
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Analysis Pattern aims]
«concern» «concern»
Manage risk Understand context «concern»
«constrain» Identify issues
«constrain» «constrain»
«include»
«stakeholder role» «concern»
Project Prioritise issues
«concern» «include»
Analyse System
«include»
«concern»
Suggest mitigation
«include»
«stakeholder role»
Systems Engineer «concern»
Analyse issue
12.2 Concepts
The main concepts covered by the Analysis Pattern are shown in the Ontology
Definition View (ODV) in Figure 12.2.
Key to this pattern is the concept of an ‘Issue’. An ‘Issue’ provides something
to be understood by ‘Analysis’, ‘Issues’ are identified from existing ‘Model’ and
can be prioritised by assessment of ‘Risk’. ‘Analysis’ understands the ‘Issue’ and
provides a ‘Result’ on which a number of ‘Recommendation’ are based. The
intention of the ‘Recommendation’ is to reduce or resolve the ‘Issue’.
Analysis Pattern 179
ODV [Package] Concepts [Ontology Definition View showing Analysis Pattern concepts]
may be related to
1..*
based on
provides assessment of understands
1..*
12.3 Viewpoints
This section describes the Viewpoints that make up the Analysis Pattern. It begins
with an overview of the Viewpoints, defines Rules that apply to the pattern and then
defines each Viewpoint.
12.3.1 Overview
The Analysis Pattern defines a number of Viewpoints as shown in the Viewpoint
Relationship View (VRV) in Figure 12.3.
The Analysis Pattern defines four viewpoints for the performance of the
Analysis Pattern:
● The ‘Issue Identification Viewpoint’ is used to collate identified Issues so that
they are not lost or forgotten.
● The ‘Risk Definition Viewpoint’ is used to prioritise the Issues identified.
● The ‘Analysis Viewpoint’ records the analysis of the Issue, this may be
delivered through many different techniques.
● The ‘Feedback Viewpoint’ records the results and recommendations to be
provided based on the Analysis.
Each of these Viewpoints is described in more detail in the following sections. For
each Viewpoint an example is also given.
180 Foundations for Model-based Systems Engineering
VDV [Package] Overview [Viewpoint Relationship View showing Analysis Pattern Viewpoints]
provides recommendations
«viewpoint» based on
analyses issues from «viewpoint» «viewpoint»
Issue Identification
«ontology relationship» Analysis Viewpoint «ontology relationship» Feedback Viewpoint
Viewpoint
«viewpoint»
Risk Definition
Viewpoint
12.3.2 Rules
Three rules apply to the four Analysis Viewpoints, as shown in the Rules Definition
View (RDV) in Figure 12.4.
RDV [Package] Rules [Rules Definition View showing Analysis Pattern Rules]
Note that the three Rules shown in Figure 12.4 are the minimum that are
needed. Others could be added if required.
AFCV [Package] Issue Identification Viewpoint (IIVp) [Viewpoint Context View showing Issue Identification Viewpoint aims]
«concern»
Understand
context
«concern»
Review model
«constrain»
«include»
«concern»
Identify issues
«include» «concern»
Raise concern
«stakeholder role»
«stakeholder role»
Systems Engineer
Stakeholder
Figure 12.5 Viewpoint Context View showing Issue Identification Viewpoint aims
12.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 12.6 shows the Ontology
Elements that appear on an Issue Identification Viewpoint.
The Issue Identification Viewpoint shows the issues and their relationship
to each other. Each ‘Issue’ will have information stored about it including
‘Description’, ‘ID’ and ‘Raised by’. This information will provide the detail
of the issue to be considered. the ‘Raised by’ ensures the person who originally
noted the ‘Issue’ can be contacted to check exactly what was meant or that any
changes which have been made to the issue by others looking at it make sense.
Relationships between ‘Issue’ could be of many types and the specifics are not
defined here so as to leave the relationships to be defined by those defining the
‘Issue’.
182 Foundations for Model-based Systems Engineering
«viewpoint»
Issue identification
viewpoint
«ontology relationship»
«ontology element»
Issue
- Description
- ID
- Raised by
«ontology relationship»
may be related to
Figure 12.6 Viewpoint Definition View showing the Ontology Elements that
appear on the Issue Identification Viewpoint (IIVp)
«Issue.»
Staff Not motivated
- ID: int = 2
- Raise by: String = SI
«Issue.»
notes
No interesting work
staff become unhappy and leave
- ID: int = 3
- Raised by: String = AP
notes
«Issue.»
work does not capture imagination
Work not started
- ID: int = 1
- Raise by: String = MB
notes
Work doesn't start on time
This example, Figure 12.7 shows three issues which have been raised these all refer
to the level and/or type of work to be done in a company, the Description for each is
captured in the bottom box for each Issue. In this case the descriptions are short and my
need clarification which can be provided by those people referenced by their initials.
The relationships shown here are linked to cause and effect with the perceived
cause being on the left and the perceived effect to the right. Of course this could be
a circular argument and the real point is that the relationships should help to show
the thinking of those who defined the Issues, in this case what may happen if there
is ‘No Interesting work’.
AFCV [Package] Risk Definition Viewpoint (RDVp) [Viewpoint Context View showing Risk definition Viewpoi...
«concern»
Prioritisation criteria «concern»
Define likelihood
«constrain»
«include»
«concern»
Define outcome
«concern» «include»
Prioritise issues
«stakeholder role»
Systems Engineer «include»
«concern»
Consider perception
«include»
«concern»
Consider classification
Figure 12.8 Viewpoint Context View showing Risk definition Viewpoint aims
184 Foundations for Model-based Systems Engineering
The main aim of the Risk Definition Viewpoint is to prioritise issues which
includes:
● ‘Define outcome’ – understanding what the unwanted outcome is based on this
issue.
● ‘Define likelihood’ – understanding what the probability of the outcome
occurring is.
● ‘Consider perception’ – think about what people will say/feel if the outcome
happens.
● ‘Consider classification’ – this can be used if the outcome needs to be grouped
or highlighted, such as a safety related outcome.
Issues will be prioritised based on a ‘Prioritisation criteria’ which may need to be
pre-defined.
12.3.4.1 Description
The VDV in Figure 12.9 shows the Ontology Elements that appear on a Risk
Definition Viewpoint.
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on the Risk Definition Viewpoint (RD...
«viewpoint»
Risk Definition Viewpoint
«ontology element»
«ontology element» Classification
«ontology element» provides assessment of
Issue Risk
«ontology relationship»
«ontology relationship»
«ontology element»
«ontology relationship» Perception
defines
«ontology element» probability of «ontology element» considers stakeholder views of
Likelihood «ontology relationship» Outcome «ontology relationship»
Figure 12.9 Viewpoint Definition View showing the Ontology Elements that
appear on the Risk Definition Viewpoint (RDVp)
Analysis Pattern 185
The Risk Definition Viewpoint shows the ‘Issue’ being prioritised and
the ‘Risk’ associated with it. It also shows the ‘Outcome’, its ‘Likelihood’, any
stakeholder ‘Perception’ of the ‘Outcome’ and any ‘Classification’ which may be
applied.
«Risk»
«Issue.»
Staff Leave
Staff Not motivated
- ID: String = R1
- ID: int = 2
provides assessment of - Chance to Occur: String = Medium
- Raise by: String = SI
- Outcome: String = Staff leave the...
notes - Perception: String = Negative Brand
staff become unhappy - Classification = Red
and leave
notes
Staff leave the company
Figure 12.10 shows a risk defined and associated with one of the Issues from
the Issue Identification Viewpoint. In this case only one ‘Risk’ has been identified
and that is the risk of staff leaving, only one risk has been identified as this is the
only Outcome of real concern to the organisation others may be on loosing work or
making less money. With others a profile of ‘Risk’ may be shown but in this case
the Red ‘Classification’ for the risk means it must be dealt with.
Classifications may be more complex than a Red, Amber, Green as suggested
here they could be on safety, security or mission critical terms with another
characteristic added to show the priority of the ‘Risk’.
AFCV [Package] Analysis Viewpoint (AVp) [Viewpoint Context View showing Analysis Viewpoint aims]
«concern»
Understand cause
«include»
«concern»
Analyse System
«concern»
«include»
Understand effect
«stakeholder role»
Systems Engineer
«include»
«concern»
Record result
12.3.5.1 Description
The VDV in Figure 12.12 shows the Ontology Elements that appear on an Analysis
Viewpoint.
The Analysis view shows the ‘Analysis’ of the ‘Outcome’ including
any ‘Cause Analysis’ and ‘Effect Analysis’. It also shows the ‘Result’ of the
‘Analysis’.
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear on the Analysis Viewpoint (A...
«viewpoint»
Analysis Viewpoint
Figure 12.12 Viewpoint Definition View showing the Ontology Elements that
appear on the Analysis Viewpoint (AVp)
Selects()
selects()
«Result»
Leave
«Result»
Replace Staff
Member
Start recruiting
«Result»
Change Job Role
Staff Leaves
«Result»
Add to workload De-motivate
of remaining staff More Staff
Reduce
headcount
«Result»
Remove Role
leaves this investigates two options; the option at the top of the diagram looks at
what may happen if the company recruits to replace the lost member of staff while
the bottom option looks at reducing the headcount noting that some may lead to
further de-motivation.
Other consequences could be added to this diagram and further detail
considered in terms of probabilities of each branch being taken but this only adds
value in specific instances, the value here is to help people recognise what the
consequences may be.
The ‘Result’ in this Analysis is represented by the leaf elements in each branch
showing multiple possible ‘Result’.
AFCV [Package] Feedback Viewpoint (FVp) [Viewpoint Context View showing Feedback Viewpoint ...
«concern»
Interpret results
«include»
«concern»
Suggest mitigation «concern»
«include» Develop options
«stakeholder role»
Systems Engineer
«include»
«concern»
Structure feedback
12.3.6.1 Description
The VDV in Figure 12.16 shows the Ontology Elements that appear on a Feedback
Viewpoint.
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements that appear...
«viewpoint»
Feedback Viewpoint
Figure 12.16 Viewpoint Definition View showing the Ontology Elements that
appear on the Feedback Viewpoint (FVp)
The feedback viewpoint shows the ‘Result’ of the ‘Analysis’ and each
‘Recommendation’. Each ‘Recommendation’ will provide a possible change which
will affect the ‘Issue’ based on one or more ‘Result’. The intention of this is to
make it clear where each recommendation comes from and clarity on the ‘Issue’ it
is trying to solve.
«Result»
Change Job Role based on «Recommendation»
Recommendation 2
notes
«Result» Get Staff involved in selecting
based on
Cause Analysis work
notes
Bid delivery did not happen as the staff
member writing the bid left as they didn't
think the bid was right for the company and based on
«Recommendation»
therefore wasn't interested in winning the
Recommendation 1
work.
notes
based on Select more interesting work
«Result»
De-motivate
More Staff «Recommendation»
based on Recommendation 4
notes
Talk to staff to find out what
work they would like to do and
«Result» help them to understand where
Replace Staff the company vision, their
Member desires and the work being bid
link together.
«Recommendation»
Recommendation 3
«Result» based on
Remove Role notes
Remove role to give staff more
to do to keep them busy
12.4 Summary
The Analysis Pattern defines four Viewpoints that allow aspects of analysis to be
captured. The Issue Identification Viewpoint captures the issues to be considered, the
Risk Definition Viewpoint defines the risk associated with the issues, the Analysis
Viewpoint provides the analysis of risks considered worthy of analysing and finally the
Feedback Viewpoint provides recommendations based on the results of the analysis.
It is key to ensure that although experts may be used to carry out analysis and
that their expertise can also be used to make decisions that these two aspects are not
conflated. Analysis provides an understanding of a system associated with a set of
recommendations to improve the system. The ‘Recommendation’ allows an expert
to interpret the ‘Result’ of the ‘Analysis’ and provide a focused response from their
point of view, this of course may result in different ‘Recommendation’ from
different experts for the same analysis which in themselves will have to be balanced
out. The key here is not to fall into the trap of paralysis by Analysis.
Further reading
13.1 Introduction
Working with models is an ongoing process as the model will evolve as the project
progresses. Just because a model exists does not mean that it is fit for purpose or
that it has been developed in a logical manner. It is desirable, therefore, to be able
to assess the maturity of a model at any point in time.
The concept of maturity is not a new one and is applied in many other areas,
such as:
● Processes that may be assessed using a maturity model, such as CMMI (Cap-
ability maturity Model Integrated) and ISO 15504 Software Process Assessment.
● People that may be assessed using a competency framework, such as the
INCOSE Competency Framework and SFIA.
● Products using Technology Readiness Levels (TRLs) and their derivatives.
The Model Maturity Pattern provides a mechanism for assessing the maturity of
any model and, therefore, provides a useful input to any maturity assessment
exercise that is model-based. Models can be used to identify, specify, define,
evaluate and analyse any artefact, including: software, systems, processes, com-
petencies, requirements, architectures, etc. Therefore, any maturity assessment that
may be applied to models, may potentially be applied to any artefact.
«concern»
Assess maturity of
model «stakeholder role»
«stakeholder role»
Model System Modeller
«include»
«constrain»
«concern»
Define assessment
criteria
«concern»
Apply to any
{incomplete}
aspect
of the model
«concern» «concern»
Apply to Apply to model
ontologies views
«concern»
Apply to
frameworks
Figure 13.1 Architectural Framework Context View showing Model Maturity Pattern aims
Model Maturity Pattern 195
● ‘Apply to frameworks’. As the Framework contains the Viewpoints that dictate
how the Views will be realised, it is important that the maturity of the under-
lying Framework may be assessed.
● ‘Apply to model views’. The actual content of the model, in the form of the
Views must also be assessed in terms of its maturity.
This Pattern focuses on defining the assessment, rather than identifying distinct
baselines, which is covered by the Epoch Pattern.
13.2 Concepts
The main concepts covered by the Model Maturity Pattern are shown in the
Ontology Definition View (ODV) in Figure 13.2.
«ontology element»
View
1..*
defines maturity of
Figure 13.2 Ontology Definition View showing Model Maturity Pattern concepts
196 Foundations for Model-based Systems Engineering
The diagram here shows the main concepts associated with the Model Maturity
Pattern.
The main concept in the Ontology is that of the ‘Maturity Level’ that defines
the maturity of one or more ‘View’. Each ‘Maturity Level’ is qualified by one or
more ‘Factor’ via a set of one or more ‘Indicator’. A set of one or more ‘Maturity
Level’ is defined that provides a level of maturity of the model. The set of one or
more ‘Factor’ describes the properties of the model that are being assessed, and the
set of one or more ‘Indicator’ defines what is measured.
Each ‘Indicator’ is further described by having one or more piece of ‘Evidence’
associated with it that demonstrates that the Indicator has been satisfied, and one or
more ‘State’ that provides the quality measure for the ‘Indicator’.
13.3 Viewpoints
This section describes the Viewpoints that make up the Model Maturity Pattern. It
begins with an overview of the Viewpoints, defines Rules that apply to the pattern
and then defines each Viewpoint.
13.3.1 Overview
The Model Maturity Pattern defines a number of Viewpoints as shown in the
Viewpoint Relationship View (VRV) in Figure 13.3.
1 1
1..* 1..*
«viewpoint» «viewpoint»
Maturity Level Indicator Definition
Viewpoint Viewpoint
13.3.2 Rules
Five Rules apply to the five Model Maturity Viewpoints, as shown in the Rules
Definition View (RDV) in Figure 13.4.
«rule» «rule»
MM04 MM05
notes notes
The set of Indicators must Each Indicator must have a
have a set of States defined State defined for it
that can be applied to all
Indicators
Figure 13.4 Rules Definition View showing Model Maturity Pattern Rules
198 Foundations for Model-based Systems Engineering
There are five Rules that are applied to the Model Maturity Pattern, which are:
● ‘MM01 – Each Factor must be defined’, that requires a definition for each of
the identified Factors.
● ‘MM02 – Each Maturity Level must be defined’ that ensures that each
Maturity Level has a proper definition.
● ‘MM03 – Each Indicator must be defined’ that ensures that the Indicators that
are used to qualify the Factors is properly defined.
● ‘MM04 – The set of Indicators must have a set of States defined that can be
applied to all Indicators’, that ensures that each Indicator is properly defined in
terms of its associated States.
● ‘MM05 – Each Indicator must have a State defined for it’ that ensures that each
Indicator has a State set for it.
Note that the five Rules shown in Figure 13.4 are the minimum that are needed.
Others could be added if required.
VCV [Package] Maturity Level Definition Viewpoint [Maturity Level Definition Viewpoint]
«concern»
Assess maturity of
model
«include»
«concern»
Define assessment
criteria
«include»
«concern»
Define maturity
levels
13.3.3.1 Description
The Viewpoint Definition View (VDV) in Figure 13.6 shows the Ontology Ele-
ments that appear on a Maturity Level Definition Viewpoint.
«viewpoint»
Maturity Level
Definition Viewpoint
1..*
«ontology element»
Maturity Level
Figure 13.6 Viewpoint Definition View showing the Ontology Elements that
appear on the Maturity Level Definition Viewpoint (MLDVp)
The Maturity Level Definition Viewpoint is a relatively simple one that consist
of a number of Maturity Levels.
«block»
Maturity Level
Model is defined. This allows managers to plot the evolution over time of the
maturity of the System Model.
There are nine Maturity Levels defined, which are:
● ‘Modelling Readiness Level 1: Basic principles observed’
● ‘Modelling Readiness Level 2: Technology concept or application formulated’
● ‘Modelling Readiness Level 3: Characteristic proof of concept’
● ‘Modelling Readiness Level 4: Model defined based on concepts and proof ’
● ‘Modelling Readiness Level 5: Model validated on relevant test applications’
● ‘Modelling Readiness Level 6: Model demonstration in relevant environment’
● ‘Modelling Readiness Level 7: Model demonstration in operational
environment’
● ‘Modelling Readiness Level 8: Model completed and qualified’
● ‘Modelling Readiness Level 9: Model proven through successful mission
operations.’
This description of each Maturity Level is contained within its block on the View
which may also be represented as a table. Using a good MBSE approach, this
table may be automatically generated from the Model.
This View satisfies Rule MM02.
«concern»
Assess maturity of
model
«stakeholder role» «stakeholder role»
Model System Modeller
«include»
«concern»
Define assessment
criteria
«include»
«concern»
Define factors
Figure 13.8 Viewpoint Context View showing Factor Definition Viewpoint aims
«viewpoint»
Factor definition
Viewpoint
1..*
«ontology element»
Factor
Figure 13.9 Viewpoint Definition View showing the Ontology Elements that
appear on the Factor Definition Viewpoint (FDVp)
202 Foundations for Model-based Systems Engineering
The main aim of the Factor Definition Viewpoint is to contribute to the ‘Define
assessment criteria’ aim which itself contributes to the main aim of the Pattern which
is to ‘Assess maturity of model’. This is achieved by the ‘Define factors’ aim.
13.3.4.1 Description
The Factor Definition Viewpoint (FDV) in Figure 13.10 shows the Ontology Ele-
ments that appear on an Interface Connectivity Viewpoint.
«block»
Factor
The Factor Definition Viewpoint is another simple View that identifies and
defines the Factors required to carry out the assessment exercise.
«concern»
Assess maturity of
model
«stakeholder role» «stakeholder role»
Model System Modeller
«include»
«concern»
Define assessment
criteria
«include» «include»
«concern»
«concern» Define states
Define indicators «constrain»
«viewpoint»
Indicator Definition
Viewpoint
1..* 1..*
1..* 1..*
Figure 13.12 Viewpoint Definition View showing the Ontology Elements that
appear on the Indicator Definition Viewpoint (IDVp)
{incomplete}
The main aim of the Factor Definition Viewpoint is to contribute to the ‘Define
assessment criteria’ aim which itself contributes to the main aim of the Pattern
which is to ‘Assess maturity of model’. This is achieved by two aims which are to
‘Define indicators’ and to ‘Define States’.
13.3.5.1 Description
The VDV in Figure 13.14 shows the Ontology Elements that appear on an Interface
Definition Viewpoint.
«concern»
Assess maturity of
model
Figure 13.14 Viewpoint Context View showing Maturity Level Viewpoint aims
«viewpoint»
Maturity Level
Viewpoint
1..* 1..*
Figure 13.15 Viewpoint Definition View showing the Ontology Elements that
appear on the Maturity Level Viewpoint (MLVp)
In this example only three types of Indicator are shown for reasons of brevity
whereas the complete model contains many more (indicated by the {incomplete}
constraint ). These Indicators are:
● ‘Description of Work’, such as a document that describes the scope of the work.
● ‘Source Information’, such as documents, models, books, emails, etc.
● ‘Source Element View’, which is, in this case the View taken from the ACRE
approach to requirements modelling.
The quality measure for each of these is described by the following States:
● ‘Initial’ – some artefacts exist but have not been reviewed and are not held
under configuration management.
● ‘Updated’ – the artefacts have been reviewed and, where necessary, updated to
reflect the results of the review. Artefacts are held under configuration
management.
● ‘Incomplete’ – the artefacts produced have been reviewed but do not reflect the
full set of artefacts for the approach.
● ‘Complete’ – the artefacts produced have been reviewed and reflect the full set
of artefacts for the approach.
● ‘Tailored’ – the artefacts have been tailored for a specific industry.
● ‘Accepted’ – the artefacts produced have been reviewed and accepted as fit for
purpose.
● ‘Adopted’ – the artefacts produced have been validated and accepted as fit for
purposes and now form part of the industry Quality Management System.
This View satisfies Rules MM03 and MM04.
Model Maturity Pattern 207
Level 9
Level 8
Level 7
Level 6
Level 5
Level 4
Level 3
Level 2
Level 1
The main aim of the Maturity Level Viewpoint is to ‘Assess the maturity of the
model’. This aim represents the overall aim of the whole pattern and results in the
output of the assessment exercise.
13.3.6.1 Description
The VDV in Figure 13.15 shows the Ontology Elements that appear on a Maturity
Level Viewpoint.
Figure 13.15 shows the Maturity Level Viewpoint provides the final output of
the assessment by showing each relevant ‘View’ and its associated ‘Maturity Level’.
Pattern should be used to define an Epoch for each baseline of the model under
assessment.
13.4 Summary
The Model Maturity Pattern provides a mechanism for assessing the maturity of a
Model. This assessment may be applied to a whole Model or a specific set of Views
that comprise part of the Model.
The Pattern defines four Viewpoints which allow the specification of the
Maturity Levels, Factors, Indicators and their associated States.
The resulting Views are relatively simple being represented by block diagrams
and a bar chart.
This Pattern provides a useful and powerful input to MBSE Project Manage-
ment activities. When combined with the Epoch Pattern that can be used to define
baselines, this Pattern enables the evolution of the Model over time to be plotted.
The Maturity Level Views also provide a good input into risk assessment activities
for the management of the project.
Further reading
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Part III
Applications of the Patterns
Chapter 14
Requirements Modelling
14.1 Introduction
This chapter discusses a Framework for Requirements modelling and shows the
enabling Patterns that exist within the Framework. The Approach to Context-based
Requirements Engineering (ACRE) Framework has been in use since its early
incarnations as far back as 2001 (Holt, 2001) and has, over the years, been exten-
sively published including a complete book describing the approach (Holt et al.,
2011; Holt and Perry, 2013). The Framework itself has evolved since its first
applications and has been used widely in industry, academia and government for
many years.
The existence of the ACRE Framework pre-dates the patterns presented in this
book, but was used as one of the sources to identify and define a number of
patterns.
14.2 Purpose
The purpose of the ACRE Framework is shown in Figure 14.1.
Figure 14.1 shows the overall Context that describes the Use Cases for the
ACRE Framework for Requirements modelling.
Figure 14.1 shows that the basic Need for the ACRE Context is to define an
approach for requirements engineering (‘Support capture of needs’). There are
three main constraints for this Use Case, which are:
● The approach that is defined must be model-based (‘Must be model-based’)
which is of interest to the ‘MBSE Champion’. This is clearly because this is
part of the larger MBSE effort.
● The approach must ‘Comply with standards’ to ensure that the approach maps
onto best practice.
● The approach must ‘Identify source of needs’ to ensure traceability back to
Source Elements.
212 Foundations for Model-based Systems Engineering
AF Framework Context
MBSE Standard
Champion
Identify source
«constrain» «constrain» of needs
«constrain»
Support
capture
Requirement of needs Ensure
«constrain» consistent style
Engineer Support capture
of requirements Requirement
Manager
«include»
Support capture
Support capture
of capabilities Consider needs
of goals
in context
Define
Tester validation Identify
approach contexts
The main inclusion on this Use Case is to ‘Consider needs in context’ as the ACRE
approach is focussed on context-based modelling, which includes:
«ontology element»
System Context
«ontology element»
is related to Process Context
is related to
{incomplete}
1 0..*
0..* «ontology element»
«ontology element» constrains «ontology element» 1 «ontology element» Stakeholder Context
Rule 1..* 1..* Need Description Context
1 «ontology element»
describes Project Context
1
is elicited describes the «ontology element»
from «ontology element» context of «ontology element» Organisational
Source Element Context
1..* 1..* Need 1..* 1..* Use Case
1..* 1..*
«ontology element»
Stakeholder Role
1..*
yields an
observable result to
«ontology element» «ontology element» «ontology element»
Requirement Goal validates 1..* Scenario
1..* 1..*
«ontology element» «ontology element»
Concern is needed to 1 Capability 1..*
deliver meets
«ontology element»
«ontology element»
Semi-formal
Formal Scenario
Scenario
Figure 14.2 shows the MBSE Ontology for the main concepts that are related to
Need concepts. These are defined as follows:
● ‘Need’ – a generic abstract concept that, when put into a ‘Context’, represents
something that is necessary or desirable for the subject of the Context.
● ‘Need Description’ – a tangible description of an abstract ‘Need’ that is
defined according to a pre-defined set of attributes.
● ‘Goal’ – a special type of ‘Need’ whose ‘Context’ will typically represent one
or more ‘Organisational Unit’ (as an ‘Organisational Context’). Each ‘Goal’
will be met by one or more ‘Capability’.
● ‘Capability’ – a special type of ‘Need’ whose ‘Context’ will typically represent
one or more ‘Project’ (as a ‘Project Context’) or one or more ‘Organisational
214 Foundations for Model-based Systems Engineering
14.3.2 Framework
This section defines the Framework for the ACRE Framework, which is shown in
Figure 14.3.
Figure 14.3 shows that there are six main ACRE Viewpoints that are needed to
define the Views, which are:
● ‘Source Element Viewpoint’. This Viewpoint contains all the Source Elements
that are required in order to get the Needs right.
● ‘Requirement Description Viewpoint’. This Viewpoint contains structured Need
Descriptions. These Need Descriptions are considered individually and will
usually have a number of attributes, or features, associated with each one.
● ‘Definition Rule Set Viewpoint’. This View contains any Rules that may have
to be applied to each Need Description. For example, these may be complexity
Rules in the form of equations or more general text-based Rules.
● ‘Requirement Context Viewpoint’. This View takes the Needs and gives them
meaning by looking at them from a specific point of view by putting them into
Context.
Requirements Modelling 215
«Viewpoint»
Source Element
Viewpoint
1..*
identifies sources
defines context for defines needs in context from of needs on
1 1..*
● ‘Context Definition Viewpoint’. This View identifies the points of view that
are explored in the Requirement Context Viewpoint.
● ‘Validation Viewpoint’. These Views provide the basis for demonstrating that
the Needs can be satisfied by defining a number of Scenarios. These Views can
describe Semi-formal Scenarios or Formal Scenarios.
These Viewpoints are used as a basis for all of the Views that are created as part of
the Model.
14.3.3 Patterns
The Enabling Patterns that can be seen in the ACRE Framework are shown in
Figure 14.4.
Figure 14.4 shows the original Framework for the ‘‘seven views’’ Framework
but this time also shows the Enabling Patterns that have been used.
The Patterns used are as follows:
● Context Pattern that allows the Need Contexts to be defined using the Context
Definition Viewpoint and the Requirement Context Viewpoint.
● Testing Pattern that allows the Validation Viewpoints to be realised.
● Description Pattern that allows the Definition Rule Set Viewpoint and Need
Description Viewpoints to be defined.
The relationship between the Framework Viewpoints and the Pattern Viewpoints is
shown in Table 14.1.
It should also be noted that the Traceability Pattern is used to show all
traceability relationships between Ontology Elements.
216 Foundations for Model-based Systems Engineering
«Viewpoint»
Source Element
Viewpoint
1 1..*
validates use
case on defines constraints on
descriptions
1..* 1..* of needs on
«Viewpoint»
«Viewpoint» Definition Rule
Validation Viewpoint Set Viewpoint
Description Pattern
Testing Pattern
Figure 14.4 Framework showing Enabling Patterns used for the ACRE
Framework
14.4 Discussion
The ACRE Framework uses three main enabling Patterns (the Context, Testing and
Description Patterns) plus the Traceability Pattern. The Traceability Pattern is
particularly important for the ACRE Framework as traceability is an essential part
of any requirements engineering exercise.
The ACRE Framework also shows two Patterns overlapping as the Requirement
Context View as a representation of the context appears in both Patterns.
References
Holt, J. UML for Systems Engineering – Watching the Wheels. IET Publishing;
2001.
Holt, J., Perry, S. and Brownsword, M. Model-Based Requirements Engineering.
IET Publishing; 2011.
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Chapter 15
Expanded requirements modelling – SoSACRE
15.1 Introduction
This chapter discusses the SoSACRE Framework for modelling requirements for
Systems of Systems. This Framework is an extension of the ACRE Framework that
was described in the previous chapter.
The SoSACRE Framework allows the context of both Systems of Systems and
their associated Constituent Systems and allows them to be analysed in terms of
consistency between them. The SoSACRE Framework also extends the Validation
Views so that they encompass Systems of Systems.
The SoSACRE was developed in 2011 and has been in use ever since on a
variety of industry projects.
15.2 Purpose
The purpose of the SoSACRE Framework is shown in Figure 15.1.
Figure 15.1 shows that the main Use Case is to ‘Provide SoS requirements
approach’ that must be applicable to different types of Systems of Systems (the
constraint ‘Apply to different types of SoS’) and also across the whole Life Cycle
(the constraint ‘Apply across life cycle’).
There is one main Use Case that helps to realise this, which is to ‘Provide SoS
requirement engineering processes’. This may at first appear a little odd as there is
only a single include relationship shown here, but this leaves room for future
expansion, for example to define Processes for Requirements management. This
has three main inclusions, which are:
● ‘Understand context’, which applies to both the System of Systems level
(‘Understand SoS context’) and the Constituent System level (‘Understand CS
context’).
● ‘Understand relations between CS and SoS’, which provides the understanding
of the interfaces and interactions between the Constituent Systems and their
System of Systems.
● ‘Define verification & validation criteria’, which ensures that the System of
System both works and satisfies its original Needs.
220 Foundations for Model-based Systems Engineering
Understand
Understand CS
SoS
context
context
Apply to different Apply across
types of SoS life cycle
«constrain»
«constrain»
Understand
context
Provide SoS
requirements
approach Provide
SoS «include»
Requirement
«include» requirements
Engineer
engineering
processes
«constrain»
Comply with
best practice
«include» «include» Standard
Define
Understand verification
relations between and validation
CS and SoS criteria
All of this is constrained by the need to meet current best practice (‘Comply with
best practice’).
1..*
1
«ontology element» represents the need for «ontology element» «ontology element»
System Context System is realised as Product
1 1
1 1..*
1..*
«ontology element» «ontology element» «ontology element» «ontology element»
System Element Constituent System 1..* System of Systems Service
1..*
1
interacts with
«ontology element»
«ontology element»
Acknowledged
Virtual System
System
The next section discusses the changes in the SoSACRE Framework compared to
the ACRE Framework.
15.3.2 Framework
This section defines the Framework for the SoSACRE Framework, which is shown
in Figure 15.3.
1..* 1 1..*
defines needs in «viewpoint»
«viewpoint» «viewpoint»
defines context for context from Requirement
Context Definition Requirement Context
1 1 1..* 1..* Description
Viewpoint Viewpoint
Viewpoint
1 1..*
{incomplete} validates use case on identifies sources of needs on
1..* 1..*
Figure 15.3 shows the main Viewpoints that are needed according to the SoSACRE
Framework. The basic Viewpoints that have been defined are:
● ‘Context Interaction Viewpoint’ – intended to provide an overview of the
relationships between the Contexts of the various Constituent Systems that
make up a System of Systems. Constituent System Context is related to any
other Constituent System Context by considering the System of Systems
Context and identifying the key relationships.
● ‘Validation Interaction Viewpoint’ – intended to provide a combined view of
the Scenarios for Use Cases that are involved in the System of Systems.
Therefore, this Viewpoint combines information from the Validation View-
points for various Constituent Systems
The other Views that are based on the standard ACRE Framework and are not
described here as they were described in the previous chapter.
15.3.3 Patterns
The Enabling Patterns that can be seen in the SosACRE Framework are shown in
Figure 15.4.
Expanded requirements modelling – SoSACRE 223
1..* 1..*
«Viewpoint» «Viewpoint» «viewpoint»
«viewpoint»
Stakeholder Context System Context Source Element
Validation Viewpoint
Definition Viewpoint Definition Viewpoint Viewpoint
Figure 15.4 Framework showing Enabling Patterns used for the SoSACRE
Framework
Figure 15.4 shows the original Framework for the SoSACRE Framework but this
time also shows the Enabling Patterns that have been used.
The Patterns used are as follows:
● Context Pattern, that allows the Context Interaction View to be defined.
● Test Pattern, that allows the Validation Interaction View to be defined.
The relationship between the Framework Viewpoints and the Pattern Viewpoints is
shown in Table 15.1.
15.4 Discussion
Interaction Viewpoint and the Validation Interaction Viewpoint. These two new
Viewpoints re-use the enabling Context Pattern and the Test Pattern.
Further reading
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Chapter 16
Process Modelling
16.1 Introduction
This chapter discusses the ‘‘seven views’’ Framework for Process modelling and
shows the enabling Patterns that exist within the Framework. The ‘‘seven views’’
Framework has been in use since 1999 and was first specified in 2004. The Fra-
mework itself has evolved since its first applications and has been used widely in
industry, academia and government for many years.
The existence of the ‘‘seven views’’ Framework pre-dates the patterns pre-
sented in this book, but was used as one of the source to identify and define a
number of patterns.
16.2 Purpose
The purpose of the ‘‘seven views’’ Framework is shown in Figure 16.1.
«include» Ensure
consistency
with MBSE Be expandable ... for projects
approach «constrain»
«constrain»
«constrain»
Define
Process
approach
Modeller
for process
modelling Provide needs
«include»
«constrain» definition
Be applicable
... standards to different levels «include» «include» Systems
of process Engineering
Manager
Provide process
Provide process
definition
validation
... processes
Standard
... guidelines
Figure 16.1 shows the overall Context that describes the Use Cases for the
‘‘seven views’’ Framework for Process modelling.
● The main use case is concerned with defining an approach to Process modelling
(‘Define approach for process modelling’) which has three main inclusions:
* There must be a mechanism for allowing the basic Needs of the Process to
be defined (‘Provide needs definition’). This is a fundamental Need for all
aspects of the MBSE approach that is advocated in this book and the area
of Process modelling is no exception.
* Obviously, there must be a mechanism to allow the Process itself to be
defined (‘Provide process definition’). This will have to meet the basic
Needs of the Process that are defined in the previous point.
* If the Need has been defined and the Process has been defined, then
there must be a mechanism in place to allow the Process definition to be
validated against the Need (‘Provide process validation’).
There are four main constraints that are applied to defining the approach, which are:
● The approach must be able to be used with different types of Process that exist
at different levels of abstraction (‘Be applicable to different levels of process’),
such as high-level Standards (‘... standards’), medium levels of Process (‘...
processes’) and low-level guidelines (‘... guidelines’).
● The approach must be expandable for different applications (‘Be expandable’).
This expandability cover three example areas here: competence (‘ . . . for
competence’), life cycle modelling (‘ . . . for life cycles’) and project manage-
ment (‘ . . . for projects’).
● The approach must allow for various Processes to mapped together (‘Allow
mapping between processes’).
● The approach must be consistent with the overarching MBSE approach
(‘Ensure consistency with MBSE approach’).
The ‘‘seven views’’ Framework has been extended in several ways to allow mod-
elling of Project Management and Competencies – see chapter 8 of Holt and Perry
(2013) for more details.
«ontology element»
Process «ontology element» «ontology element»
Execution Group 1 Process Group Context 1
is executed
{incomplete}
during
1..*
represents the need for
«ontology element» 1..* «ontology element» 1..* «ontology element»
realises 1
Service Process Process Context
1..* 1..* 1..*
satisfies
1
«ontology element»
Resource 1..* consumes
These Ontology Elements are now used to populate the Framework, which is
described in the next section.
16.3.2 Framework
This section defines the Framework for the ‘‘seven views’’ Framework, which is
shown in Figure 16.3.
«viewpoint» «viewpoint»
defines stakeholder roles in
Requirement Context Stakeholder
Viewpoint 1..* 1 Viewpoint
1..*
defines processes that satisfy
1..*
defines execution of
«viewpoint» «viewpoint» «viewpoint»
defines ontology for processes in
Process Structure Process Content Process Instance
Viewpoint 1 1..* Viewpoint 1 1..* Viewpoint
1 1..*
defines artefacts in
defines behaviour for
1..* 1..*
«viewpoint» «viewpoint»
defines artefacts in
Process Behaviour Information
Viewpoint 1 1..* Viewpoint
Figure 16.3 shows the main Viewpoints that are needed according to the ‘‘seven
views’’ approach Framework. The seven basic Viewpoints that have been defined are:
● The ‘Requirement Context Viewpoint’ (RCV). The ‘Requirement Context
Viewpoint’ defines the Context for the Process, or set of Processes. It will
identify a number of Use Cases, based on the Needs for a Process and any
relevant Stakeholder Roles that are required.
● The ‘Stakeholder Viewpoint’ (SV). The ‘Stakeholder Viewpoint’ identifies the
Stakeholder Roles that have an interest in the Processes being defined. It pre-
sents Stakeholder Roles in a classification hierarchy and allows additional
relationships, such as managerial responsibility, to be added.
● The ‘Process Structure Viewpoint’ (PSV). The ‘Process Structure Viewpoint’
specifies concepts and terminology that will be used for the Process modelling
in the form of an Ontology. If the Process modelling is taken as part of a larger
MBSE exercise, then the Process Structure View will be a subset of the MBSE
Ontology.
● The ‘Process Content Viewpoint’ (PCV). The ‘Process Content Viewpoint’
identifies the actual Processes, showing the Activities carried out and the
Artefacts produced and consumed. The Process Content Viewpoint may be
considered as the library of Processes that is available to any Process-related
Stakeholder Roles.
Process Modelling 229
16.3.3 Patterns
The Enabling Patterns that can be seen in the ‘‘seven views’’ Framework are shown
in Figure 16.4.
Context Pattern
«viewpoint»
defines stakeholder roles in «viewpoint»
Requirement
Stakeholder
Context 1..* 1 Viewpoint
Viewpoint
1..*
Description Pattern defines processes that satisfy
1..*
«viewpoint» «viewpoint» «viewpoint»
defines ontology for defines execution of processes in
Process Structure Process Content Process Instance
Viewpoint 1 1..* Viewpoint 1 1..* Viewpoint
1 1..*
defines behaviour for defines artefacts in
1..* 1..*
«viewpoint» «viewpoint»
defines artefacts in
Process Behaviour Information
Viewpoint 1 1..* Viewpoint
Figure 16.4 Framework showing Enabling Patterns used for the ‘‘seven views’’
Framework
Figure 16.4 shows the original Framework for the ‘‘seven views’’ Framework
but this time also shows the Enabling Patterns that have been used.
The Patterns used are as follows:
● Context Pattern, that allows the Need for the Process to be expressed.
● Test Pattern, that allows the Process Needs to be validated.
● Description Pattern, that allows the elements in the Information and Ontology
Viewpoints to be defined.
The relationship between the Framework Viewpoints and the Pattern Viewpoints is
shown in Table 16.1.
230 Foundations for Model-based Systems Engineering
It should also be noted that the Traceability Pattern is used to show all trace-
ability relationships between Ontology Elements.
16.4 Discussion
Reference
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Further reading
Holt, J. A Pragmatic Guide to Process Modelling. Second edition. Chippenhan, UK:
BCS Publishing; 2009.
Chapter 17
Competence Modelling
17.1 Introduction
This chapter discusses an approach for competency modelling and assessment,
known as the Universal Approach to Competence Assessment and Modelling
(UCAM). The UCAM Framework has been in use since 2009 and was first
formally published in 2011 (Holt and Perry, 2011) and has been expanded upon since
(Holt and Perry, 2013). The Framework itself has evolved since its first applications
and has been used widely in industry, academia and government for many years.
The existence of the UCAM Framework pre-dates the patterns presented in this
book, but was used as one of the source to identify and define a number of patterns.
17.2 Purpose
The purpose of the UCAM Framework is shown in Figure 17.1.
Figure 17.1 shows the overall Context that describes the Use Cases for the
UCAM Framework for Competence modelling and assessment.
The main UCAM requirement is to be able to ‘Assess competency’ which, if it
is to be met, includes requirements to ‘Understand source framework’, ‘Populate
framework’, Set-up assessment’ and ‘Carry out assessment’.
In order to ‘Understand source framework’, then there are additional require-
ments that have to be met to be able to ‘Model source framework’ and to ‘Map
source framework to generic framework’.
Competency assessments are not carried out for their own sake (or, at least,
should not be carried out for their own sake) and so the requirement to ‘Assess
competency’ has a number of variants, showing the need to be able to ‘Assess com-
petency for accreditation’, ‘Assess competency for education’, ‘Assess competency
for recruitment’, ‘Assess competency for staff appraisal’ and ‘Assess competency
for self-assessment’.
It is no coincidence that the four main areas of UCAM were concerned
with understanding any source frameworks to be used (the framework definition
elements), populating the frameworks to be used with the information needed to
enable them to be used (the framework population elements), determining the reason
and scope for an assessment (the assessment set-up elements) and carrying out the
232 Foundations for Model-based Systems Engineering
«concern»
«concern»
Map source
Model source
«stakeholder role» framework to generic
framework
Assessee framework
«stakeholder role»
«concern» Assessment Architect
Carry out «include» «include»
assessment
«concern»
Understand
source
«stakeholder role» framework
Assessor «stakeholder role»
«include» Source Framework
«include»
«concern»
«concern»
Assess
Assess
competency for
competency
accreditation «stakeholder role»
«include» «concern» Reviewer
Set up
assessment
«concern» «include»
Assess «concern»
competency Assess «concern»
competency for «stakeholder role»
for education Assess
recruitment «concern» Assessment Definer
competency for
self-assessment Populate
framework
«concern»
Assess
competency for «stakeholder role»
staff appraisal Assessment Tailor
assessment (the assessment elements). These UCAM processes exist in order to meet
the four main UCAM requirements that make up the requirement to ‘Assess
competency’, that is they exist to meet the requirements to ‘Understand source
framework’, ‘Populate framework’, ‘Set-up assessment’ and ‘Carry out assessment’.
«ontology element»
Resource
exhibits
1
«ontology element» describes abilities of «ontology element» describes measured
Person Competency Profile
1 1 1..*
1..* 1
1..* 1 1 1
«ontology element» requires «ontology element» describes desired «ontology element» «ontology element»
Stakeholder Role Competency Scope Competence Competency Area
1 1 1..* 1
1
1 classifies
1 1..*
«ontology element» is held at «ontology element»
Level Competency 1..*
1 1
1
1..*
«ontology element» «ontology element» «ontology element» «ontology element»
Awareness Expert Indicator Evidence Type
1..* 1
17.3.2 Framework
This section defines the Framework for the UCAM Framework, which is shown in
Figure 17.3.
«viewpoint»
«viewpoint»
Competency Profile
Framework Viewpoint
Viewpoint
1..* 1..*
1..* 1
Figure 17.3 shows the main Viewpoints that are needed according to
the UCAM approach Framework. The four basic Viewpoints that have been
defined are:
● The main aim of the ‘Framework Viewpoint’ is to provide an understanding
of any source Frameworks that are intended to be used as part of the compe-
tency assessment exercise. The Framework Viewpoint is composed of a
number of models of source frameworks that can then be mapped to a generic
framework.
● The main aim of the ‘Applicable Competency Viewpoint’ is to define a subset
of one or more Competencies that are applicable for a particular Organisation
unit. When we create models of Competency Frameworks, it allows us to
understand the specific Competencies and the relationships between them.
In almost all cases, the set of Competencies in the source Framework will
be greater than the Competencies that are relevant for a specific business,
therefore, the Applicable Competency Viewpoint contains a pared-down set of
Competencies from one or more source Framework.
● The ‘Competency Scope Viewpoint’ is concerned with identifying and
defining a Competency Scope for a specific Stakeholder Role. This is needed
as the main input to any competency assessment exercise and provides a
definition of the required Competencies and the Levels at which they must
be held.
● The ‘Competency Profile Viewpoint’ is concerned with the actual competencies
and the levels that have been measured for a Person. A simple way to think about
the two is that the Competency Scope Viewpoint is the main input to a compe-
tency assessment exercise, whereas the Competency Profile Viewpoint is the
output of such an exercise.
It should be noted that for each of these Viewpoints, an associated set of Views will
be generated.
17.3.3 Patterns
The Enabling Patterns that can be seen in the UCAM Framework are shown in
Figure 17.4.
Figure 17.4 shows the original Framework for the UCAM Framework but this
time also shows the Enabling Patterns that have been used.
The Pattern is used are as follows:
● Description Pattern
The relationship between the Framework Viewpoints and the Pattern Viewpoints is
shown in Table 17.1.
It should also be noted that the Traceability Pattern is used to show all traceability
relationships between Ontology Elements.
236 Foundations for Model-based Systems Engineering
Description Pattern
«viewpoint»
«viewpoint»
Competency Profile
Framework Viewpoint
Viewpoint
1..* 1..*
1..* 1
Figure 17.4 Framework showing Enabling Patterns used for the UCAM
Framework
17.4 Discussion
only covers the basis modelling of Competences. When this is performed in real life
there will also be an associated set or Processes for carrying out the assessment,
which will use the Patterns shown in the Process Modelling Application.
References
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Holt, J. and Perry, S. A Pragmatic Guide to Competency. Chippenham, UK:
BCS Publishing; 2011.
Chapter 18
Life Cycle Modelling
18.1 Introduction
This chapter discusses the Life Cycle Modelling Framework that is an expansion of
the ‘‘seven views’’ Process Modelling Framework discussed in Chapter 16.
The Life Cycle Framework, like all of the other Frameworks, is flexible in its
application and an example of it can be seen in chapter 8 of SysML for Systems
Engineering – A Model-Based Approach.
Processes have an inherent relationship with Life Cycles, but the nature of this
relationship and, indeed, the nature of Life Cycles are often misunderstood. There
are many different types of Life Cycle that exist, including, but not limited to:
● Project Life Cycles. Project Life Cycles are perhaps, along with Product Life
Cycles, one of the more obvious examples of applications of Life Cycles. We
tend to have rigid definitions of the terminal conditions of a Project, such as
start and end dates, time scales, budgets, resources and so a Project Life Cycle
is one that many people will be able to identify with.
● Product Life Cycles. Again, another quite obvious one is to consider the Life
Cycle of a Product. It is relatively simple to visualise the conception, devel-
opment, production, use and support and disposal of a Product.
● Programme Life Cycles. Most Projects will exist in some sort of higher-level
Programme. Each of the Programmes will also have its own Life Cycle and,
clearly, this will have some constraint on the Life Cycles of all Projects that are
contained within it.
● System procurement Life Cycles. Some Systems may have a procurement Life
Cycle that applies to them. From a business point of view, this may be a better way
to view a Product, or set of Products, than looking at the Product Life Cycle alone.
● Technology Life Cycles. Any technology will have a Life Cycle. For example,
in the world of home computers, the accepted norm for removable storage was
magnetic tapes. This was then succeeded by magnetic discs, then optical discs,
then solid-state devices and then virtual storage. Each of these technologies has
its own Life Cycle.
● Equipment Life Cycles. Each and every piece of equipment will have its own
Life Cycle. This may start before the equipment is actually acquired and may
end when the equipment has been safely retired. Stages of the equipment life
cycle may describe its current condition, such as whether the equipment is in
use, working well, degrading and so on.
240 Foundations for Model-based Systems Engineering
● Business Life Cycle. The business itself will have a Life Cycle. In some cases,
the main driver of the business may be to remain in business for several years
and then to sell it on. Stages of the Life Cycle may include expansion or
growth, steady states, controlled degradation and so on.
These different types of Life Cycle not only exist, but often interact in complex
ways. Also, each of these Life Cycles will control the way that Processes are exe-
cuted during each Stage in the Life Cycle.
The Life Cycle Modelling Framework is a good example of how the ‘‘seven
views’’ Framework has evolved to encompass more than simply Processes. With
addition of a few Patterns, it was possible to extend an existing Framework into
something with a far wider scope.
18.2 Purpose
The purpose of the Life Cycle Modelling Framework is shown in Figure 18.1.
Figure 18.1 shows the overall Context that describes the Use Cases for the Life
Cycle Modelling Framework.
Identify gates
«include»
«include»
{incomplete}
System
Define epochs ... for Life Cycle ... for Life Cycle
Model
The main Use Case is concerned with defining Life Cycles (‘Define life
cycles’) which includes four other Use Cases.
The ‘Identify stages’ and ‘Identify gates’ Use Case are concerned with iden-
tifying the Stage and Gate elements that make up the Life Cycle.
Another key part of this application is to able to model multiple Life Cycles is
concerned with identifying interactions (‘Identify interactions’) in two ways:
● Identifying interactions for Life Cycles (‘ . . . for Life Cycle’) that are applied
to the Life Cycle View.
● Identifying interactions for Life Cycle Models (‘ . . . for Life Cycle Model’)
that are applied to the Life Cycle Model View.
The Framework is also concerned with managing and configuring the Life Cycle,
therefore there is a need to define Epochs (‘Define Epochs’).
The Stakeholder Roles that are shown on the diagram represent some of the
types of Life Cycle that may exist. Note that not all of the types of Life Cycle are
shown here, as indicated by the {incomplete} constraint.
interfaces with
1 1..*
interacts with
1..* 1..*
1 1
assesses the execution of
Figure 18.2 shows the MBSE Ontology for the main concepts that are related
to the Life Cycle Modelling Framework. These are defined as follows:
● ‘Life Cycle’ – a set of one or more ‘Stage’ that can be used to describe the
evolution of ‘System’, ‘Project’, etc over time.
● ‘Life Cycle Model’ – the execution of a set of one or more ‘Stage’ that shows
the behaviour of a ‘Life Cycle’.
● ‘Stage’ – a period within a ‘Life Cycle’ that relates to its realisation through
one or more ‘Process Execution Group’. The success of a ‘Stage’ is assessed by
a ‘Gate’.
● ‘Gate’ – a mechanism for assessing the success or failure of the execution of a
‘Stage’.
● ‘Life Cycle Interface’ Point – the point in a ‘Life Cycle’ where one or more
‘Life Cycle Interaction’ will occur.
● ‘Life Cycle Interaction’ – the point during a ‘Life Cycle Model’ at which one
or more ‘Stage’ interact with each other.
● ‘Process Execution Group’ – an ordered execution of one or more ‘Process’
that is performed as part of a ‘Stage’.
● ‘Epoch’ that defines a point during the Life Cycle of the Project or System that
will form a reference point for Project activities. An Epoch will apply to a
specific baseline of the System Model, but not all baselines will be an Epoch.
Epochs may be evolved from other Epochs, and may evolve into other Epochs.
● ‘Applicable Viewset’ that is a subset of the ‘System Model’ and comprises one
or more ‘View’. These Views that make up the Epoch will be visualised by one
or more ‘Diagram’.
The link to the ‘‘seven views’’ Process Modelling Ontology is achieved via the
‘Process Execution Group’ – see chapter 7 of Holt and Perry (2013).
18.3.2 Framework
This section defines the Framework for the Life Cycle Modelling Framework,
which is shown in Figure 18.3.
«viewpoint»
«viewpoint» «viewpoint»
describes execution of Interaction
Interaction Behaviour Baseline Content
Identification
Viewpoint 1..* 1 Viewpoint
Viewpoint
1..* 1
1..* 1
18.3.3 Patterns
The Enabling Patterns that can be seen in the Life Cycle Modelling Framework are
shown in Figure 18.4.
1..* 1
«viewpoint» «viewpoint» «viewpoint»
describes execution of defines baseline for
Life Cycle Model Life Cycle Baseline Definition
Viewpoint 1..* 1 Viewpoint 1 1..* Viewpoint
Figure 18.4 Ontology showing Enabling Patterns used for the Life Cycle
Modelling Framework
Figure 18.4 shows the original Framework for the Life Cycle Modelling
Framework but this time also shows the Enabling Patterns that have been used.
The Patterns used are as follows:
● Life Cycle Pattern, that allows the Life Cycles, Life Cycle Models and their
associated interactions to be defined.
● Epoch Pattern, that allows baselines to be created based on the Life Cycle.
244 Foundations for Model-based Systems Engineering
The relationship between the Framework Viewpoints and the Pattern Viewpoints is
shown in Table 18.1.
18.4 Discussion
The Life Cycle Framework has clear and obvious links to the Life Cycle Pattern, as
one would expect. The Framework also shows, however, how baselines may be
defined for the Model based on the Life Cycle.
The use of the Epoch Pattern here to establish baselines is a simple, yet pow-
erful, addition to the Framework. Note that not all of the Epoch Pattern Viewpoints
are used, as there is no measurement taking place in this example. Of course, it is
perfectly possible to include the missing Viewpoints from the Epoch Pattern
depending on the underlying need.
Reference
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Part IV
Using the MBSE Patterns
Chapter 19
Defining Patterns
19.1 Introduction
Like all aspects of model-based systems engineering, successful pattern definition
takes practice. However, the pattern definer is not alone. This chapter will discuss
the practice of pattern definition, and will provide the novice pattern definer with
useful guidance on the practice of pattern definition
After a brief recapitulation of the Framework for Architectural Frameworks
(FAF) in the next section, an in-depth discussion of pattern definition follows in
Section 19.3. This attempts to show some of the thought processes involved and
issues that have to be covered when defining a pattern. This is done using the
Description Pattern from Chapter 10 as an example. Section 19.4 then turns to the
importance of how Viewpoints are realised, discussing the importance of and giv-
ing guidance on examples in pattern definition. The chapter concludes with a
summary and references.
«perspective»
Architectural Perspective
«viewpoint»
«viewpoint» is derived from «viewpoint»
Ontology Definition
AF Context Viewpoint 1 1 Rules Definition Viewpoint
Viewpoint
1 1 1
{The Rules Definition Viewpoint is
related to ALL the other Viewpoints
is derived from defines viewpoints is derived from and defines the Rules that
using elements from constrain the Architectural Framework.
Relationships to other Viewpoints are
omitted from this diagram for clarity.}
1..* 1..* 1
«viewpoint» «viewpoint» «viewpoint»
Viewpoint Context Viewpoint Definition Viewpoint Relationships
Viewpoint Viewpoint Viewpoint
1 1 1 1
defines viewpoint to meet needs from defines relationships between viewpoints defined in
1 1 1 1..*
interacts with
1..*
has an describes the context of
is outside «stakeholder role» interest in
1 1..* 1..*
1..* Stakeholder Role 1..* 0..*
1..* «ontology element»
yields an observable result to Use Case
1..*
1..*
is within
«ontology element»
«ontology element»
Architectural Framework
Concern
Concern
An AFCV defines the Context for the pattern, showing the pattern Concerns in
context, establishing why the pattern is needed. When using SysML, an AFCV is
usually realised as a use case diagram.
«viewpoint»
Ontology Definition
Viewpoint
«ontology element»
Ontology
1..*
is related to
An ODV defines the Ontology for the pattern. It is derived from the AFCV and
defines concepts (Ontology Elements and Ontology Relationships) that can appear
on a Viewpoint. When using SysML, an ODV is usually realised as a block definition
diagram.
250 Foundations for Model-based Systems Engineering
«viewpoint»
Viewpoint Relationships
Viewpoint
1..* 1..*
1
«ontology element» collects together «ontology element»
Viewpoint Perspective
1..* 1
1..*
is related to
A VRV identifies the Viewpoints that are required, shows the relationships
between the Viewpoints that make up the pattern. It is often derived from the ODV.
When using SysML, a VRV is usually realised as a block definition diagram.
«viewpoint»
defines point of view of «ontology element»
Viewpoint Context
1 Context
Viewpoint
1
«viewpoint»
Viewpoint Definition
Viewpoint
1..
1..
«ontology element»
Viewpoint
values
ID : Text
Description : Text
Name : Text
1
1..*
is related to
As discussed in Chapter 3, when defining a pattern there are six essential questions
that must be considered. These questions are repeated below:
1. What is the purpose of the pattern? It is essential that the purpose and aims
of the pattern are clearly understood so that it can be defined in a concise and
consistent fashion.
2. What concepts must the pattern support? All patterns should be defined
around a set of clearly defined concepts that the pattern is defined to address.
For example, a pattern that addresses issues of proof might contain the con-
cepts of evidence, claim, argument etc.
3. What different ways of considering the identified concepts are required to
fully understand those concepts? Often it is necessary to consider the con-
cepts covered by a pattern from a number of different points of view (known in
Defining Patterns 253
«viewpoint»
Rules Definition
Viewpoint
1..*
«ontology element»
Rule
«ontology element»
constrains values 0..*
Architectural
ID : Text
Framework 1 1..*
Description : Text
1
is related to
6. What rules constrain the use of the pattern? All patterns are intended to be
used to address a specific purpose and so it is important that rules governing
the use of the pattern are defined to aid in its correct use. For example, is there
a minimum set of Viewpoints that have to be used for the pattern to be both
useful and use correctly? Are there relationships between Viewpoints that
have to be adhered to for the pattern to be used correctly, for example are
there dependencies between Viewpoints such that information captured on one
requires the use of a related Viewpoint? The point of such rules is to ensure
consistency. A pattern is not just a set of unrelated pictures that exist in iso-
lation; when used correctly the result is a set of diagrams that work together to
present the identified concepts in a coherent and consistent fashion.
This section will show how, using these questions, the FAF and PaDRe (the Pattern
Definition and Realisation process – see Appendix D), a pattern is defined. Each of
these questions will be considered in turn and will be used to show how the
Description Pattern from Chapter 10 was defined. This section is, in essence, an
attempt to document the thought processes that took place in the mind (and mod-
elling tool!) of the pattern definer. Although each of the six questions will be
considered in turn, the reader should bear in mind that the actual process was not
carried out in such a linear manner, being far more iterative and involving jumps
from question to question and back again. Wherever possible, such jumps will be
noted. Also, the style adopted in the following sub-sections will be somewhat more
informal than in the rest of the book, with much written in the first person (both
singular and plural). Again, this is done in order to give the reader a flavour of the
thought processes and working methods of the pattern definer (as to which of the
three authors defined this pattern, answers on a postcard!).
● The relationships that a model element has to other model elements. Descrip-
tion often relies on context and juxtaposition, so we felt it important that the
Description Pattern allow a model element’s relationships to be captured. This
needed to cover the three common types of relationship, that of decomposition
(allowing the way a model element is decomposed into parts) to be captured,
taxonomy (allowing ‘‘type’’ relationships to be shown) and general associa-
tions between elements.
● Extended, multi-lingual descriptions of model elements. Much modelling,
particularly in the software engineering domain, requires textual descriptions
of aspects of a system to be localised into a number of languages. We wanted
the Description Pattern to support this concept so that a model element could
have multiple versions of any descriptive text, each in a different language. We
also wanted to allow both brief descriptions and longer descriptions to be
created. We also wanted the pattern to capture, as part of these localised
descriptions, information on the language used and to do so in a way that was
consistent with best practice. This resulted in us deciding that the ISO639
language codes and ISO3166 country codes should be a basis for any such
language coding. This in turn led us to the concept of language tags as defined
by the Internet Engineering Task Force. For references to these standards, see
the ‘Further readings’ section in Chapter 10.
Having thought about these issues and having identified a number of source stan-
dards, we produced the AFCV seen in Section 10.1.1 and reproduced in Figure 19.8.
As mentioned in the introduction to this section, the application of the FAF
through PaDRe is, in practice, less linear than both this narrative and PaDRe would
suggest and this is the case here. While thinking about the purpose and producing
the AFCV we also started thinking about the concepts (discussed in the Sec-
tion 19.3.2) and some of the rules (discussed in Section 19.3.6); these ideas were
captured on initial versions of the ODV and RDV as they occurred to us, rather than
waiting for the ‘‘correct’’ stage in the process.
The last point is an important modelling point; the modeller has to be prag-
matic and flexible. A modelling process such as PaDRe will work as documented,
but is necessarily rather linear and restrictive as it is attempting to define a
repeatable set of steps that someone can follow, and that has to work for someone
who may have never done the kind of work that the process is defining before.
However, once familiar with such a process it becomes, to some extent, internalised
and the modeller can execute the process in a more pragmatic and flexible fashion.
This does not mean ignoring the process and doing your own thing; all the steps of
the process have to be followed correctly otherwise rubbish will result. But, it
allows for switching between different parts as necessary according to the practical
way that the artefacts being developed by the process evolve. When creating an
AFCV it is natural to think about concepts (Ontology Elements in the language of
the FAF), so capture them when they occur to you rather than waiting until you get
to the invocation of the ‘Ontology Definition Process’, for example. But, and here
is the crucial point, capture them in the way that later process, for example the
256 Foundations for Model-based Systems Engineering
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Description Pattern aims]
Description Pattern Context
Comply with
standards
«constrain»
«stakeholder role»
User
Support Allow
localisation breakdown into
parts to
be shown
«include» «include»
Support
description Allow
of elements relationships with
«include» other elements
to be shown
«include»
«stakeholder role» «include» Allow
Systems Engineer «include»
element's position
in a type hierarchy
Support to be shown
identification Support
of properties identification
of behaviours
Figure 19.8 Architectural Framework Context View for the Description Pattern
‘Ontology Definition Process’, defines. For us, it meant sketching the start of an
ODV and an RDV as the concepts and rules suggested themselves.
The last sentence contains a key word: ‘‘sketching’’. By ‘‘sketching’’ we really
do mean applying a drawing instrument to paper or whiteboard. Although the use of
a proper modelling tool is essential in defining the patterns fully, the authors’ rarely
jump straight into their tool of choice. We almost always do all our initial model-
ling on paper or whiteboards (and sometime on ‘‘ePaper’’ on our tablet devices of
choice) before firing up our SysML tool.
So, in summary, whenever you think you might have a new pattern, ask
yourself exactly what the purpose of the pattern is. Write down your thoughts on
the purpose and think about what you have written some more. You are aiming to
clearly articulate the purpose of the pattern. Document the purpose using an AFCV.
At this point, stop and think some more. Are there too many use cases? If there are,
then perhaps you have multiple patterns or even the beginning of a framework. You
want each pattern to have a clearly defined and well-bounded purpose. Also, do not
be afraid to capture other information as it occurs to you. It is quite common, when
producing an AFCV, to start thinking about concepts that the pattern will need to
Defining Patterns 257
support and also possible rules on how it will be used. Start to capture these
thoughts on the appropriate View (for example, on an ODV or RDV).
When you are happy that you have captured the purpose of the pattern, it is
time to address the second question.
ODV [Package] Concepts [Ontology Definition View showing Evidence Pattern concepts]
«ontology target
relationship» child 0..* 0..* «ontology
is a type of «ontology element» relationship» «ontology element»
Element source Element Description
parent 0..* is related to
1
values values
whole 1 Name : String Brief description : String
«ontology relationship»
«ontology Description : String Full description : String
relationship» is 1 describes 0..* Language code : Language Code
broken down part 0..* Presentation name : String
into «ontology relationship»
0..* 0..*
«ontology element» «ontology element»
Property Behaviour
In summary, take the AFCV and, thinking about the Use Cases on the AFCV,
create an ODV containing Ontology Elements and Ontology Relationships that
capture the concepts that are needed to address the Use Cases. Be prepared to begin
work on the ODV while working on the AFCV; as discussed previously, this is
perfectly fine and is the way that the authors work. Also, remember that the ODV
forms the heart of the pattern; the Viewpoints that the pattern defines can use only
(and all) those concepts that appear on the ODV. This might mean that you will
need to revisit the ODV later in the process. Perhaps, when defining a Viewpoint,
new concepts will be discovered that must be added to the ODV. Or, conversely,
when all Viewpoints have been defined you find that there are concepts that have
not been included in any Viewpoint. If you haven’t missed a Viewpoint, then these
concepts should be removed from the ODV.
So, you have defined what the pattern is for and identified the concepts that the
pattern needs to address. It is now time to address the third question.
Defining Patterns 259
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Description Pattern aims]
«include»
«include»
C
Support description
of elements
Allow relationships
«include»
with other elements
to be shown
«include»
«stakeholder role»
Systems Engineer «include» «include»
B
Allow element's position in a
type hierarchy to be shown
Support identification
of properties Support identification
of behaviours
Figure 19.10 AFCV showing possible Viewpoints through grouping of Use Cases
260 Foundations for Model-based Systems Engineering
ODV [Package] Concepts [Ontology Definition View showing Evidence Pattern concepts]
«ontology target
relationship» child 0..* 0..*
«ontology
is a type of «ontology element» relationship» «ontology element»
Element source is related to Element Description
parent 0..* C 1
values values
whole 1 Name : String A Brief description : String
«ontology «ontology relationship» Full description : String
relationship» Description : String
1 describes 0..* Language code : Language Code
is broken Presentation name : String
part 0..*
down into
B
«ontology relationship»
0..* 0..*
«ontology element» «ontology element»
Property Behaviour
Figure 19.11 ODV showing Ontology Elements on each of the possible Viewpoints
So now you have a set of candidate Viewpoints. Look for significant overlaps
in the Ontology Elements and Ontology Relationships that will appear on each
Viewpoint. There is nothing wrong with having Ontology Elements appearing on
multiple Viewpoints; in fact, this is quite common. However, ask yourself whether
a significant overlap is giving you anything. Do you need the separate Viewpoints
or could they be combined. Don’t forget that a Viewpoint defines what can appear
on a View based on that Viewpoint. Careful definition will allow some Ontology
Elements and Ontology Relationships to be optional. This means that a single
Viewpoint can be realised by multiple Views, each with a slightly different
emphasis, thus avoiding the need for separately defined Viewpoints.
When we were defining the Description Pattern we were immediately struck by
the significant overlap between Viewpoints ‘B’ and ‘C’. Viewpoint ‘B’ could show
an ‘Element’ and its breakdown into ‘Property’ and ‘Behaviour’ but no relationships.
Viewpoint ‘C’ could show an ‘Element’ and its relationships, but not its breakdown
into its ‘Property’ and ‘Behaviour’. This seemed to us to be limiting. By combining
Viewpoints ‘B’ and ‘C’ into a single Viewpoint, then any View based on this com-
bined Viewpoint could show both the breakdown into ‘Property’ and ‘Behaviour’
and relationships, but need not show both. If a modeller just wanted to show the
breakdown into ‘Property’ and ‘Behaviour’, then the Viewpoint would allow it.
Defining Patterns 261
If just relationships were to be shown, then that could be done too. And if both were
wanted, then that would also be possible using the same Viewpoint.
We revised our mark-up of the AFCV as shown in Figure 19.12.
AFCV [Package] Pattern Aims [Architectural Framework Context View showing Description Pattern aims]
Description Pattern Context
Comply with
A standards
«constrain»
«stakeholder role»
User Allow
Support breakdown
localisation into parts to
be shown
«include» «include»
Support
description Allow
of elements relationships
«include» with other
elements to be
«stakeholder role» «include» shown
Systems Engineer «include»
«include» Allow element's
position in a type
Support hierarchy to
Support
identification be shown
identification of
of properties
behaviours B
Figure 19.12 AFCV showing final Viewpoints through grouping of Use Cases
And similarly, we revised our mark-up of the ODV as shown in Figure 19.13.
A note of caution should be made here. What you consider ‘‘significant over-
lap’’ is, of course, subjective. Why not have a single Viewpoint that covers all the
concepts, for example? There is no easy answer to this. Try to be pragmatic, think
whether the groupings of Use Cases feel ‘‘natural’’ and always remember that
patterns are there to help and so should be easy to understand and use. A single
Viewpoint which can be used with different emphasis in a couple of ways seems
reasonable. One that can be used in 10 different ways would suggest that you would
be better having four or five different Viewpoints.
The final step is naming the Viewpoints and creating the VRV. Try to keep the
names short. Views based on Viewpoint will probably be known by an acronym
based on their name (at least, we always do that. For example, we always talk about
‘‘ODVs’’ and rarely use the full name). For this reason, Viewpoints with two, three
262 Foundations for Model-based Systems Engineering
ODV [Package] Concepts [Ontology Definition View showing Evidence Pattern concepts]
«ontology target
relationship» child 0..* 0..* «ontology
is a type of relationship»
«ontology element» «ontology element»
source is related to
Element Element Description
parent 0..* 1
values values
whole 1 Name : String A Brief description : String
«ontology Description : String «ontology relationship» Full description : String
relationship» is 1 describes 0..* Language code : Language Code
broken down Presentation name : String
part 0..*
into
«ontology relationship»
0..* 0..*
B
«ontology element» «ontology element»
Property Behaviour
Figure 19.13 ODV showing Ontology Elements on each of the final Viewpoints
or four word names work best. The groupings of Use Cases on the AFCV may
suggest names. The two Viewpoints in the Description Pattern were named the
‘Element Description Viewpoint’ (corresponding to the ‘A’ grouping on the AFCV)
and the ‘Element Structure Viewpoint’ (corresponding to the ‘B’ grouping). The
VRV is reproduced in Figure 19.14.
VRV [Package] Overview [Viewpoint Relationship View showing Description Pattern Viewpoints]
provides extended
«viewpoint» descriptions for element on «viewpoint»
Element Structure Element Description
Viewpoint 1 0..* Viewpoint
So, in summary, use the AFCV to identify logical groupings of Use Cases. Each
such grouping is a candidate Viewpoint. Mark up the ODV to show the Ontology
Elements and Ontology Relationships corresponding to these groupings. Look at the
marked up ODV and think about overlap. Can a single Viewpoint achieve the same
as multiple Viewpoints? Beware, however, too much combining of Viewpoints.
When you are happy with the candidate Viewpoints, revise the AFCV and ODV
groupings as appropriate. Name your Viewpoints and produce a VRV.
At this point, keep your marked up AFCV and ODV as these annotated dia-
grams will prove invaluable when answering the fourth and fifth questions. With
Defining Patterns 263
the Viewpoints identified it is time to start defining them. First, we will think about
the purpose of each Viewpoint by asking the fourth question.
VCV [Package] Element Structure Viewpoint (ESVp) [Viewpoint Context View showing Element Structure Viewpoint aims]
«concern»
Allow breakdown into
parts to be shown
«include»
«concern»
Support
description «concern»
of elements Allow relationships
«include» with other elements to
be shown
«include» «include»
«stakeholder role» «include» «concern»
Systems Engineer Allow element's position
in a type hierarchy
«concern» to be shown
Support identification «concern»
of properties Support identification
of behaviours
Figure 19.15 Viewpoint Context View for the Element Structure Viewpoint
264 Foundations for Model-based Systems Engineering
VDV [Package] Description [Viewpoint Definition View showing the Ontology Elements tha...
target
is a type of child 0..* 1..* 0..*
is related to
«ontology element»
Element source
parent 0..* 1
values
whole 1 Name : String
Description : String
is broken down
into
part 0..*
0..* 0..*
Figure 19.16 Viewpoint Definition View for the Element Structure Viewpoint
you want to add that are not on the ODV, then it is necessary to revisit the ODV
(and in fact, the AFCV) and go through questions 1–4 again.
In summary, take the marked-up ODV used to identify Viewpoints and create a
VDV for each Viewpoint. As a starting point, each VDV will contain the Ontology
Elements and Ontology Relationships that were grouped for that Viewpoint on the
marked-up ODV. Think about which concepts are mandatory for a Viewpoint. If
missing concepts are spotted, add them to the ODV and start again by revisiting the
AFCV and re-asking question 1.
Although the PaDRe ‘Viewpoint Definition Process’ says to create a VCV and
then a VDV for each Viewpoint in turn, you may find it easier to do all the VDVs in
one hit following the creating of all the VCVs. Whichever works best for you is fine.
266 Foundations for Model-based Systems Engineering
RDV [Package] Rules [Rules Definition View showing Evidence Pattern Rules]
notes notes
Language code must be different All the properties of an Element
for all Element Descriptions that Description (Presentation name,
describe the same Element. Brief description etc.) must be
written in the language indicated «rule»
by that Element Description's Rule DP07
Language code.
notes
The Brief description or Full description of an Element
«rule» «rule» Description may, if necessary, refer to a different Element. If
Rule DP06 Rule DP08 such a reference is need, then it is done via:
- The Name of the referenced Element if that Element has
notes notes
All Element Descriptions for a given no Element Descriptions.
An Element Structure View can only - The Presentation name from one of the referenced
Element must be translations of each have one Element that is the focus
other. Element's <fon
i.e. only a single Element will have
its Description, Properties and
Behaviours shown. All other
Elements that appear on an ESV are
those to which the Element forming
the focus are related.
the way they are used. You may also need to look at the VCVs and VDVs for
Viewpoints when considering restrictions in the use of Ontology Elements and
Ontology Relationships and of individual Viewpoints.
The Rules are there to add consistency to the use of a pattern. They are a set of
explicit Rules that capture aspects of consistency that reinforce, build on and add to
the implicit consistency that the Ontology Relationships on the ODV and various
VDVs define for the pattern. When implementing patterns in a SysML tool, these
Rules together with the implicit ODV/VDV consistency rules can be implemented
in the tool as automated checks to ensure correct use of the pattern.
● Remember that the same concepts (Ontology Elements and Ontology Rela-
tionships) can be realised in different ways on different Viewpoints. For
example, in the ‘‘seven views’’ process modelling approach in chapter 7 of
Holt and Perry (2013), the concept of Stakeholder Role appears on both the
Requirement Context Viewpoint (RCVp) and the Stakeholder Viewpoint
(SVp). Typically, an RCVp is realised as a SysML use case diagram with
Stakeholder Roles realised as actors. An SVp is realised as a SysML block
definition diagram with Stakeholder Roles realised as blocks.
● Ensure that all the concepts for each Viewpoint are shown. Don’t miss out any
concepts; the examples must provide coverage for all the concepts covered by
a particular Viewpoint. If a single diagram would be too messy or complicated,
provide multiple examples to illustrate all the concepts.
● Comment on Rules. Include a discussion of the conformance to Rules in the
descriptive text accompanying each example.
Above all, aim to ensure that someone reading the pattern definition for the first
time gets a clear understanding of how the pattern is used. Try to anticipate any
questions they may have about realising Viewpoints and address such questions in
the examples.
19.5 Summary
When defining a pattern, structure and consistency can be achieved by using the
FAF and the PaDRe processes to help guide and document a pattern. The six key
questions are used by the pattern definer as guidance through the application of
FAF and PaDRe:
1. What is the purpose of the pattern? Whenever you think you might have a
new pattern, ask yourself exactly what the purpose of the pattern is. Write
down your thoughts on the purpose and think about what you have written
some more. You are aiming to clearly articulate the purpose of the pattern.
Document the purpose using an AFCV. At this point, stop and think some
more. Are there too many use cases? If there are, then perhaps you have mul-
tiple patterns or even the beginning of a framework. You want each pattern to
have a clearly defined and well-bounded purpose. Also, do not be afraid to
capture other information as it occurs to you. It is quite common, when pro-
ducing an AFCV, to start thinking about concepts that the pattern will need to
support and also possible rules on how it will be used. Start to capture these
thoughts on the appropriate View (for example, on an ODV or RDV).
2. What concepts must the pattern support? Take the AFCV and, thinking
about the Use Cases on the AFCV, create an ODV containing Ontology Ele-
ments and Ontology Relationships that capture the concepts that are needed to
address the Use Cases. Be prepared to begin work on the ODV while working
on the AFCV; as discussed previously, this is perfectly fine and is the way that
the authors work. Also, remember that the ODV forms the heart of the pattern;
the Viewpoints that the pattern defines can use only (and all) those concepts
270 Foundations for Model-based Systems Engineering
that appear on the ODV. This might mean that you will need to revisit the ODV
later in the process. Perhaps, when defining a Viewpoint, new concepts will be
discovered that must be added to the ODV. Or, conversely, when all View-
points have been defined you find that there are concepts that have not been
included in any Viewpoint. If you haven’t missed a Viewpoint, then these
concepts should be removed from the ODV.
3. What different ways of considering the identified concepts are required to
fully understand those concepts? Use the AFCV to identify logical groupings
of Use Cases. Each such grouping is a candidate Viewpoint. Mark up the ODV
to show the Ontology Elements and Ontology Relationships corresponding to
these groupings. Look at the marked up ODV and think about overlap. Can a
single Viewpoint achieve the same as multiple Viewpoints? Beware, however,
too much combining of Viewpoints. When you are happy with the candidate
Viewpoints, revise the AFCV and ODV groupings as appropriate. Name your
Viewpoints and produce a VRV. At this point, keep your marked up AFCV and
ODV as these annotated diagrams will prove invaluable when answering the
fourth and fifth questions.
4. What is the purpose of each Viewpoint? Take the marked-up AFCV used to
identify Viewpoints and create a VCV for each Viewpoint. As a starting point,
each VCV will contain the Use Cases that were grouped for that Viewpoint on
the marked-up AFCV. If necessary, expand on the Use Cases on each VCV. If
missing concerns are spotted, add them to the AFCV and start again by revi-
siting the AFCV and re-asking question 1. Although the PaDRe Viewpoint
Definition Process says to create a VCV and then a VDV for each Viewpoint in
turn, you may find it easier to do all the VCVs first. Whichever works best for
you is fine.
5. What is the definition of each Viewpoint in terms of the identified con-
cepts? Take the marked-up ODV used to identify Viewpoints and create a
VDV for each Viewpoint. As a starting point, each VDV will contain the
Ontology Elements and Ontology Relationships that were grouped for that
Viewpoint on the marked-up ODV. Think about which concepts are mandatory
for a Viewpoint. If missing concepts are spotted, add them to the ODV and start
again by revisiting the AFCV and re-asking question 1. Although the PaDRe
Viewpoint Definition Process says to create a VCV and then a VDV for each
Viewpoint in turn, you may find it easier to do all the VDVs in one hit fol-
lowing the creating of all the VCVs. Whichever works best for you is fine.
6. What rules constrain the use of the pattern? When defining Rules, think
about the four types identified and use these types, along with (typically) the
ODV and VRV to think about how you want the pattern to be used. Look at
relationships between Viewpoints and ask what these relationships imply in
terms of a minimum set of Viewpoints that must be realised when using the
pattern. Also, think about the dependencies between Viewpoints. Does realis-
ing one Viewpoint mean that you have to also realise other related Viewpoints,
or can it be realised in isolation? Look at the Ontology Elements and Ontology
Relationships on the ODV and think about any restrictions in the way they are
Defining Patterns 271
used. You may also need to look at the VCVs and VDVs for Viewpoints when
considering restrictions in the use of Ontology Elements and Ontology Rela-
tionships and of individual Viewpoints.
As well as answering the six questions and producing the various FAF Views
needed to define the pattern, you must ensure that someone reading the pattern
definition for the first time gets a clear understanding of how the pattern is used.
Try to anticipate any questions they may have about realising Viewpoints and
address such questions by creating examples of each Viewpoint in the pattern, i.e.
create an example View that shows how each of the pattern Viewpoints may be
realised. Use a consistent example throughout the pattern and include in your
examples a discussion of the realisation method adopted.
Reference
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Chapter 20
Using Patterns for model assessment
20.1 Introduction
Patterns can be used in many ways, one of these is as an assessment tool
considering the extent of existing Frameworks. This chapter will discuss the
practice of model assessment by applying a simple set of metrics to different
aspects of a Framework.
This chapter will provide two example assessments before describing the
application of the Epoch Pattern which has been used to carry them out. The
examples are not defined using the FAF as this is likely to make the assessment too
easy to deliver and will not show the benefit of applying assessments to any model.
The examples will take an existing ontology from a partially defined Framework
and a set of Viewpoints from another partial Framework.
In each assessment a number of Patterns from Part 2 will be selected and
compared with the example model, the results of this comparative assessment and
discussion of the meaning and effect will follow.
When assessing a Framework we aim to look at all of the FAF views. However,
often the complete set of views isn’t available as is the case with ToGAF where an
ontology is provided. This section focuses on recognising Patterns within existing
frameworks and assessing the Framework completeness based on Pattern-based
comparison.
The Ontology in this section has been defined purely for the purpose of this
example but is representative of a number of existing Ontologies which have been
defined in industry.
Figure 20.1 shows an Ontology with ‘Requirement’ which deliver ‘Goal’ and
‘Solution’ which answer ‘Requirement’. ‘Solution’ is then made up of ‘Process’
and ‘Agent’ which delivers ‘Function’. ‘Agent’ interfaces with each other and may
be delivered by a ‘System’ or ‘Role’. Each ‘Interface’ is made up of ‘Protocol’,
‘Information’, ‘Owner’ and ‘Physical’ aspects.
From a brief review of the available Patterns described in Part 2 there are likely
to be three Patterns which can be applied to this ontology these are Context,
274 Foundations for Model-based Systems Engineering
Goal
delivers
answers
Requirement Solution
Interface
Process Agent
Delivers
Protocol
Function
Information
System Role
Owner
Physical
Interface and Description Patterns. These Patterns have been selected based on a
knowledge of the purpose of the ontology in Figure 20.1 and the purposes of each
of the Patterns, a fuller analysis could compare the requirements for the Ontology
with Pattern aims to identify overlaps. However, in this case the requirements for
the Ontology have not been formalised, as it has not been defined using the FAF,
this means personal knowledge or interpretation is required reducing the rigour
of the assessment.
The assessment has been carried out by taking each Pattern in turn comparing
the concepts in the Pattern with those in the Ontology and comparing the
relationships in the Pattern with those on the Ontology (Figure 20.1).
Firstly we will look at the way the Context Pattern maps, Figure 20.2, onto the
Ontology in Figure 20.1. Considering the ‘Requirement’ as the ‘Focus’ of a ‘Context
description’ and the ‘Goal’ as a ‘Context’ a mapping between these two Ontologies
can be formed. A qualitative analysis of this mapping may show:
● 40% of concepts delivered
● 0% of relationships delivered
These metrics suggest a medium strength mapping to the concepts in the Ontology
and a weak mapping to the relationships this weak mapping suggests a review of
Using Patterns for model assessment 275
ODV [Package] Concepts [Ontology Definition View showing Context Pattern concepts]
0..*
«ontology relationship»
2..*
«ontology element»
Context element
interacts with
«ontology relationship»
the initial Ontology would be helpful as there is likely to be the need to extend the
‘Requirement’ related aspects in Figure 20.1.
Considering the Ontology from the Interface Pattern using the ‘Agent’ from
Figure 20.1 to map to the ‘System Element’, the ‘Interface’ concept from
Figure 20.1 to map to the ‘Interface’ Figure 20.3 and the component parts of the
interface in Figure 20.1 to map to ‘Interface definition’, ‘Port’ and ‘Protocol’ in
Figure 20.3. In this case the results of the mapping metrics are:
● 50% concept coverage
● 50% relationship coverage.
This mapping is much stronger than the previous one but still suggests there may
be room for improvement, although the missing areas could be considered to
be technically focused and may not be needed in the model, in this case the
comparison for improvement must also consider the context of the Framework.
The Description Pattern shown in Figure 20.4 should apply to all elements
in the Ontology in Figure 20.1, however, the local description concept is not
defined also only a limited set of relationships are shown the results of the metrics
would be:
● 50% concept coverage
● 60% relationship coverage.
ODV [Package] Concepts [Ontology Definition View showing Interface Definition concepts]
1
Interacts with
«ontology element» 1..* «ontology element»
Flow Type System Element
0..* 1
uses owns
1..* 0..*
«ontology element»
«ontology element» «ontology element»
Service-Based
Flow-Based Interface Protocol
Interface
ODV [Package] Concepts [Ontology Definition View show ing Description Pattern concepts]
target
is a type of child 0..* 0..*
is related to
«ontology element» «ontology element»
Element source Element Description
parent 0..* 1
values values
Name : String describes Brief description : String
whole 1
Description : String Full description : String
1 0..*
Language code : Language Code
is broken down Presentation name : String
into part 0..*
0..* 0..*
As the Description Pattern applies to all elements on the ontology in Figure 20.1 we
need to consider this result in a slightly different way, in this case the main point of
the pattern is the concept of the ‘Element Description’ and the relationships which
can be made between ‘Elements’.
The Ontology in Figure 20.1 does not identify the ‘Element Description’
concept and as this is a critical element of every model it should be added in a
relevant way. This addition may not be as simple as it sounds as before the
Ontology can be updated we must check that its own purpose is still fulfilled once
the aspect has been added. In this case the purpose of the ontology is to represent
the implemented system and although having a description is key the element
description would be out of place on a delivered system based ontology. It is likely
that to solve this issue a wider consideration of the programme Ontology, rather
than the design, should be developed.
Requirements
Needs Viewpoint
provides elements to scope
(next level down)
Behaviour structure
considers interactions
between Uses elements from
allocates activities from System
Scenario Process/Capability Interaction
Breackdown
Viewpoint viewpoint Viewpoint
Viewpoint
Emergent Properties
Performance Security
Viewpoint Viewpoint
RAM Viewpoint
VRV [Package] Overview [Viewpoint Relationship View showing Context Pattern Viewpoints]
«viewpoint» «viewpoint»
defines contexts which are identified on
Context Identification Context Description
Viewpoint 1..* Viewpoint
half of the Concerns map, specifically the Focus and Environmental Element
concerns. Overall this provides metrics of:
● 50% Viewpoint mapping
● 0% relationship mapping.
Context Description Viewpoint – Framework concern mapping:
● 50% concern mapping.
Context Identification Viewpoint – Framework concern mapping:
● 0% concern mapping.
It is good to see that the Viewpoints in the example Framework cover the context
description aspects of the Context Pattern but the clarity provided by the ‘Context
Identification Viewpoint’ to identify those Contexts to be considered is likely to
help greatly in the understanding and definition of the system.
From the Description Pattern the ‘Element Structure Viewpoint’, in
Figure 20.7, maps to the ‘System Breakdown Viewpoint’ and the ‘Interface
Viewpoint’, in Figure 20.5. Comparing the ‘System Breakdown Viewpoint’ with
the ‘Element Structure Viewpoint’ concerns four out of the six concerns map to the
purpose of the ‘System breakdown view’ with a fifth ‘Allow relationship with other
elements to be shown’ mapping to the ‘Interface Viewpoint’. As these five concerns
are all included in the overall concern it is reasonable to argue that the overall
concern is also satisfied. This provides metrics of:
● 50% view mapping
● 0% relationship mapping.
Element structure Viewpoint – Framework concern mapping
● 100% concern mapping.
Element Description Viewpoint – Framework concern mapping.
● 0% concern mapping.
Using Patterns for model assessment 281
VRV [Package] Overview [Viewpoint Relationship View showing Description Pattern Viewpoints]
provides extended
«viewpoint» descriptions for element on «viewpoint»
Element Structure Element Description
View point 1 0..* View point
We must be clear in this case that that 100% mapping only applies to the ‘Element
Structure Viewpoint’ as the ‘Element Description Viewpoint’ is not covered by the
Viewpoints in Figure 20.5.
VRV [Package] Overview [Viewpoint Relationship View showing Interface Definition Viewpoints]
«viewpoint»
Interface Identification Viewpoint
From the Interface Pattern the ‘Interface Identification Viewpoint’ and the
‘Interface Definition Viewpoint’ in Figure 20.8 both map to the ‘Interface Viewpoint’
in Figure 20.5, in the first instance this suggests that there may be missing Viewpoints
in Figure 20.5 as a small proportion of the Viewpoints map. The metrics show:
● 40% Viewpoint mapping
● 0% relationship mapping.
Interface Identification Viewpoint – Framework concern mapping
● 66% concern mapping.
Interface Definition Viewpoint – Framework concern mapping
● 100% concern mapping.
282 Foundations for Model-based Systems Engineering
VDV [Package] Overview [Viewpoint Relationship View showing Analysis Pattern Viewpoints]
provides recommendations
«viewpoint» based on
analyses issues from «viewpoint» «viewpoint»
Issue Identification
«ontology relationship» Analysis Viewpoint «ontology relationship» Feedback Viewpoint
Viewpoint
«viewpoint»
Risk Definition Viewpoint
On the first inspection it appears that none of the Analysis Pattern Viewpoints
in Figure 20.9 map to the Viewpoints in Figure 20.5, considering this as a direct
comparison this appearance would be correct and the metric will score 0% for
Viewpoints and relationships. On further investigation the ‘Emergent properties’
section of Figure 20.5 provides Viewpoints for Safety, Security, Human Factors,
Performance, RAM (Reliability, Availability and Maintainability) and EMC
(Electromagnetic Compatibility). These Viewpoints are each intended to cover
all of the Viewpoints defined in the Analysis Pattern. In this case the detail in
Figure 20.5 is more focused on multiple applications of the Pattern rather than a
mapping to individual Viewpoints within the Pattern. This suggests that this area of
Figure 20.5 has been delivered at a different level of abstraction in turn this
suggests there is an expectation that those working with these Viewpoints under-
stand the detail which is expected to be captured within.
The Viewpoint found in the Test Pattern, Figure 20.10, is the ‘Test Behaviour
Viewpoint’ as a type of ‘Test Case Viewpoint’ which maps to the ‘Interaction
Viewpoint’ in Figure 20.5 providing a mapping metric of:
● 14% viewpoint mapping
● 0% relationship mapping.
VRV [Package] Overview [Viewpoint Relationship View showing Testing Pattern Viewpoints]
«viewpoint»
Test Structure Viewpoint
1
«viewpoint» «viewpoint»
satisfies «viewpoint»
Testing Context Test Schedule Behaviour
Test Set-up Viewpoint
Viewpoint 1 1..* Viewpoint
1 1..*
defines execution of
1..*
satisfies «viewpoint»
«viewpoint»
Test Set Behaviour
Test Case Viewpoint
1..* Viewpoint
1..*
defines test behaviour for
«viewpoint» «viewpoint»
«viewpoint»
Test Configuration Test Behaviour
Test Record Viewpoint
Viewpoint Viewpoint
1 1..* 1 0..*
Epochs as the ontology and Viewpoints are not from the same Model, each could
have repeated assessments in time for which new Epochs would be defined and
related to these.
«Epoch»
Ontology Assessment
«Epoch»
Viewpoint
Assessment
Further reading
The Open Group, The Open Group Architecture Framework; 2011. Version 9.1.
Available from http://pubs.opengroup.org/architecture/togaf9-doc/arch/
[Accessed April 2016]
Chapter 21
Using Patterns for model definition
21.1 Introduction
Model-based Systems Engineering best practice advises the use of an Architectural
Framework (AF) when developing a model of a System.
In an ideal world, a suitable ready-made AF would be available from the start
of the project. Failing this, the project would start by defining its own AF using the
FAF and ArchDeCon (see Holt and Perry (2013, chapter 11).
However, sometimes even this is not possible and work must start on a System
model with no AF in place. However, all is not lost. There may be existing Patterns
or application Frameworks that can be used. This book provides a number of
enabling Patterns in Part II that can be used in the development of a System model.
For example, if confronted with the need to model Interfaces, then look at the
Interface Pattern. A number of application Frameworks (many discussed in Part III
above) are given in Holt and Perry (2013) that can be used directly in the devel-
opment of the System model. For example, need to model Requirements? Then use
the ACRE Framework. Processes? Use the ‘‘seven views’’ Framework etc.
While such Patterns and Frameworks can be used in an ad hoc fashion, a better
approach is to use them in a more controlled way, developing an AF in a piecemeal
manner. This means that rather than simply using any appropriate Patterns and
Frameworks in an uncontrolled and unstructured fashion, they are used to evolve an
AF throughout the life cycle of a project, growing the AF and using it before growing
it some more. This chapter discusses such an approach that was used by the authors
over a period of nine months (and which, at the time of writing is ongoing) with a
customer in the automotive domain. It shows how, starting with the ACRE Frame-
work and using a number of enabling Patterns found in this book, a rich AF was
developed that to date contains Perspectives covering Requirements, Systems, Safety
& Diagnostics and Traceability.
«ontology element»
System Context
«ontology element»
is related to Process Context
is related to
{incomplete}
1 0..*
0..* «ontology element»
«ontology element» constrains «ontology element» «ontology element» Stakeholder Context
Rule Need Description 1 Context
1..* 1..*
1
«ontology element»
describes Project Context
is related to
1 1
1..*
validates
«ontology element» «ontology element» «ontology element»
Requirement Goal 1..* Scenario
1..* 1..*
«ontology element»
Capability
is needed to deliver 1 1..* meets
so Capability was renamed. They were also concerned about the quality of some of
the Source Elements that they were using for the sources of Needs. A relatively
cursory reading of some of the Source Elements made them realise that they would
have to make a number of assumptions about Needs elicited from these Source
Elements. For this reason, the concept of Assumption was added to the Ontology.
The revised Ontology Definition View (ODV) is shown in Figure 21.2.
An ‘Assumption’ justifies one or more ‘Need Description’. Any Assumption
created in the model had to be confirmed as a valid Assumption; this gave a check
when reviewing the model. Any Need Description with associated Assumptions
could only be progressed once the Assumptions were confirmed. Such a con-
firmation is made through new Source Elements. If they were found to be invalid,
then the related Need Descriptions were either removed from the model or revised
and new Assumptions created if necessary.
The final change was not to Ontology Elements, but to the names of View-
points. For historical reasons, ACRE has a Requirement Description Viewpoint and
a Requirement Context Viewpoint. However, these Viewpoints can show any of the
types of Need (Requirement, Feature or Goal) and not just Requirements. For this
reason, the opportunity was taken to rename these Viewpoints to the Need
Description Viewpoint and Need Context Viewpoint. The revised Viewpoint
Relationships View (VRV) is given below in Figure 21.3.
Using Patterns for model definition 289
is related to
1
0..*
constrains «ontology element»
«ontology element»
Rule System Context
1..*
«ontology element»
is related to Process Context
{incomplete}
1..* 0..*
«ontology element»
«ontology element» justifies «ontology element» «ontology element» Stakeholder Context
Assumption Need Description 1 Context
0..* 1..*
0..* 1
«ontology element»
describes Project Context
is related to confirms
1 0..* 1
«ontology element»
0..* «ontology element» is elicited from «ontology element» describes the context of «ontology element» Organisational Context
Source Element Need Use Case
1..* 1..* {abstract} 1..* 1..*
1..*
validates
«ontology element» «ontology element» «ontology element»
Requirement Goal 1..* Scenario
1..* 1..*
«ontology element»
Feature
is needed to deliver 1 1..* meets
«viewpoint»
Source Element
Viewpoint
1..*
identifies sources of needs on
defines context for defines needs in context from
«viewpoint» «viewpoint»
«viewpoint»
Context Definition Need Description
Need Context Viewpoint
Viewpoint Viewpoint
1 1..*
1..* 1..*
«viewpoint»
«viewpoint»
Definition Rule Set
Validation Viewpoint
Viewpoint
The ACRE Framework was then released to the customer so that initial
requirements engineering work could take place. In order to ensure correct trace-
ability throughout the evolving model, the traceability to be captured in the Fra-
mework also evolved throughout the use of the Framework. Traceability is
discussed in Section 21.7.
As initial requirements engineering work drew to a close, attention turned to
extending the Framework to cover the concepts around Systems. This is considered
in the next section.
target
is a type of child 0..* 0..*
is related to
«ontology element» «ontology element»
Element source Element Description
parent 0..* 1
values values
Name : String describes Brief description : String
whole 1
Description : String 1 0..* Full description : String
Language code : LanguageCode
is broken down
into Presentation name : String
part 0..*
0..* 0..*
The Description Pattern was only used as a starting point. The new structural
Viewpoints were concerned primarily with the concept of an ‘Element’ broken
down into zero or more ‘part’ ‘Element’, so any new Viewpoint had to explicitly
allow such breakdown to be captured. There was no requirement to allow detailed,
variant descriptions of Element, so the ‘Element Description’ concept from the
Description Pattern was not used. Another key concern was that the ‘Behaviour’
concept had to be represented in the Viewpoint in a way that would allow any such
Using Patterns for model definition 291
«ontology element»
Element
values
whole 1 Name : String
Description : String
is broken down
into part 0..*
0..*
«ontology element»
Behaviour
Figure 21.5 The concepts from the Description Pattern ODV used
The customer, as is common in most organisations, used different terms for the
concept of an ‘Element’ depending on where it appeared in a system hierarchy.
This meant that the Description Pattern ODV had to be ‘‘unwound’’ and the cus-
tomer’s terms inserted at the correct place. This was done and resulted in the ODV
shown in Figure 21.6.
At the highest level of the hierarchy is the ‘System’ that is composed of one or
more ‘Subsystem’ which itself is composed of one or more ‘Component’. Each
‘Component’ is composed of one or more ‘Item’ and one or more ‘Function’, with
one or more ‘Function’ deployed onto one or more ‘Item’. Each ‘Function’ could
send and receive one or more ‘Message’. Note that although a ‘Message’ could be
received by one or more ‘Function’, it could only be sent be a single ‘Function’.
Finally, the key links between these system concepts and those from the ACRE part
of the Framework were established. An ‘Function’ or a ‘Message’ satisfies one or
more ‘Need Description’ and each ‘Need Description’ has to be satisfied by zero or
292 Foundations for Model-based Systems Engineering
«ontology element»
System
1..*
«ontology element»
Subsystem
1..*
«ontology element»
Component
1..* 1..*
sends
receives
1..* 1..*
satisfies
«ontology element»
Message 0..1
Figure 21.6 The Ontology Definition View for the System concepts
one ‘Function’ or ‘Message’. This was key to the way that the customer was
designing their system. Ultimately all Need Descriptions had to be satisfied by
Functions and Messages; the breaking down of a System through Subsystems,
Components and Items was aimed at identifying the Functions and Messages that
would satisfy the Need Descriptions and deliver the system functionality.
Given that the customer used the term System, it was decided that a single
‘System Structure Viewpoint’ would suffice at this stage of the project. This echoes
the purpose of the Element Structure Viewpoint from the Description Pattern, but
uses the Ontology from Figure 21.6. The Viewpoint Definition View (VDV) for the
System Structure Viewpoint is shown in Figure 21.7.
The Framework now consisted of seven Viewpoints grouped into two Per-
spectives, as shown in Figure 21.8.
Using Patterns for model definition 293
«viewpoint»
System Structure
Viewpoint
1 1..*
receives
«ontology element»
1..* Message
Figure 21.7 The Viewpoint Definition View for the System Structure Viewpoint
«perspective» «perspective»
Requirements Perspective System Perspective
«viewpoint» «viewpoint»
Context Definition Source Element
Viewpoint Viewpoint
1 1..*
identifies sources of needs on
defines context for defines needs in context from
«viewpoint» «viewpoint»
«viewpoint» shows satisfaction of needs on
Need Description System Structure
Need Context Viewpoint
Viewpoint 1..* 1..* Viewpoint
1 1..*
1..* 1..*
«viewpoint»
«viewpoint»
Definition Rule Set
Validation Viewpoint
Viewpoint
sends
1..* 1
satisfies receives
«ontology element» «ontology element»
Message 1..* 1..* Function
0..1
1..*
«ontology element» justifies «ontology element»
Assumption Need Description 0..*
0..* 1..*
«ontology element» «ontology element»
0..* 1 1 Context Component
confirms describes
is related to is related to 1..*
1 0..* 1
«ontology element» is elicited from «ontology element» describes the context of «ontology element»
0..* «ontology element»
Source Element Need Use Case
1..* 1..* Subsystem
{abstract} 1..* 1..*
1..* 1..*
validates
1..*
«ontology element»
System
«ontology element» «ontology element» «ontology element»
Requirement Goal Scenario
1..* 1..*
«ontology element»
Feature
is needed to deliver 1 1..* meets
Once work had started on defining system structure, attention turned to the
detailed definition of interfaces, which is considered in the next section.
21.4 Interfaces
1
interacts with
«ontology element» 1..* «ontology element»
Flow Type System Element
0..* 1
uses owns
1..* 0..*
«ontology element»
«ontology element» «ontology element»
Service-Based
Flow-Based Interface Protocol
Interface
In the system being developed, interfaces can occur at any level in the hier-
archy, so there was a need to revise the Ontology to allow this. ‘System Element’
was renamed ‘Interfaceable Object’. This could be any of System, Subsystem,
Component, Item or Function. These changes were made as shown in the revised
ODV in Figure 21.11.
One additional change, shown on Figure 21.11, was making ‘Message’ a type
of ‘Flow Type’. This captured the nature of Messages in the system model, as
things that flow between Functions across Flow-Based Interfaces.
«ontology element»
System
1 «ontology element»
interacts with
Subsystem
«ontology element» «ontology element» 1..* «ontology element»
Flow Type Message Interfaceable Object «ontology element»
Component
0..* 1 «ontology element»
Item
uses owns
«ontology element»
Function
1..* 0..*
«ontology element»
«ontology element» «ontology element»
Service-Based
Flow-Based Interface Protocol
Interface
«rule»
Rule ID7
notes
Interfaceable Objects interacting MUST be of
the same type (e.g. Item to Item) OR an
Interfaceable Object must be connected to a
Port of its owning (parent) Interfaceable
Object (e.g. the Port on an Item can be
connected to the Port of its owning
Component).
Figure 21.12 The additional Interface Pattern Rule added to the Framework
The Viewpoints defined by the Interface Pattern were all added to the Framework.
The VDVs had to be updated as appropriate to reflect the change from ‘System
Element’ to ‘Interfaceable Object’ and the fact that ‘Flow Type’ now had ‘Message’ as
a sub-type. The Framework now contained the Viewpoints shown in Figure 21.13.
«perspective» «perspective»
Requirements Perspective System Perspective
1..* 1..*
defines interfaces shown on
Notice in Figure 21.13 how the Viewpoints from the Interface Pattern have
been added to the ‘System Perspective’. The growing Ontology, including the
concepts taken from the Interface Pattern, is shown in Figure 21.14.
While the systems team was defining the system structure and interfaces, the
safety and diagnostics teams were working on analysing the functional safety and
«ontology element»
Flow Type
sends 0..*
uses
1..* 1 1..*
takes place
satisfies receives
«ontology element» «ontology element» «ontology element» across «ontology element» «ontology element»
Message 1..* 1..* Function Port Connection Interface Connection Interface Definition
0..1 1 0..*
0..1 1..* 1..* 1
is deployed
is related to onto
1 constrains satisfies 1..*
0..* «ontology element»
«ontology element» «ontology element» Protocol
0..* 0..* describes
Rule 1..* Item
1..* 1..*
«ontology element»
is needed to deliver 1 Feature 1..* meets
functional diagnostics for the system. Although using traditional techniques, it was
decided that the safety and diagnostic aspects of their work be captured in the
SysML model, primarily for completeness and ease of traceability. For this reason,
it was decided to extend the Framework, first to cover safety and then diagnostics.
Safety is considered in the next section.
«ontology element»
Need
{abstract}
«ontology element»
satisfies satisfies
Subsystem-Level
1..* Safety Goal 1..*
have through inheritance. They can be used on the same Viewpoints from the
Requirements Perspective as can ‘‘vanilla’’ Requirements and Goals. This may
seem obvious to some readers, but probably not to all, and is one of the key
strengths of modelling concepts and looking for connections between new concepts
and established ones. If such connections are found, such as here realising that
Functional Safety Requirements are just special types of Requirement and that the
three types of Safety Goal are just special types of Goal, then all of the reuse that
comes in through relationships such as inheritance immediately gives a much richer
and more powerful Framework without requiring any additional work.
Next the key safety concepts were captured as shown in Figure 21.16.
As shown in Figure 21.16, one or more ‘Cause’ causes one or more ‘Fault’.
One or more ‘Fault’ exhibits zero or more ‘Hazard’. These three concepts, together
with those of Functional Safety Requirement and the three types of Safety Goal, are
directly related to the system structural concepts from the System Perspective.
These relations are shown in Figure 21.17.
1..* 1..*
Looking at Figure 21.17, it can be seen that zero or more ‘Functional Safety
Requirement’ applies to one ‘Component’ and one or more ‘Functional Safety
Requirement’ satisfies one or more ‘Component-Level Safety Goal’. One or more
‘Component-Level Safety Goal’ satisfies one or more ‘Subsystem-Level Safety
Goal’ which in turn satisfies one or more ‘System-Level Safety Goal’. The ‘Sub-
system-Level Safety Goal’ and ‘System-Level Safety Goal’ apply to a single
‘Subsystem’ and ‘System’, respectively. Note that a ‘Component-Level Safety
Goal’ does not directly apply to a ‘Component’, but does so through a ‘Functional
Safety Requirement’. One or more ‘Functional Safety Requirement’ mitigates
against one or more ‘Fault’ and one or more ‘Hazard’ violates one or more ‘Sys-
tem-Level Safety Goal’. The Ontology in Figure 21.17 provided a direct definition
for a ‘Safety Traceability Viewpoint’, shown in Figure 21.18.
«viewpoint»
Safety Traceability
Viewpoint
satisfies
1..*
applies to «ontology element»
«ontology element» Subsystem-Level
Subsystem 1 1..* Safety Goal
0..* 1..*
satisfies
«ontology element»
Component-Level
0..* Safety Goal 1..*
0..* 0..*
«ontology element» satisfies 1..*
«ontology element» applies to Functional Safety
1..*
Component 1 0..* Requirement
0..* 1..* mitigates against 1..*
exhibits
«ontology element» occurs at «ontology element» 1..*
Function 1..* 0..* Fault
0..* 0..*
0..* 1..*
«ontology element» {OR}
Item occurs at
causes «ontology element»
1..* 0..*
1..* Cause
Figure 21.18 The Viewpoint Definition View for the Safety Traceability Viewpoint
Structure Viewpoint. The ‘Safety Traceability Viewpoint’ was added to the Fra-
mework in a new ‘Safety & Diagnostics Perspective’, giving a new version of the
Framework as shown in Figure 21.19.
«perspective»
Safety & Diagnostics Perspective
«viewpoint»
Safety Traceability
Viewpoint
1..*
1..*
1..* 1..*
defines interfaces shown on
The concepts from Figure 21.17 are shown as part of the growing Ontology in
Figure 21.20.
Once the Safety Traceability Viewpoint had been released, the Framework was
then extended to cover diagnostics concepts, as discussed in the following section.
The concepts relating to diagnostics were very similar to those relating to safety.
The organisation had the concepts of functional diagnostic requirements and
diagnostic goals, with the diagnostic goals applying at the System, Subsystem and
Component level of the system hierarchy. The first step, therefore, was to extend
the concepts in the Requirements Perspective to cover these additional concepts.
This was straight-forward, as shown Figure 21.21.
occurs at
1..* «ontology element» 0..*
Fault occurs at
1..* 0..* «ontology element»
1..* Flow Type
1..*
«ontology element» «ontology element» «ontology element»
satisfies
Functional Safety Component-Level System-Level
1..* Requirement 1..* 1..* Safety Goal Safety Goal
0..* 1..* 1..* 1..* 1..*
«ontology element»
satisfies satisfies
Subsystem-Level
1..* Safety Goal 1..* violates
1..*
«ontology element»
0..* Hazard
applies to
«ontology element»
Need
{abstract}
1..* 1..*
As shown in Figure 21.22, one or more ‘Cause’ causes one or more ‘Fault’.
One or more ‘Fault’ exhibits zero or more ‘Effect’. These three concepts, together
with those of Functional Diagnostic Requirement and the three types of Diagnostic
Goal, are directly related to the system structural concepts from the System Per-
spective. These relations are shown in Figure 21.23.
1..*
satisfies
1..* 1..*
applies to «ontology element»
«ontology element»
«ontology element» 1 1..* Functional satisfies Component-Level
Component Diagnostic 1..* 1..* Diagnostic Goal
Requirement
1..*
diagnoses
1..* 1..*
Again, the structure of Figure 21.23 is exactly the same as Figure 21.17 due to
the mirrored concepts between safety and diagnostics. It can be seen that zero or
more ‘Functional Diagnostic Requirement’ applies to one ‘Component’ and one or
more ‘Functional Diagnostic Requirement’ satisfies one or more ‘Component-
Level Diagnostic Goal’. One or more ‘Component-Level Diagnostic Goal’ satisfies
one or more ‘Subsystem-Level Diagnostic Goal’ which in turn satisfies one or more
‘System-Level Diagnostic Goal’. The ‘Subsystem-Level Diagnostic Goal’ and
‘System-Level Diagnostic Goal’ apply to a single ‘Subsystem’ and ‘System’,
respectively. Note that a ‘Component-Level Diagnostic Goal’ does not directly
apply to a ‘Component’, but does so through a ‘Functional Diagnostic Require-
ment’. One or more ‘Functional Diagnostic Requirement’ diagnoses one or more
‘Fault’ and one or more ‘Effect’ violates one or more ‘System-Level Diagnostic
Using Patterns for model definition 305
Goal’. The Ontology in Figure 21.23 provided a direct definition for a ‘Diagnostics
Traceability Viewpoint’, shown in Figure 21.24.
«viewpoint»
Diagnostics Traceability
Viewpoint
satisfies
0..* 1..*
satisfies
«ontology element»
Component-Level
0..* Diagnostic Goal 1..*
0..* 0..*
applies 1..*
«ontology element» satisfies
«ontology element» to
Functional Diagnostic 1..*
Component 1 1..* Requirement
0..* 1..* diagnoses 1..*
exhibits
«ontology element» occurs at «ontology element» 1..*
Function 1..* 0..* Fault
0..* 0..*
0..* 1..*
«ontology element» {OR}
Item occurs at
causes «ontology element»
1..*
1..* Cause 0..*
Figure 21.24 The Viewpoint Definition View for the Diagnostics Traceability Viewpoint
21.7 Traceability
From the outset, establishing rigorous traceability was seen as essential. For this
project, one of the key drivers was automation: from day one of the project it was
intended that review checks be implemented in the SysML tool to create the model.
Many of these were to check and report on failure to adhere to the Rules defined for
the Framework (i.e. the Rules that come with ACRE and defined as necessary for
additional Viewpoints). Other checks would enforce the Ontology Relationships
«perspective»
Safety & Diagnostics Perspective
«viewpoint» «viewpoint»
Safety Traceability Diagnostics Traceability
Viewpoint Viewpoint
1..* 1..*
1..*
«viewpoint» «viewpoint» «viewpoint» «viewpoint»
Context Definition Source Element System Structure Protocol Definition
Viewpoint Viewpoint Viewpoint 1..* Viewpoint
1..*
1 1..* 1..* 1..* defines protocol for
defines identifies sources interfaces & ports on
context for defines needs in context from of needs on «viewpoint»
Interface Behaviour
1 1..* 1..* 1..* show interaction 1..* Viewpoint
shows satisfaction of needs on of interfaces on
«viewpoint» «viewpoint»
Need Context Need Description 1..*
Viewpoint Viewpoint
identifies shows connections «viewpoint»
interfaces between interfaces on Interface Connectivity
1 1..*
defines constraints on between Viewpoint
objects from 1
validates use descriptions of needs on
case on
1..* 1..* 0..* 1..* 1..* 1..*
«viewpoint» «viewpoint»
«viewpoint»
«viewpoint» Interface Identification Interface Definition
Definition Rule
Validation Viewpoint Viewpoint Viewpoint
Set Viewpoint
1..* 1..*
defines interfaces shown on
0..1 1..* 1
1..*
is deployed
is related to onto
constrains satisfies
1 1..* 1..*
0..* «ontology element»
«ontology element» «ontology element» Protocol describes
Rule Item 0..* 0..*
1..*
satisfies applies to
1..* 1..* 1..* 1..*
«ontology element» «ontology element» «ontology element» applies to
mitigates against satisfies «ontology element» 1..* satisfies
Functional Safety Component-Level Subsystem-Level System-Level Safety
1..* Requirement 1..* 1..* Safety Goal Safety Goal 1..* Goal
0..* 1..*
violates
diagnoses «ontology element» «ontology element» «ontology element»
satisfies
Functional Diagnostic Component-Level satisfies satisfies System-Level
1..*
Requirement 1..* 1..* Diagnostic Goal «ontology element» Diagnostic Goal 1..*
1..* 1..* Subsystem-Level 1..* 1..*
1..* Diagnostic Goal 1..*
1..* 1..*
«ontology element»
0..* Hazard
violates
«ontology element»
1..*
Effect
0..*
applies to
applies to
found on the ODV for the complete Framework. An example of both types of Rule
is given in Figure 21.27.
«rule» «rule»
ACRE02 Safety01
notes notes
Each Need Description in the Every Fault that exhibits a Hazard must
Requirement Description View must be be mitigated against by at least one
traceable to one or more Source Element Functional Safety Requirement.
in the Source Element View.
The RIV in Table 21.1 shows a partial list of the Relationship Types defined in
the Framework. The entries shown cover the Relationship Types for the Viewpoints
from the Requirements Perspective, together with those for the System Structure
Viewpoint (discussed in Section 21.3). The complete RIV shows the Relationship
Types for all the Framework Viewpoints. The Traceability Identification View for
the same Framework Viewpoints is shown in Table 21.2.
Table 21.2 Traceability Identification View showing (partial) Traceable Types & Relationship Types
From To
Need Description Source Element Trace «trace» dependency
Need Description Derivation «deriveReqt» dependency
Inclusion Nesting relationship
Constraint «constrain» dependency
Refinement «refine» dependency
Copy «copy» dependency
Need Description (Requirement) Need Description (Feature) Satisfaction «satisfy» dependency
Need Description (Feature) Need Description (Feature OR Goal) Satisfaction «satisfy» dependency
Assumption Need Description Justification «justify» dependency
Use Case Need Description Refinement «refine» dependency
Use Case Constraint «constrain» dependency
Inclusion «include» dependency
Extension «extend» dependency
System Element Use Case Satisfaction «satisfy» dependency
Scenario (Validation View) Use Case Validation «validate» dependency
Source Element Assumption Confirmation «confirm» dependency
Stakeholder Role Need Description Interest «validate» dependency
Test Case Need Description Verification «is interested in» dependency
Need Context View Stakeholder Role (on Context Trace «trace» dependency
Definition Viewpoint)
Function Need Description Satisfaction «satisfy» dependency
Message Send «send» dependency
Receive «receive» dependency
Item Deployment «deploy» dependency
Message Need Description Satisfaction «satisfy» dependency
Again, Table 21.2 shows only partial information. The complete TIV for the
Framework includes the Traceable Types and Relationship Types for all the
Viewpoints of the Framework.
When using the Framework, traceability is captured on a Traceability View that
is typically used alongside the six Viewpoints in the Requirements Perspective and
the six Viewpoints in the System Perspective. The Safety Traceability Viewpoint and
Diagnostics Traceability Viewpoint (as discussed in Sections 21.5 and 21.6) are
intended to capture the safety and diagnostics aspects of the model respectively,
together with appropriate traceability. The full RIV and TIV contain entries relating
to these two Viewpoints. However, the Framework allows safety and diagnostic
traceability to also be captured on a Traceability Viewpoint if desired.
310 Foundations for Model-based Systems Engineering
21.8 Summary
Best practice advises the use of an AF when developing a model of a System. In an
ideal world, a suitable ready-made AF would be available from the start of the
project. Failing this, the project would start by defining its own AF using the FAF
and ArchDeCon.
However, sometimes even this is not possible and an AF has to be developed in
a piecemeal fashion. This was the situation that existed at the start of the project used
as the case study in this chapter. Nevertheless, even such a piecemeal approach can
succeed if undertaken in a systematic fashion. Look at what Frameworks or Patterns
already exist and see if they can be rolled into the growing Framework. This was the
approach taken with the Framework developed in this chapter. The ACRE Frame-
work formed the nucleus of the Framework, with minimal changes needed before it
could be used. The Description Pattern was used to guide the addition of Ontology
Elements and a Viewpoint that captured System structure. When it came to inter-
faces, again there existed an off-the-shelf pattern, the Interface Pattern, that could
again be used with minimal changes to add an additional five Viewpoints to the
growing System Perspective. The Description Pattern, along with minor additions to
the Ontology Elements relating to requirements, was used twice more to define the
concepts around safety and diagnostics. Finally, the Traceability Pattern was used
with no changes to add a Traceability Viewpoint. From an initial off-the-shelf Fra-
mework (ACRE) the Framework has evolved over a period of nine months to a
detailed and rich Ontology, as shown in Figure 21.28.
From an initial six Viewpoints in one Perspective, the Framework (at the time
of writing) now has 18 Viewpoints in four Perspectives, as shown in Figure 21.29.
Before concluding this chapter, it is worth noting two points. First, defining a
Framework is only part of the story. For this to be successful the Framework has to
be implemented in a modelling tool; without doing this, you are not using the full
power of MBSE but simply drawing pictures. All SysML modelling tools of any
worth will allow such a Framework to be implemented in the tool as a SysML
profile, with greater or lesser amounts of automation possible in such an imple-
mentation. Ideally, you should use a tool that will allow the consistency of the
model to be checked against the Framework. Some tools will allow a fine level of
control during model creation, completely preventing the modeller from creating
diagrams and elements that contradict the Framework, others are less rigorous
during creation and rely on the definition of checks that are run after creation to
spot mistakes. If the tool that you are using will allow no such profiling and auto-
mation, then you are using the wrong tool.
The second point that is worth emphasising is that of responsibility. Frame-
work development works best when there are only a small number (one to three) of
people developing the Framework. At the very least there has to be a technical
authority for the Framework to ensure coherent and consistent development and to
control the release of the Framework to its users. Failure to do this will, despite the
best intentions of all involved, lead to inconsistencies in concepts and between
1..* occurs at
«ontology element»
0..* Hazard «ontology element» «ontology element» «ontology element» «ontology element»
View Element View Viewpoint Viewpoint Element
violates
applies to
applies to
«perspective»
Traceability Perspective
«viewpoint»
«viewpoint»
Relationship
Impact Viewpoint
Identification Viewpoint
1..* 1..*
shows traceability
tree from
identifies
relationships
used on «viewpoint» «perspective»
Traceability Identification Safety & Diagnostics Perspective
Viewpoint
1..*
1..* 0..* identifies elements and
relationships used on «viewpoint» «viewpoint»
«viewpoint»
1..* Safety Traceability Diagnostics Traceability
Traceability Viewpoint shows traceability for Viewpoint Viewpoint
0..*
0..* 1
1..* 1..*
shows traceability for
1..*
1..*
«viewpoint» «viewpoint» «viewpoint» «viewpoint»
Context Definition Source Element System Structure Protocol Definition
Viewpoint Viewpoint Viewpoint Viewpoint
1..*
1 1..* 1..* 1..* defines protocol for
identifies sources interfaces & ports on
defines context for defines needs in context from of needs on «viewpoint»
Interface Behaviour
1 1..* 1..* 1..* show interaction 1..* Viewpoint
shows satisfaction of needs on of interfaces on
«viewpoint» «viewpoint»
Need Context Viewpoint Need Description 1..*
Viewpoint identifies «viewpoint»
shows connections
interfaces between interfaces on Interface Connectivity
1 1..*
defines constraints on between Viewpoint
validates use case on objects from 1
descriptions of needs on
0..* 1..* 1..* 1..*
1..* 1..*
«viewpoint» «viewpoint»
«viewpoint»
«viewpoint» Interface Identification Interface Definition
Definition Rule Set
Validation Viewpoint Viewpoint Viewpoint
Viewpoint
1..* 1..*
defines interfaces shown on
Viewpoints, often leads to bloat of the Framework, results (on large projects) in
different parts of the project using different versions of the Framework and ulti-
mately leads to disillusionment and abandonment of the Framework.
Reference
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach.London: IET Publishing; 2013.
Further reading
Holt, J., Perry, S. and Brownsword, M. Model-Based Requirements Engineering.
London: IET Publishing; 2012.
Chapter 22
Using Patterns for model retro-fitting
22.1 Introduction
Whatever the day, week or year there will be models and designs which haven’t
been defined or formalised using an Architecture Framework (AF). We know that
Model-based Systems Engineering best practice advises the use of an AF when
developing a model of a System – but this doesn’t mean it will always happen.
Where organisations or industries don’t have the necessary experience or
maturity to carry out MBSE properly, all too often models will be developed
without a Framework to guide them. In some cases these models maybe no more
than unconnected representations and pictures which are described as ‘‘The
design.’’
Even in cases where AFs are used in new projects, people often cite issues
such as the AF stifling thinking or the level of rigour and rules, meaning people
spend more time on thinking about the AF rather than the design. In these situations
we need to find ways to bring the value of the AF without the pain which
is perceived.
This chapter discusses examples of these situations, focusing on how to take
unconnected/uncontrolled pictures and bringing them together using Patterns, it
also addresses pragmatic ways to approach this for those who want an uncon-
strained approach but recognise they need a formalised output.
The first example is an example of some of the thinking which often happens on
projects and becomes so well-recognised it is considered the design. Let’s be clear,
there is a major difference between a diagram which is structured, consistent and
cohesive as part of a Model and something which people are familiar with and
therefore accept and discuss as design. This is not trying to say that the diagram is
not helpful only that it is unlikely to be complete/rigorous enough to be considered
a design.
Pictures in this sense are often referred to as ‘‘overviews,’’ ‘‘architectures,’’
‘‘visions’’ and many other names. They are important as they give people a way to
associate with a piece of work but they are a communication tool not a design tool.
316 Foundations for Model-based Systems Engineering
Our New
Railway
Either way the issue we are faced with here, which we often have in reality, is
how to turn this image into an Architecture or Model. This is where Patterns can be
of use. The first thing to do is to select a Pattern. To do this we must have some idea
of the purpose of the diagram provided, Figure 22.1, and the purpose of the model
to be developed. In this case the purpose of Figure 22.1 is to provide an overview of
the purpose of the project and system to be delivered; it’s irrelevant whether we
believe this does its job or not (it is what we have to work with). The purpose of the
Model we desire is to provide a design. This may not be the most helpful statement
but is often the one we are greeted with when people have realised they have a
problem understanding their design but don’t know how to solve it.
The intention is to select the Pattern which best maps to both purposes. For
Figure 22.1 this can be considered to be the need for the system and its hierarchy.
For the Model this will be similar although we would like to add function. The
selected Patterns to formalise this diagram are the Context Pattern and Description
Pattern; the Context Pattern as it provides the focus of the system and the
environmental elements around it and the Description Pattern as some details
within the System will need further definition.
VRV [Package] Overview [Viewpoint Relationship View showing Context Pattern Viewpoints]
«Context»
New Railway
The Context Identification View, in Figure 22.3, shows that the ‘New Railway’
context should be defined which will be discussed in the following. In the mean-
time, the concept of a diagram with only one ‘Context’ on may, to some, seem
nonsensical. However, it has its value – in the right circumstances it can be used to
stimulate discussion, such as posing the question ‘‘should there only be one box?’’
and ‘‘What others could there be?’’ We will revisit this diagram as we progress
through the formalisation as we should with all diagrams.
Figure 22.4 applies the concepts from the Context Pattern to Figure 22.1,
providing the Patterns ‘Environmental elements’, ‘Focus’ and ‘Boundary’ based on
the ideas in Figure 22.1. Again the intention here is to pick out two groups of
‘Environmental Element’: those things which are clearly outside the ‘Boundary’,
such as the ‘Weather’, the ‘Road Network’ and ‘Public’ and those which maybe
contentious such as ‘Power’ (based on the suggestion that a turbine could be
inside the system) and ‘Drainage’, which could be included if this is to be an
infrastructure programme. There may, in truth, be many other ‘Environmental
elements’ but, staying true to the goal of using the Pattern to formalise the picture,
these cannot be formalised here.
Taking the content of Figure 22.1 into account may well provide ‘Focus’
within the ‘Boundary’ as suggested in Figure 22.5 which expands on Figure 22.4.
The ‘Focus’ is to ‘Provide new railway’ including ‘Provide infrastructure’, ‘Provide
rolling stock’, ‘Provide operations’ and ‘Provide maintenance’. These areas define
the main things the railway must do whilst being constrained by ‘Enable Safety’,
with a specific type of safety being around ‘Provide safe crossing’.
318 Foundations for Model-based Systems Engineering
«Environmental element»
Drainage
«Boundary»
New Railway
«include» «focus»
Provide rolling «Environmental element»
stock Road Network
«constrain» «include»
«Environmental element» «include»
Public
«focus» «focus»
Enable Safety Provide operations
«focus» «Environmental element»
Provide Drainage
maintenance
«focus»
Provide safe
crossing
The ‘Focus’ have been identified by examining Figure 22.1 and highlighting
those things which the author of the diagram believes to be important. This includes
‘Provide Operations’ due to the running train and people at the station, ‘Provide
maintenance’ due to the depot, ‘Provide rolling stock’ due to the multiple
representations of trains and ‘Provide infrastructure’ as the majority of the items on
the diagram include power distribution, track, bridges and telecoms which can all
be considered to be infrastructure.
The ‘Environmental elements’ in Figures 22.4 and 22.5 may have their own
understanding of what should be provided and as such maybe added to the ‘Context
Identification View’ in Figure 22.3 providing a possible five more ‘Context’ to be
explored, these have been added and shown in Figure 22.6.
«Context» «Context»
Power Road network
VRV [Package] Overview [Viewpoint Relationship View showing Description Pattern Viewpoints]
provides extended
«viewpoint» descriptions for element on «viewpoint»
Element Structure Element Description
Viewpoint 1 0..* Viewpoint
The Description Pattern has two Viewpoints: the ‘Element Structure Viewpoint’
and the ‘Element Description Viewpoint’. Even though we have limited information
about the detail of the elements in Figure 22.1, we will still capture information
against both Viewpoints as it may prove useful to know what we were thinking
when we defined the structure. Initially we focus on the ‘Element Structure View-
point’ defining the hierarchy and types of the Elements within the New Railway.
Figure 22.8 shows all of the Elements identified within the System from
Figure 22.1. It shows four parts of the system and seven types of ‘Infrastructure’
identified from the diagram. The description of the diagram is stored in the Element
Description View, Figure 22.9.
«element»
New Railway
«element description»
New Railway
notes
The 'New Railway' is seen as having four parts, 'Train' as
there are multiple trains on the track, 'Infrastructure' which
seems to be the major focus as most of the diagram appears
«element» to be buildings, 'Track', 'Power' and 'Communications',
New Railway 'Operation' and 'Maintenance' due to the existence of the
«describe»
'Depot' and running trains although this seem to be more
tenuous, this could be an infrastructure project but it needs
clarity.
There are also some interactions shown including between
train and communications also train and power which may be
better described as interfaces.
The ‘element description’ in Figure 22.9 identifies the potential to use another
Pattern, this time looking at the Interfaces identified in Figure 22.1, initially
between ‘Train’ and ‘Power’ along with ‘Train’ and ‘Communications’.
This recognition of further formalisation opportunities often occurs part way
through a formalisation of a Model as the purpose and details become clear and, if
relevant, we can use the Interface Pattern to formalise these connections.
VRV [Package] Overview [Viewpoint Relationship View showing Interface Definition Viewpoints]
«viewpoint»
Interface Identification Viewpoint
Pwr: Power
Pantograph
Overhead Line
Train: Train
Comm: Communication
to use a different delivery method such as 3rd Rail, when the power is delivered to a
train via something which looks like an additional track, rather than through an
overhead cable.
We could also consider defining the Interfaces to the Environmental Elements.
Although this has not been considered here, it would highlight questions around the
relationship and difference between the ‘Power’ within the System and the ‘Power’
which is defined as an Environmental Element.
Using Patterns for model retro-fitting 323
The key point to be taken from the discussion around Figures 22.10 and 22.11
is that they identify questions which will need to be asked and answered. Questions
do not always have to be answered immediately but they do need to be managed to
ensure an answer will be found.
This chapter has worked through an example based on a generic picture. This
approach can also be applied to other types of picture and also to Models if there
are questions around the consistency and comprehension.
Documents often contain multiple diagrams as well as large sections of text.
The application of Patterns across multiple diagrams can help to understand the
meaning and consistency provided by documents. This approach will highlight
gaps, inconsistencies and areas of conflict should they exist. It can also be applied
to the information within the text of the document by drawing out the detail
and recording specific descriptions against elements. In this sense documents
may include Standards, Policies, project documentation, systems documentation,
minutes of meeting, etc.
Applying this approach to documentation is relatively easy as, generally, the
information isn’t changing. We can also apply this approach in a fast-paced design
environment where the number of people who are competent in modelling and/or
architecture may be limited as people will have their own specialisms. This type of
situation often lends itself to an iterative approach which is beneficial as it supports
the Pattern applications. The key to making this type of approach work is to allow
subject matter experts space to work in the way that best suits them whilst keeping
the tasks they have short and focused. This can be considered as generating raw
engineering output. Once the raw output is available, the Patterns are applied to
324 Foundations for Model-based Systems Engineering
formalise the raw output and provide a formalised Model which the expert can
agree and use as a basis for further work.
The benefits of this is that it can be done in short bursts allowing people to
think before constraining the way they move forward with the relevant information,
ensuring they work within the relevant boundaries. The formalisation can also be
completed relatively quickly as there is less thinking involved if tools have been
properly set up with profiles for the Patterns, enabling efficient entry of the
information.
22.4 Summary
Although best practice advises the use of an AF, it isn’t always pragmatic from the
outset; often diagrams or models have already been developed and we must fit them
into a Framework without destroying the author’s meaning.
Using the approach in this chapter we identify Patterns which may provide
relevant understanding of the diagram and use these, once populated, as a basis for
further understanding and to expand to related Patterns.
In this chapter we have taken a diagram which has not been formally developed
and shown that many of the concepts recognised on the diagram could be formalised
without much additional work. The areas such as additional Contexts, multiple
meaning for words like ‘Power’ and additional Interfaces where improvements have
been identified and made represent issues which may have come to light on a project
at a later date. As with many projects these issues are currently realised through
overruns, overspends and, in the worst cases, news articles referencing the failures of
the project.
The purpose of this chapter is to show that it is never too late to formalise the
information which has been gathered. The formalisation provides a way for people
to interact with the information in a new way and therefore identify and, if relevant,
fix issues that are found.
Benefits of this approach include the ability to show a diagram in a different
light which helps to identify discrepancies, whether they are related to communica-
tion issues, understanding or complexity: then highlighting questions to be asked and
answered to develop the Model. When the approach is used in an iterative fashion, as
within this example updating the Context Identification View and recognising that
additional Patterns may be applied, it can be used as a strong tool and may be a
pre-cursor to both the wider application of modelling and the use of AFs.
Further readings
Holt, J. and Perry, S. SysML for Systems Engineering; 2nd Edition: A Model-Based
Approach. London: IET Publishing; 2013.
Holt, J., Perry, S. and Brownsword, M. Model-Based Requirements Engineering.
London: IET Publishing; 2012.
Part V
Annex
Appendix A
Summary of SysML notation
A.1 Introduction
This appendix provides a summary of the meta-model and notation diagrams for
SysML. For each of the nine SysML diagram types, grouped into structural and
behavioural diagrams, two diagrams are given:
● A partial meta-model for that diagram type.
● The notation used on that diagram type.
The same information is also given for the SysML allocation auxiliary construct.
For full details of the SysML language readers are directed to Chapters 4–6 of
‘‘SysML for Systems Engineering’’ (Holt and Perry, 2013).
This section contains diagrams for each of the five SysML structural diagrams:
● Block definition diagrams (Figures A.2 and A.3)
● Internal block diagrams (Figures A.4 and A.5)
● Package diagrams (Figures A.6 and A.7)
● Parametric diagrams (Figures A.8 and A.9)
● Requirement diagrams (Figures A.10 and A.11)
328 Foundations for Model-based Systems Engineering
bdd [Package] Block Definition Diagram [Block Definition Diagram] pkg [Package] Package Diagram [Package Diagram] ibd [Block] Block1 [Internal Block Diagram]
«block» Package1
PartA: Block4[1..*]
Block1
Part B 1
Package2 PartB: Block2[1]
«block»
«import»
Block2
PartA 1..*
«block» «block»
Block3 Block4
par [ConstraintBlock] Parametric Diagram [Parametric Diagram] req [Package] Requirement Diagram [Requirement Diagram]
«requirement»
Requirement1
Parameter 1:
Real
id = "001"
ConstraintProperty1 : ConstraintBlock1 text = "The System shall ..."
The 5 SysML
structural diagrams
Parameter2:
Real
«satisfy» «block»
Block1
Property4: Real
«diagram»
Block Definition
Diagram
«graphic path»
Aggregation
«graphic path»
Association
0..* 0..* 0..* «graphic path»
«graphic path» Composition
«graphic path» «graphic node» «graphic path»
Instance Relationship
Item Flow {abstract} Dependency
Specification 1..*
1 0..* 1
defines instance of «graphic path»
relates together Generalization
is nested with has interaction points defined by
flows between 0..* 0..* 0..* 1 1 1..2
1
«graphic node» is typed by «graphic node»
Port 0..* 1 Block
2
1
is typed by
0..* 0..*
«graphic node» Property
Operation
0..* Interface Block {abstract}
«graphic node» 1
Full Port
Block with
«block» «block»
reference Block with part
Block2 Block3
property properties.
RoleName1
references properties NOTE: Some tools
RoleName1 : Block3 1 is associated with 1..* RoleName2 : Block5 label this
compartment parts
1
Aggregation «block»
Block7
0..1 Dependency 1
«block»
Block4
Block with «block» Association
operation and + Operation1() Block6 block
flow properties flow properties
in FlowProperty1 : Block6
out FlowProperty2 : Real
«interfaceBlock»
Object1: Block5 Instance Interface
specification Interface block
+ Operation1(): Real
+ Operation2(): Block7
Interface Provided
«block» interface
Block9 Port with flow Conjugated
Interface properties port
Required
interface «ValueType»
Port: Block11 Port1: Block4 Real
«block»
«block» Port1: Block4 Block11 «block» Block6 Port2: ~Block4 «block»
Block8 Block12
Port2: Block3 Port2: Block3
«diagram»
Internal Block
Diagram
is nested with
«full» Port1
: Block11 : Block12[1..3]
«ValueType» Real
Port1: Block4 Port2: ~Block4 Interface
«block» Block6
: Block13 «proxy» Port3 :
Port2: Block3 Interface
Port with flow
Port with provided properties
interface Interface
Conjugated port with Nested Proxy port types by an
flow properties part interface block
: Block8
Port1: Block4
Port: Block11
Port2: Block3
Diagram frame shows
owning block
Port with two nested ports
«diagram»
Package
Diagram
1..* 0..*
«graphic path»
Package Import
Package1
«access»
Package
Package2 Package3
Dependency
«diagram»
Constraint blocks are
Parametric
defined on a block
Diagram
definition diagram.
is linked to is linked to
Property1: Real
Part
«diagram»
Requirement
Diagram
verifies
«requirement»
Requirement showing id Requirement1 «deriveReqt» «requirement»
and text properties Requirement3
id = "ID007"
text = "The System shall do ..."
Derive relationship
Nesting
«requirement»
Requirement4
Trace relationship
«satisfy»
«block» «requirement» «block»
Block Requirement2 «trace» Source Element
Satisfy relationship
Verify relationship
«verify»
«testCase»
Sequence Diagram
This section contains diagrams for each of the four SysML behavioural diagrams:
● State machine diagrams (Figure A.13 and A.14)
● Sequence diagrams (Figure A.15 and A.16)
● Activity diagrams (Figure A.17 and A.18)
● Use case diagrams (Figure A.19 and A.20)
336 Foundations for Model-based Systems Engineering
uc [Package] Use Case Diagram [Use Case Diagram] sd [Package] Sequence Diagram stm [Package] State Machine Diagram
[Sequence Diagram] [State Machine Diagram]
System
State1
«include» message()
Actor1
Actor2
Use Case2
State2
Activity1
Activity2
«diagram»
State Machine
Diagram
0..1 0..1
«graphic node» «graphic node»
Event Action
Initial State Composite State
0..1
«graphic node» «graphic node»
Final State Guard Condition
Simple State
1..*
Region
Simple State
Event1 do / op1
[Attribute1 = VALUE] /op4
Simple State
Final state
«diagram» references
Sequence Diagram 1
1..* 0..* 1
«graphic path» «graphic node»
Message Interaction Use
1..* 0..*
1
connects Occurrence occurs on «graphic node» spans «graphic node»
2 Specification 1..* 1 Life Line 1..* 0..* Combined Fragment
{abstract}
0..*
«graphic node» «graphic node»
Execution
Loop Combined Alternative Combined
Specification
Fragment Fragment
«graphic node»
Parallel Combined
Fragment
Life line
Life Line 1: Block1 Life Line 2: Block2 Life Line 3: Block3
Gate
Execution specification
Reply (return)
message
Synchronous (call)
message
Asynchronous
message
ref
Another Sequence Diagram Interaction use
loop
[min, max] Loop combined
fragment
par
Parallel combined
fragment
alt
Alternative combined
fragment
«diagram»
Activity Diagram
0..*
«graphic node» «graphic node» «graphic path» «graphic path» «graphic node» «graphic node»
Action Control Node Control Flow Object Flow Interruptible Activity Partition
{abstract} Region
2 1..* 1
«graphic node»
Object carries
{abstract} 1..*
flows between
«graphic node»
Control Node
{abstract}
«graphic node»
«graphic node» «graphic node»
Final Node
Join Node Merge Node
{abstract}
«graphic node»
«graphic node»
Activity Final
Flow Final Node
Node
«graphic node»
Object
{abstract}
«graphic node»
Signal
Control flow
Merge node
Fork
Action1 Action2
Action
Interruptible
region
Join
Object flow
Object: Object Event Signal
Node
Object node
Signal
Event
Action3
[condition]
Decision node Action4
«diagram»
Use Case Diagram
0..* 0..*
0..*
1 1
Association
Use Case4
Extend relationship
«extend»
Use Case1
Specialisation/generalisation
«include» Actor1
Use case
A.4 Allocations
This section contains diagrams for allocations that can be applied to any diagram
(Figures A.21 and A.22).
Allocation
allocatedFrom
«activity» Activity1
Allocations shown as
compartments
Reference
Holt J., Perry S.A. SysML for Systems Engineering – 2nd Edition: A Model-based
Approach. Stevenage, UK: IET; 2013
Appendix B
Summary of the Framework for
Architectural Frameworks
B.1 Introduction
AF Framework Context
«concern»
Allow needs that the AF is
to address to be captured «concern» «concern»
Support definition Support identification
of ontology for of relationships between
«stakeholder role» AF domain viewpoints
Standard «concern»
Comply with «include»
«include» «include»
best practice
«constrain» «concern»
«concern» Support identification of
Define an architectural required viewpoints
framework for «include»
creating architectural «include»
«stakeholder role» frameworks
Systems Modeller «include»
«concern»
«include» Support identification
of grouping of viewpoints
«concern» «include»
into perspectives
Support definition of
architectural «concern»
«concern» Support definition
framework rules
Support definition of viewpoint needs
of viewpoint content
«ontology element»
constrains describes structure of «ontology element»
Architectural
1 1 1 Architecture
Framework 1..*
1 1 1 1 describes
1..*
1
«ontology element» «ontology element»
Rule complies with represents need for
Architectural 1..*
0..* 1..* Framework Concern
is related to 1..* «ontology element»
System
is derived from
«ontology element» 1..*
1 Standard 0..* «ontology element»
1..* Viewpoint Concern
represents
need for
is related to
is related to is related to
1 1 1..*
«ontology element»
«ontology element» «ontology element» 1 interacts with
Need
Boundary System {abstract}
1 1 1 1..*
is within 1..*
«ontology element»
Architectural
Framework Concern
«ontology element»
Concern
«ontology element»
Viewpoint Concern
«perspective»
Architectural Perspective
«viewpoint»
«viewpoint» is derived from «viewpoint»
Ontology Definition
AF Context Viewpoint Rules Definition Viewpoint
1 1 Viewpoint
1 1 1
{The Rules Definition
Viewpoint is related to ALL
the other Viewpoints and
defines viewpoints is derived from
is derived from defines the Rules that constrain
using elements from
the Architectural Framework.
Relationships to other
Viewpoints are omitted from this
1..* 1..*
diagram for clarity.}
1
«viewpoint» «viewpoint»
Viewpoint Context Viewpoint Definition «viewpoint»
Viewpoint Viewpoint Viewpoint Relationships
Viewpoint
1 1 1
1
defines viewpoint to meet needs from defines relationships between viewpoints defined in
1 1 1 1..* 1 1 1 1
is derived from «viewpoint» «viewpoint» «viewpoint»
defines point of view of «viewpoint, ontolo... «viewpoint»
Ontology Definition Viewpoint Definition Viewpoint Relationships
«ontology relationship» 1 Context AF Context Viewpoint 1 1 Viewpoint Viewpoint Viewpoint
1
1 1.. 1
«ontology relationship»
1 uses elements from 1.. 1..* 1..*
1..* 1 1
1 1 «ontology element» collects together
«ontology «ontology element» 1..* «ontology element» 1..* «ontology relationship» «ontology element»
«ontology element» «ontology element» 1 relationship» Need Ontology Viewpoint Perspective
Boundary System interacts with {abstract} «ontology relationship» 1 1 1..*
1
1 1 1 «ontology relationship» 1..*
«ontology
relationship»
«ontology
relationship»
«ontology relationship»
is within
«ontology relationship» is related to {The Rules Definition Viewpoint is
«viewpoint» related to ALL the other Viewpoints
Rules Definition and defines the Rules that constrain
«ontology element» Viewpoint the Architectural Framework.
Concern 1 Relationships to other Viewpoints are
omitted from this diagram for clarity.}
«ontology relationship»
1..* 0..* «ontology
«ontology element» relationship»
«ontology element» Rule 1 is related to
«ontology element»
Architectural
Viewpoint Concern
Framework Concern 1..*
1..* 1..* constrains
is derived from
«ontology relationship» 1
«ontology
relationship»
«ontology element»
Architectural
Framework
«rule» «rule»
AF04 AF05
notes notes
Every Viewpoint in the Every Viewpoint in the Architectural
Architectural Framework must Framework must belong to one
appear on the viewpoint and only one Perspective.
Relationships Viewpoint.
«concern»
Identify AF needs
«include»
«include»
«stakeholder role»
Sponsor «concern» «concern»
Allow needs that the Understand relationships
AF is to address to between needs
be captured
«include»
«concern»
Identify AF
stakeholder
roles
«stakeholder role»
Systems Modeller
«concern»
Identify ontology
elements
«stakeholder role»
Domain Expert «include»
«concern»
Support definition of «concern»
ontology for AF domain Identify ontology
«include» relationships
«stakeholder role»
Systems Modeller
«include»
«concern»
Identify ontology
areas
«stakeholder role»
Sponsor
«concern»
Be consistent with the
overall needs of the
architectural framework
«concern»
«constrain»
Support identification
«stakeholder role» of relationships between
Sponsor viewpoints
«concern» «include»
Support identification
of required viewpoints
«include»
«concern»
«stakeholder role» Support identification
Systems Modeller of grouping of
viewpoints into
perspectives
«constrain»
«concern»
«stakeholder role» Be consistent with ontology
Domain Expert areas defined on ontology
«concern»
Define rules
«include»
«concern»
Support definition
of architectural
framework rules
«stakeholder role»
Systems Modeller
«include»
«concern»
Define relationships
between rules
«concern»
Identify viewpoint
«include» needs
«concern» «include»
«concern»
Support definition
«stakeholder role» Understand
of viewpoint needs
Systems Modeller relationships
between needs
«include»
«constrain»
«concern»
Identify viewpoint
stakehole roles
«concern»
Be consistent
«stakeholder role» with needs of AF
Sponsor
«concern»
Identify viewpoint
elements
«concern» «constrain»
Support definition «include»
«stakeholder role» «concern»
Systems Modeller of viewpoint Conform to
content ontology
«include» «constrain» «stakeholder role»
«concern» Domain Expert
«constrain» Identify viewpoint
relationships
«concern»
«stakeholder role» Be consistent
Sponsor with needs
of viewpoint
«ontology relationship»
1 1 1 1..*
«ontology relationship»
«ontology relationship»
«ontology relationship»
1..* interacts with
has an describes the
is outside «ontology element» interest in context of
«ontology 1..* Stakeholder Role 1..* 1 1..* 1..*
0..*
relationship» «ontology relationship»
1..* «ontology element»
yields an observable result to Use Case
«ontology relationship» 1..*
1..*
is within
«ontology relationship»
«ontology
«ontology element»
relationship» «ontology element»
Architectural Framework
Concern
Concern
«viewpoint»
Ontology Definition
Viewpoint
1
1
«ontology element»
Ontology
1..*
is related to
«viewpoint»
Viewpoint Relationships
Viewpoint
1..* 1..*
1
«ontology element» collects together «ontology element»
Viewpoint 1..* «ontology relationship» 1 Perspective
1..*
«ontology relationship»
is related to
«viewpoint»
Rules Definition Viewpoint
1..*
«ontology element»
Rule
1
is related to
«viewpoint»
defines point of view of «ontology element»
Viewpoint Context
«ontology relationship» 1 Context
Viewpoint
1
«ontology relationship»
1 1 1..*
«ontology «ontology element»
«ontology element» «ontology element» 1 relationship» Need
Boundary System interacts with {abstract}
1 1 1 «ontology relationship» 1..*
«ontology relationship»
interacts with «ontology relationship»
1..* has an
interest in describes the context of
is outside
«stakeholder role» 1..*
«ontology 1..* Stakeholder Role «ontology relationship» 1 1..* 1..*
0..*
relationship» «ontology element»
1..*
yields an observable result to Use Case
«ontology relationship» 1..*
1..*
is within
«ontology relationship»
«ontology
«ontology element» relationship» «ontology element»
Viewpoint Concern Concern
«viewpoint»
Viewpoint Definition
Viewpoint
1..
1..
«ontology element»
Viewpoint
values
ID : Text
Description : Text
Name : Text
1..*
is related to
Reference
Holt J. and Perry S. SysML for Systems Engineering – 2nd Edition: A Model-Based
Approach. Stevenage, UK: IET; 2013.
Appendix C
MBSE Ontology and glossary
C.1 Introduction
This appendix provides a summary of the MBSE Ontology and the definitions of
the concepts contained as defined in Holt and Perry (2013) to which the reader is
referred for full details (Figure C.1).
C.2 Ontology
bdd [Package] MBSE [MBSE Ontology – High-Level]
is related to
describes the need for
1
0..*
1 «block»
«block» «block» «block»
«block» constrains «block» Semi-formal
1..* Formal Scenario Programme Organisation
Rule Need Description Scenario 0..1
1..* 1..* 1
describes 1
1 1
is elicited from «block» describes the context of validates «block»
«block» «block» «block» «block» 1..*
Need Organisational
Source Element 1..* Use Case Scenario 1 Project runs 1..*
1..* 1..* {abstract} 1..* 1..* 1..* Unit
1 1..* 1..*
describes interactions between
1 1
«block» «block»
«block» «block»
«block» Life Cycle Life Cycle
Goal Context
Requirement Interaction Point Interaction
1..*
1..* {incomplete} interfaces with
meets interacts with
constrains
«block» «block» «block» shows behaviour of
«block» is needed to deliver 1 «block» «block» «block» «block» «block»
Capability Stakeholder Organisational
Concern System Context Process Context Project Context 1..* Life Cycle Life Cycle Model
Context Context 1 1..* 1
1
1..*
1 1..* 1 1
represents the need for
interacts with
1 1..* 1..*
represents the need for
«block» is executed during
«block» «block»
System of
Enabling System Stage 1..* shows the order of execution of
Interest 1
represents the need for
1
is assessed against
describes abilities of
1 1
«block»
«block»
Competency
Resource
consumes Profile 1..*
C.3 Glossary
Ontology Element The concepts that make up an Ontology. Each Ontology Ele-
ment can be related to each other and is used in the defini-
tion of each Viewpoint (through the corresponding
Viewpoint Element that makes up a Viewpoint). The pro-
venance for each Ontology Element is provided by one or
more Standard.
Organisation A collection of one or more Organisational Units, it runs one
or more Projects and will have its own Organisational
Context.
Organisational A Context defined from the point of view of a specific
Context Organisation.
Organisational A special type of Organisation that itself can make up part of
Unit an Organisation. An Organisational Unit also runs one or
more Projects and will have its own Organisational Context
Person A special type of Resource, an individual human, who exhibits
Competence that is represented by their Competency Pro-
file. A Person also holds one or more Stakeholder Role.
Perspective A collection of one or more View (and hence also one or more
defining Viewpoint) that are related by their purpose. That
is, one or more View which address the same architectural
needs, rather than being related in some other way, such as
by mode of visualisation, for example.
Process A description of an approach that is defined by: one or more
Activity, one or more Artefact and one or more Stakeholder
Role. One or more Process also defines a Service.
Process Context A Context defined from the point of view of a specific Process.
Process Execution A set of one or more Processes executed in order for a specific
Group purpose as part of a Stage. For example, a Process Execu-
tion Group may be defined based on a team, function, etc.
Product Something that realises a System. Typical products may
include, but are not limited to: software, hardware, Pro-
cesses, data, humans, facilities, etc.
Programme A special type of Project that is itself made up of one or more
Project.
Project One or more Project is run by an Organisational Unit in order
to produce one or more System.
Project Context A Context defined from the point of view of a specific Project.
Requirement A property of a System that is either needed or wanted by a
Stakeholder Role or other Context-defining element. Also,
one or more Requirement is needed to deliver each
Capability.
Resource Anything that is used or consumed by an Activity within a
Process. Examples of a Resource include money, locations,
fuel, raw material, data and people.
372 Foundations for Model-based Systems Engineering
Reference
Holt, J. and Perry, S.A. SysML for Systems Engineering – 2nd Edition: A Model-
Based Approach. Stevenage, UK: IET Publishing; 2013.
Appendix D
The ‘Pattern Definition and Realisation
(PaDRe)’ Processes
D.1 Introduction
This appendix presents a set of Processes for Pattern definition. These Processes,
known as PaDRe (from Pattern Definition and Realisation) are based on the
ArchDeCon processes found in appendix F of Holt and Perry (2013). The processes
are essentially the same as the ArchDeCon processes (used for the definition of
Architectural Frameworks (AFs)) but renamed so that they refer to Patterns rather
than AFs. The only exception to this is that the ‘Pattern context view’ produced by
the Processes is an instance of an ‘AF Context Viewpoint’ rather than a ‘Pattern
Context Viewpoint’. This is because, as discussed in Chapter 3, the underlying
Framework used for Pattern definition is one which was originally created for the
definition of AFs. As noted in Chapter 3, feel free to rename the ‘AF Context
Viewpoint’ to be the ‘Pattern Context Viewpoint’ if you wish.
The basic Needs for the PaDRe processes are shown in Figure D.1.
Figure D.1 shows the Context for the definition of a set of processes for
the definition of Patterns. The main Use Case that must be fulfilled is to ‘Define
processes for creating patterns’, constrained by ‘Comply with best practice’. In
order to ‘Define processes for creating patterns’ it is necessary to:
● ‘Allow needs that the pattern is to address to be captured’ – When defining a
Pattern, it is important that the Needs that the Pattern is to address can be
captured, in order to ensure that the Pattern is fit for purpose.
● ‘Support definition of ontology for pattern domain’ – When defining a Pattern,
it is essential that the concepts, and the relationships between them, are defined
for the domain in which the Pattern is to be used. This is the Ontology that
forms the foundational basis of the definition of the Pattern’s Viewpoints. Such
an Ontology ensures the consistency of the Pattern. The Processes must support
such a definition of an Ontology.
376 Foundations for Model-based Systems Engineering
Support identification of
relationships between
«include» viewpoints
Comply with best «include»
practice
«stakeholder role» «constrain» «include»
Standard
Support
Define processes for
identification of
creating patterns «include» required viewpoints
«include»
«include» «include»
Support identification of
grouping of viewpoints into
perspectives
Support definition «include» Support definition
of pattern rules of viewpoint needs
«stakeholder role»
Systems Modeller
Support definition of
viewpoint content
«block»
Pattern Process
«block» «block»
Pattern Definition Process Viewpoint Definition Process
«out» Pattern context view: AF Context Viewpoint «in» Pattern context view: AF Context Viewpoint
«in» Pattern standard: Standard «inout» Ontology definition view: Ontology Definition Viewpoint
«out» Ontology definition view: Ontology Definition Viewpoint «out» Rules definition view: Rules Definition Viewpoint
«out» Viewpoint definition view: Viewpoint Definition Viewpoint [1..*] «out» Viewpoint context view: Viewpoint Context Viewpoint [1..*]
«out» Viewpoint context view: Viewpoint Context Viewpoint [1..*] «out» Viewpoint definition view: Viewpoint Definition Viewpoint [1..*]
«out» Viewpoint relationships view: Viewpoint Relationships Viewpoint «inout» Viewpoint relationship view: Viewpoint Relationships Viewpoint
«out» Rules definition view: Rules Definition Viewpoint
select viewpoint()
identify context() define context()
identify source standard() refine ontology elements()
define pattern context() define viewpoint definition()
define pattern ontology() establish relationships()
identify viewpoints() define rules()
review() review()
«block» «block»
Ontology Definition Process Context Process
«stakeholder role»
Stakeholder Role
«stakeholder role»
«stakeholder role» «stakeholder role»
Systems Engineering
Standard Systems Engineer
Manager
is derived from
1
«viewpoint» defines viewpoints using elements from «viewpoint»
Ontology Definition Viewpoint Definition
Viewpoint 1 1..* Viewpoint
Figure D.4 PaDre – Information View (IV) for Pattern Definition Process
Artefacts
«viewpoint»
AF Context
Viewpoint
defines relationships between
1 viewpoints defined in «viewpoint»
Viewpoint
is derived 1 Relationships
from Viewpoint
1..* 1
defines viewpoint to
«viewpoint» «viewpoint»
meet needs from
Viewpoint Viewpoint Definition
Context 1 1 Viewpoint
Viewpoint
1..*
Figure D.5 PaDre – Information View (IV) for Viewpoint Definition Process
Artefacts
380 Foundations for Model-based Systems Engineering
«viewpoint»
«ontology element»
Ontology Definition
Ontology
Viewpoint 1 1
1..*
1
is related to
Figure D.6 PaDre – Information View (IV) for Ontology Definition Process
Artefacts
«viewpoint» «viewpoint»
Viewpoint Context AF Context
Viewpoint Viewpoint
Figure D.7 PaDre – Information View (IV) for Context Process Artefacts
The ‘Pattern Definition and Realisation (PaDRe)’ Processes 381
identify context
(Pattern Definition Process::)
Pattern standard:
identify source standard
Standard
(Pattern Definition Process::)
[review failed]
[review passed]
define pattern context
(Pattern Definition Process::)
Invoke 'Context
Process'
review
(Pattern Definition Process::)
Invoke 'Ontology
Definition Process' 1..*
Viewpoint context view:
Viewpoint Context Viewpoint
Viewpoint relationships
Invoke 'Viewpoint Rules definition view: Rules
view: Viewpoint
Definition Process' Definition Viewpoint
Relationships Viewpoint
Figure D.8 PaDre – Process Behaviour View (PBV) for Pattern Definition Process
382 Foundations for Model-based Systems Engineering
select context
(Context Process::)
Context: Context
analyse context
(Context Process::)
[review passed]
resolv e problems
rev iew
(Context Process::)
(Context Process::)
Figure D.9 PaDre – Process Behaviour View (PBV) for Context Process
The ‘Pattern Definition and Realisation (PaDRe)’ Processes 383
Invoke 'Ontology
Definition Process'
identify concept
(Ontology Definition Porcess::)
1..*
Source element: define concept
Source Element (Ontology Definition Porcess::)
Ontology element:
Ontology Element
[review failed]
[review passed]
Ontology: Ontology
[more concepts]
review
(Ontology Definition Porcess::)
Figure D.10 PaDre – Process Behaviour View (PBV) for Ontology Definition Process
384 Foundations for Model-based Systems Engineering
Invoke 'Viewpoint
Definition Process'
[more viewpoints]
Viewpoint relationship
view: Viewpoint select viewpoint
Relationships (Viewpoint Definition Process::)
Viewpoint
[review failed]
Invoke 'Context
Process'
Viewpoint definition
view: Viewpoint
Definition Viewpoint [review passed]
establish relationships
(Viewpoint Definition Process::)
review
Viewpoint relationship (Viewpoint Definition Process::)
view: Viewpoint Relationships
Viewpoint
Figure D.11 PaDre – Process Behaviour View (PBV) for Viewpoint Definition Process
The ‘Pattern Definition and Realisation (PaDRe)’ Processes 385
Reference
Holt J. and Perry S. SysML for Systems Engineering – 2nd Edition: A Model-Based
Approach. Stevenage, UK: IET Publishing; 2013.
Index
for block definition diagrams 329 Process Behaviour Viewpoint (PBV) 229
for internal block diagram 331 Process Content View (PCV) 377
for package diagram 332 Process Content Viewpoint (PCV) 228
for parametric diagram 333 Process Execution Group 124, 130–1,
for requirement diagram 334 138, 227, 242
for sequence diagram 339 Process Instance Viewpoint (PIV) 229
for state machine diagram 337 Process modelling 225
for use case diagram 343 Information Viewpoint (IV) 229
‘Path’ 106 Process Behaviour Viewpoint
‘Pattern Definition and Realisation (PBV) 229
(PaDRe)’ processes 375 Process Content Viewpoint (PCV) 228
Information View (IV) 379 Process Instance Viewpoint (PIV) 229
for Context Process Artefacts 380 Process Structure Viewpoint (PSV)
for Ontology Definition Process 228
Artefacts 380 purpose 225–6
for Pattern Definition Process Requirement Context Viewpoint
Artefacts 379 (RCV) 228
for Viewpoint Definition Process seven views framework 225–6
Artefacts 379 Enabling Patterns used for 229
Process Behaviour View (PBV) 381 framework 228–9
for Context Process 382 Ontology 226–8
for Ontology Definition Process patterns 229–30
383 Stakeholder Viewpoint (SV) 228
for Pattern Definition Process 381 Process Structure Viewpoint (PSV) 228
for Viewpoint Definition Process Product Life Cycles 121, 239
384 ‘Product’ 221
Process Content View (PCV) 377 Programme Life Cycles 121, 239
Requirements Context View (RCV) Project Life Cycles 121, 239
375–6 Protocol Definition Viewpoint (PDVp)
Stakeholder View (SV) 378 34, 51–3
Patterns, origins of 5–6 description 52
Patterns, uses of 3 example 52–3
‘Perform Stunt’ requirement PumpIF Protocol 53
TV Traceability View for 70–1 Viewpoint Context View showing 51
‘Person’ 232 Viewpoint Definition View showing
Point of View Definition Viewpoint 52
Viewpoint Context View showing ‘Provide needs definition’ 226
170 ‘Provide process definition’ 226
Process 4–5, 16, 226 ‘Provide process validation’ 226
Process Behaviour View (PBV) 381 Pump Controller 38, 41, 48, 50
for Context Process 382
for Ontology Definition Process 383 Relationship Identification Viewpoint
for Pattern Definition Process 381 (RIVp) 58, 61–3
for Viewpoint Definition Process description 61–2
384 example 62–3
396 Foundations for Model-based Systems Engineering