System Composition and Composition Trees Geoff Dromey Software Quality Institute
© R.G.Dromey, Griffith University, 2005
A Big Challenge One of the greatest challenges that systems/software engineers face is how they should first proceed when they are initially given documentation supplied by a customer describing their needs for a system.
My Last Five years … Have been about the search for:
Repeatable Outcomes • when different people • apply the same Design/analysis methods • and the same representations • to a particular problem • given the same initial information.
“Mere information by itself is worth little, unless it is arranged in ways that make sense to its possessors, and enables them to act effectively … To make sense of information – to understand it one has to put it into fruitful relationship with other information, and grasp the meaning of that relationship; which implies … seeing the whole”. – A.C.Grayling
Starting Position • Confronted with a statement of requirements our job is to systematically and effectively increase our understanding of the problem to be solved. • To increase understanding we need to create useful usable, new order in a repeatable, constructive way. • It turns out that constructing the system composition is probably the most effective way to initiate the analysis/design phase ( CLAIM )
System Composition The System Composition plays a role in system design of comparable importance to the role laying the foundations plays in constructing a house – it comes first and it supports all subsequent activities. Metaphor – the components are like the stumps of the foundation for a house – we need all their details.
System Analysis and Design Strategy Creating Integrated Views
S y s t e m A n a ly s is
S ta te m e n t o f R e q u ir e m e n t s
C o m p o s it io n a l A r c h ite c tu r e
D a t a /C o m p o s it io n R e q u ir e m e n ts
F u n c tio n a l R e q u ir e m e n ts
C o m p o s itio n T r e e
D e s ig n B e h a v io r T r e e
In t e g r a t e d V ie w o f D a t a R e q u ir e m e n t s
In t e g r a t e d V ie w o f F u n c t io n a l R e q u ir e m e n t s
Com ponent D a ta M o d e ls
D a ta D e fe c ts
B e h a v io r A r c h ite c tu r e
Com ponent B e h a v io r T r e e s
B e h a v io r D e fe c ts
What is needed to systematically tackle the complexity and defects associated with building LARGE Systems.
Composition Composition is a concept that is widely used in a number of disciplines to provide a useful summary information about an entity.
Composition HOUSE: E th a n e :
4 b e d r o o m s , 2 b a th r o o m s , ... C 2H 6
D IC T IO N A R Y : T a b le : " A p ie c e o f fu r n itu r e c o n s is tin g o f a fla t to p s e t h o r iz o n ta lly o n le g s "
Concept of composition is also highly relevant when it comes to analyzing, designing and formally representing large systems – it can quickly tell us about the relative size and type of system we are dealing with – subsequently supports design.
A Way to Look at Things - Chemistry Representations 1
Ethane Molecule
C O M P O S IT IO N
C 2H
6
H
H 2
STRUCTURE
H
C H
3
B E H A V IO R
C
H H
D e t a ile d d e s c r ip t io n o f b e h a v io r
What Is Important About Composition
It should be UNIQUE for a given statement of requirements.
Table - Composition Tree
T a b le
Leg+
Top
Structural Dependency
Light System - Composition Tree
L ig h t S y s t e m
B a tte ry
S w it c h
L ig h t
Functional Dependency
3 W ir e s
Living Entities - Composition Tree L iv in g E n t it ie s
{ P la n t s }
{ A n im a ls }
Classification Dependency
Sentence - Composition Tree S E NTE NC E
W o rd +
Space*
EOLN *
F u ll_ S t o p
“A sentence contains one or more words terminated by a full-stop. Pairs of words are separated by a space. An end-of-line follows the last word on each line and separates it from the first on the next line. There are no leading or trailing spaces.”
Composite - Composition Tree NOTE: “Game” is a virtual construct
C o m p o s it io n T r e e
S y s te m
Te a m -1
T e a m -2
P la y e r *
P la y e r *
Game
A T T R IB U T E S
F ir s t - H a lf
C u r r e n t_ S c o r e F in a l_ S c o r e
Entities like “Game” record behavior Or functionality Database Definition
S e c o n d - H a lf
Two Axioms … Composition is a fundamental property of a system. Composition is a fundamental property of a set of functional requirements of a system.
Two Axioms … Composition is a fundamental property of a system.
O V EN
US ER
1
D OOR
D O [ CO l oRs e d ]
3C
B U TB[ EUTn TaOTb lONe dN ]
L IG H T P O W ER -T U B E
B EEP ER
RGD -
Two Axioms … FR-01 2.2.1 Report Satellite Health Satellite health information is requested to aid in planning required satellite maintenance. MG2) The SCS shall process each HR (satellite health request) command message received from the GCS. MG2.1) An HR command message shall be the first message received after the initiation of each "Manage Satellites" transaction. MG2.2) The SCS may receive a satellite health request message anytime during a "Manage Satellites" transaction. (Describes order during transaction.) MG2.3) A satellite health request command message will only be accepted by the SCS during an active "Manage Satellites" transaction. (Describes condition under which an HR may be received.) MG3) The SCS shall prepare and send an HA (satellite health acknowledgment) message to the GCS in response to an HR (satellite health request) command message.
FR-02
l a n io ents t c Fun uirem Req
2.2.1 Report Satellite Health Satellite health information is requested to aid in planning required satellite maintenance. MG2) The SCS shall process each HR (satellite health request) command message received from the GCS. MG2.1) An HR command message shall be the first message received after the initiation of each "Manage Satellites" transaction. MG2.2) The SCS may receive a satellite health request message anytime during a "Manage Satellites" transaction. (Describes order during transaction.) MG2.3) A satellite health request command message will only be accepted by the SCS during an active "Manage Satellites" transaction. (Describes condition under which an HR may be received.) MG3) The SCS shall prepare and send an HA (satellite health acknowledgment) message to the GCS in response to an HR (satellite health request) command message.
FR-M 2.2.1 Report Satellite Health Satellite health information is requested to aid in planning required satellite maintenance. MG2) The SCS shall process each HR (satellite health request) command message received from the GCS. MG2.1) An HR command message shall be the first message received after the initiation of each "Manage Satellites" transaction. MG2.2) The SCS may receive a satellite health request message anytime during a "Manage Satellites" transaction. (Describes order during transaction.) MG2.3) A satellite health request command message will only be accepted by the SCS during an active "Manage Satellites" transaction. (Describes condition under which an HR may be received.) MG3) The SCS shall prepare and send an HA (satellite health acknowledgment) message to the GCS in response to an HR (satellite health request) command message.
Composition is a fundamental property of a set of functional requirements of a system.
Saying the Same Thing … O r ig in a l S t a t e m e n t o f R e q u ir e m e n t s
S y s te m D e s ig n
S y s t e m C o m p o s it io n
S y s t e m C o m p o s it io n
System Composition Building a deep understanding of a system depends on first building a deep understanding of the components that make up the system and how they are organised.
The Problem We Face The problem we face in attempting to build an understanding of the components in a system is that in statements of requirements for a system, information about individual components in the system is usually widely spread throughout the set of requirements.
Starting at the Top … S y s t e m Composition C o m p o s itio n System
Starting at the Top … S y s t e m Composition C o m p o s itio n System
Components
Data Exchanged
Starting at the Top … S y s t e m Composition C o m p o s itio n System
Components
Component Inputs
Data Exchanged
Component Outputs
We can model data exchange as component inputs/outputs
Starting at the Top … S y s t e m Composition C o m p o s itio n System
Components
Data Exchanged/ Relations
We can model relation change as data exchange
Component Composition
Component Composition contributes in a significant way to system composition
Component Composition Component Composition
Composite Components
Encapsulated Data
Multiplicity
Classification
Composition Trees
• Provide an integrated view of data requirements • Provide integrated knowledge of each component • Provide a systematic way of finding many types of defects • Approach repeatability of construction • Provide information that supports subsequent steps • Provide an important perspective of the size/dimensionality of the a large system • Provide vital information that supports understanding and subsequent maintenance of the system • Provide information that can be easily and usefully refined during later stages of development • Identify important system architecture information • Serve to construct the vocabulary of a system
Composition Tree -- By Translation
Consider as an example, a communication system (incomplete) that might involve a network of mobile nodes and a set of physical locations each of which has a local network consisting of fixed hub node connected to a number of fixed support nodes. Each mobile node has a mobile_ID and a classification.
Composition Tree – Translation * --- zero o r m o re # - - - a r b it r a r y m e m b e r o f s e t
C O M M U N IC A T IO N SYSTEM
M o b ile _ N o d e *
P h y s ic a l_ L o c a t io n *
M o b ile _ N o d e #
P h y s ic a l_ L o c a t io n #
/
M o b i l e - ID
/
C la s s if ic a t io n
In te r n a l D a ta fo r M o b ile _ N o d e #
L o c a l_ N e t w o rk
F ix e d _ H u b _ N o d e
F ix e d _ S u p p o r t _ N o d e *
Composite Components - House, Kitchen T h e m a n w e n t f r o m t h e b e d r o o m v ia t h e h a llw a y a n d t h e n t o t h e k it c h e n w h e r e h e p u t f o o d o n t a b le in t o t h e M ic r o w a v e a n d p r e s s e d t h e b u t t o n .
In general we need to use compositional, structural and Behavioral knowledge to represent large systems
B edroom
S y s te m
C o m p o s it io n T re e
+
S tru c tu re T re e
H ouse
B e h a v io r T r e e
B edroom
M an [ In _ B e d r o o m ]
H a llw a y
K it c h e n
)- M a n -(
H a llw a y
M an [ in _ H a llw a y ]
M ic r o w a v e
T a b le
)- F o o d -(
K it c h e n
M an [ In _ K it c h e n ]
M ic r o w a v e [ ? C o n t a in ? ]
B u tto n : >
Food
T a b le [ ? C o n t a in ? ] : >
Food
Food [ ? P la c e d ? ] on
M an [ P la c e d ]
T a b le : >
Food [ ? P la c e d ? ]
B u tto n [? P re s s e d ? ] :b y
Need to add Preconditions here For Behavior implied In description
in
M an
in
M ic r o w a v e
R e la tio n s
Behavior can alter relations
Food M ic r o w a v e
M an [ P ressed ] : > of
B u tto n M ic r o w a v e
Composite Components → Composition A U T O M O B IL E
( s e e a ls o p .8 0 R u m b a u g h f o r O b je c t D ia g r a m )
B ody
P o w e r T r a in
D oo rs
E n g in e S y s t e m
E n g in e
E xhaust
P ip e
S t e e r in g S y s t e m
T r a n s m is s io n
G as T ank
W h e e ls
S ta rrter
P ip e
Engine-System is a composite component
W h e e ls
S t e e r in g W h e e l
Class Diagram vs Composition C la s s D ia g r a m - R u m b a u g h , e t a l, p . 8 0 Door
Why here?
G as Tank
Body
A u to m o b ile
E n g in e
P o w e r T ra in
S t e e r in g S y s t e m
T ra n sm issio n
W heel
B r a k in g S y s t e m
B ra k e
Ex h a u s t S y s te m
M u ffle r
B r a k e S w itc h
B ra k e L ig h t
E le c tr ic a l S y s te m
P ip e
S ta r te r
B a tte r y
Network – no repeatability of construction
A lte r n a to r
Encapsulated Data → Composition C o m p o s it io n T r e e
CA RD_RE A DE R
F R -0 5
K e y b o a rd
I s s u e : d o s e p a ra te c o p ie s h a v e s e p a ra te I D s ? ? ?
F R -0 1
V ID E O _ T A P E *
F R -0 1
C U S TO M E R *
F R -0 1
V ID E O _ T A P E #
F R -0 1
C U S TO M E R #
FR 15/
Nam e
FR 15/
A d d re s s
2 .4 / -
P hone N um ber
2 .4 / -
D e p o s it D a t e R e g is t e re d
F R -0 2
V id e o _ In v e n t o r y R e c o r d
/ +
V id e o _ D a t a
F R 1 9 /-
/ +
A t t r ib u t e s
F R 1 9 /-
D a t e D e le t e d
F R -0 6 /
V id e o _ N a m e : T it le (a lia s )/ F R 1 9
FR 15/
C r e d it _ C a r d _ in fo r m a t io n
F R 1 9 /-
Type
FR 19/
G o o d c re d it | B a d C r e d it
F R 1 9 /-
D a y s R e n t e d b y T it le
FR 07/ +
P a s t_ D u e _ F e e s
2 .4 /-
R e n ta l F e e
FR 04/
A c c o u n t_ N u m b e r
F R -0 3
R e n t a l_ T r a n s a c t io n _ R e c o r d
F R -0 6 /
R e n t a l_ P ric e
F R -0 6 /
B a r _ c o d e _ ID : T a p e _ ID
+
F R -1 9
Y e a r+
F R -1 9
M o n th
+
F R -1 9
CO P Y
F R -1 9
Y e a r#
F R -1 9
M o n th #
F R -1 9
CO P Y #
F R 1 9 /-
D a y s R e n te d b y Y e a r
F R 1 9 /-
D a y s R e n te d b y M o n th
/
C opy N um ber
F R -0 2 /+
C u rre n t S ta tu s
F R 1 9 /-
D a te o f L a s t R e tu rn
F R 1 9 /-
D a y s R e n te d b y C o p y
F R -0 3
V ID E O _ T A P E * { R e n te d }
F R -0 3
V ID E O _ T A P E # { R e n te d }
FR 13/
D a t e _ o f_ R e t u r n
I n F R 1 9 c o p y a p p e a r s in t w o r e q u ir e m e n t s - is a m b ig u o u s
F R -0 1
C LE R K *
B A R _CO D E _R E A DE R
M is s in g f r o m r e q u ir e m e n ts
N o F u n c t io n a lit y t o s e t t h is
F R -0 3
F R -0 3
A c c o u n t_ C a rd
A c c o u n t_ N u m b e r
F R -1 9 -
R e n t a l_ H is t o r y _ R e c o rd
W h a t is r e q u ir e d h e r e is t o o v a g u e t o s p e c if y d a t a r e q u ir e m e n t s
Encapsulated Data → Composition C o m p o s it io n T r e e
F R -0 1
C U S TO M E R *
F R -0 1
C U S TO M E R #
FR15/
Nam e
FR15/
A d d re s s
2 .4 / -
P hone N um ber
2 .4 / -
D e p o s it
F R 1 9 /-
D a t e R e g is t e re d
F R 1 9 /-
D a t e D e le t e d
FR15/
C r e d it _ C a r d _ in fo r m a t io n
FR19/
G o o d c re d it | B a d C re d it
FR07/ +
P a s t_ D u e _ F e e s
FR04/
A c c o u n t_ N u m b e r
Integration of data requirements from different FRs
Multiplicity → Composition S c h o o l S ys te m
Particular school
DR9 +
SCHOO L+
DR9
SCHO O L#
“+” One or more schools
RELATION DR7 +
SCHOOL# [ H a s _ r e g is t e r e d ] S TUDENT%
Some departments
DR9
DR13
DEPA RTM ENT%
+
D E P A R TM E N T#
DR3
CO URS E+
One or more courses
RELATION DR3
CO URS E# [ A tte n d e d ]
by
S TUDENT%
School has registered some “%” students
DR15
IN S T R U C T O R
+
Classification → Composition O rd e r S y s te m
O RDER*
EM PLO Y EE*
O RDER#
{S a le s R e p re se n ta tiv e }
PR O D U C T*
CUS TO M ER*
D R 8 +
CUSTO M ER# [ Has Lodged ] O RDER%
S a le s R e p re se n ta tiv e #
[ A s s ig n e d ] O R D E R L IN E %
to
{ C o r p o r a te }
{ Pe rs o n a l }
C o r p o r a te %
Classification
C o r p o r a te # O R D E R L IN E # [ R e f e r s to ] PRO DUCT#
C o r p o r a te # [ H a s A s s ig n e d ] S a le s _ R e p r e s e n ta ti ve 0 |1
Classification – is a vehicle for composition/decomposition of sets/types of entities
Relations → Composition O rd e r S y s te m
O RDER*
EM PLO Y EE*
O RDER#
{S a le s R e p re se n ta tiv e }
PR O D U C T*
CUS TO M ER*
D R 8 +
CUSTO M ER# [ Has Lodged ] O RDER%
S a le s R e p re se n ta tiv e #
[ A s s ig n e d ] O R D E R L IN E %
to
{ C o r p o r a te }
{ Pe rs o n a l }
C o r p o r a te %
C o r p o r a te # O R D E R L IN E # [ R e f e r s to ] PRO DUCT#
C o r p o r a te # [ H a s A s s ig n e d ] S a le s _ R e p r e s e n ta ti ve 0 |1
In database applications relations record behavior – Implemented by exchange of information
Component Information – Integrated View S a te llite C o n tr o l S y s te m - C o m p o s it io n T r e e
2 .1 IN 1
D e fin itio n s G C S : G ro u n d C o n t ro l S y s te m
G C S { O u tp u ts }
G C S { In p u t s }
2 .2 . 3
< IN >
SC S
2 .1
> IN A <
S C S
< MG >
SC S
2 .2
> MGA <
S C S
2 .2
IN : In it ia liz e S C S
< HR>
SC S
2 . 2 .1
> HA <
S C S
2 .2 .1
M G : M a n a g e t im e s lo t g o
< FR >
SC S
2 . 2 .2
> FA <
S C S
2 .2 .2
M G : M a n a g e t im e s lo t g o
< BR>
SC S
2 . 2 .3
> BA <
S C S
2 .2 .3
< TG >
SC S
2 . 3 .1
S C S
2 .3 .1
SC S
2 . 3 .2
S C S
2 .3 .4
F R : F i r in g R e q u e s t B R : B a n d w id /L o c a tio n R e q u e st
TG :
< TE>
>
TSC AN <
> TC<
BR
2 .3 .1
2 .1
+
2 .2 . 3
T a b le _ E n t r y
2 .2 . 3
T a b le _ E n t r y #
TG
/
U p lin k S it e ID
/
D o w n lin k S i t e ID
/
P l a n n e d T i m e _ S lo t_ D u r a tio n
M issin g c a se w h e n O K fo r sta tu s
D a ta T r a n s m is s io n T im e - s l o t g o
T E : T im e s lo t E x p i r e d
C o m p o s it io n T r e e
GCS
S C S : S a t e l l i te C o n tro l S y ste m
H R : H e a lt h R e q u e s t
S a t e llit e S y s t e m
2 .2 .3
S e n d e r : U p lin k ID
2 .2 .3
R e c e iv e r :D o w n l in k S ite I D
Is U p lin k S ite ID S A M E a s U p lin k ID ?
2 .1 IN 1
2 .1 2 .2
S C S { O u tp u t.s }
2 .1 IN 1
2 .2 . 2
S C S { In p u t . s }
FA
2 .1 IN 1
SCS
2 . 2 .3
BA
2 .2 . 3
B / L T a b le
2 .3 .1
TS CA N
2 .3 .3 +
P B _ L is t
2 . 2 .3
S t a tu s _ C o d e
2 .2 . 3
T a b le _ E n t r y * /
2 .3 .1
S ta tu s _ C o d e /
2 .3 .3
PB*
*/
[ 1 .. 9 9 9 9 >
/
[ 0 .. 4 ]
MGA
2 .1 2 .2
MG
2 .2 .1
HA
2 .2 .1
HR
2 .3 .1
TS CA N
2 .2 .2
FR
2 .3 .1
TG
2 .2 .2
FA
2 .3 .2
DI
2 .2 .3
BR
2 .3 .3
PB
2 .3 .1
TG
2 .3 .3 +
PB S #/
2 .3 .1
UG
/
U p lin k _ ID ;
2 .3 .1
DG
2 .3 .1
UB
2 .3 .1
DB
2 .3 .2
DI
2 .3 .2
TE
IN A
2 .3 .1
U p lin k S it e *
2 .1 IN 1
D o w n lin k S it e *
2 .3 .1
U p lin k S it e #
2 .1 IN 1
D o w n l in k S it e #
S Y S TEM
IN
2 .3 .3
PB
2 .3 .4
T C :T r a n s m is s io n C o m p le te d
GCS – Component Information
2 .2 .2
S ta tu s _ C o d e
2 .2 .2
F u e l_ P r e s s u r e _ D a ta
/
P r o b le m w i t h P B s - c a n g e t i n a n i n f i n i t e lo o p ( d e a d lo c k ) i f P B s f a i l t o g e t t r a n s m i t t e d p r o p e r ly t o U p li n k s i t e - i t m a y n o t k n o w i s m i s s i n g a n e e d e d r e s e n d . G C S a n d S C S h a v e a c k n o w le d g e m e n t b u i lt i n b u t U p li n d a n d D o w n li n k d o n 't c o m p l e t e ly .
D o w n lin k _ ID ;
/
P a c k e t _ ID ;
/+
R e p la c e d _ S t a t u s
2 .3 .1
U p lin k S it e { O u t p u t }
2 .3 .1
U p li n k S it e { In p u t }
2 .3 .1
UG
2 .3 .1
TG
2 .3 .1
UB
2 .3 .2
DI
2 .3 .4
T C :T r a n s m is s io n C o m p le te d
2 . 3 .3
PB
2 . 3 .5 -
T E : M is s in g In p u t
2 .3 .2
2 .3 .1 D o w n l i n k S i te {O u tp u t}
2 .3 . 1
D o w n l in k S it e { In p u t }
2 . 3 .3
/
U p lin k _ ID ;
2 .3 .1
DG
2 .3 . 1
TG
/
U p l in k _ ID ;
/
D I : D a ta P a c k e t/
D o w n lin k _ ID ;
2 .3 .1
DB
2 .3 .2
DI
/
D o w n lin k _ ID ;
/
P a c k e t _ ID ;
2 .3 .3
PB
/
P a c k e t _ ID ;
/
P a c k e t_ D a ta ;
R U L E : I n tr o d u c e d a ta t h a t f lo w s a t p o i n t o f o r ig in
2 .3 .3
DO
I n c o n s is te n c y - m is s in g r e s p o n s e t a b le
P B : P a c k e t is B a d /
Component Information – Integrated View
2 .1 IN 1
D e fin itio n s G C S : G ro u n d C o n tro l S y ste m
G C S { O u tp u ts } < IN >
S C S : S a te llite C o n tro l S y ste m
< MG>
IN : In it ia liz e S C S M G : M a n a g e t im e s lo t g o M G : M a n a g e t im e s lo t g o H R : H e a lt h R e q u e s t F R : F ir in g R e q u e s t B R : B a n d w id /L o c a tio n R e q u e st
TG :
GCS
G C S { In p u t s }
2 .2 .3
S CS
2 .1
> IN A <
S CS
2 .1
S CS
2 .2
> MGA <
S CS
2 .2
< HR>
S CS
2 .2 .1
> HA <
S CS
2 .2 .1
< FR>
S CS
2 .2 .2
> FA <
S CS
2 .2 .2
< BR>
S CS
2 .2 .3
> BA <
S CS
2 .2 .3
< TG >
S CS
2 .3 .1
S CS
2 .3 .1
< TE>
S CS
2 .3 .2
S CS
2 .3 .4
>
TSC AN <
> TC<
+
2 .2 .3
T a b le _ E n t r y
2 .2 .3
T a b le _ E n t r y #
2 .3 .1
TG
/
U p lin k S it e ID
/
D o w n lin k S it e ID
/
P l a n n e d T i m e _ S lo t_ D u r a ti o n
M issin g c a se w h e n O K fo r sta tu s
D a ta T r a n s m is s io n T i m e - s l o t g o
T E : T im e s lo t E x p ir e d
BR
2 .2 .3
S e n d e r : U p lin k ID
2 .2 .3
R e c e i ve r :D o w n l i n k S ite ID
Is U p lin k S ite ID S A M E a s U p lin k ID ?
System Architecture – Layered View LA RG E_S Y S TEM
L e v e l - 1 C o m p o n e n ts C o m p o n e n t- A 1
S Y S TEM -L 1 1
S Y S TEM -L 1 2
C o m p o n e n t- B 1
Language - 01 L e v e l - 2 C o m p o n e n ts
Language - 02
C o m p o n e n t- C 2
C o m p o n e n t- D 2
S Y S TEM -L 2
C o m p o n e n t- E 2
C o m p o n e n t- F 2
L e v e l - 3 C o m p o n e n ts C o m p o n e n t- G 3
C o m p o n e n t- H 3
C o m p o n e n t - I3
Language - 04
Identifies Systems Within Systems
Language - 03
Architecture – Composition Tree Relationship
O V EN
US ER
1
D OO R
D O [ CO l oRs e d ]
3C
B U TB[ EUTn TaOTb lONe dN ]
L IG H T P O W ER -T U B E
B EEP ER
Architecture – Composition Tree Relationship
M ic r o w a v e O v e n SYSTEM
USER
DO O R
B U TTO N
L IG H T
P O W E R _TU B E
B E E P E R
Architecture – Composition Tree Relationship
K IT C H E N PHONE
( S y s t e m B e h a v io r In t e r f a c e C o m p o n e n t)
ROBO T
R E F R ID G E R A T O R
M ic r o w a v e O VEN (S y s te m C o m p o n e n t)
What a Composition Tree Documents • Which components are composite and their constituents • Outputs a component sends to others • Inputs a component receives from others • Multiplicity of a component relative to others • Classification of components in a system • Information a component hides/encapsulates • States a component realizes • Relational Behavior/Interactions of a component • Definitions of components and information A composition tree can look very different for different types of application and different specification types but it always provides an integrated view..
Advantages of Composition Trees
• Provide an integrated view of data requirements • Provide integrated knowledge of each component • Provide a systematic way of finding many types of defects • Approach repeatability of construction • Provide information that supports subsequent steps • Provide an important perspective of the size/dimensionality of the a large system • Provide vital information that supports understanding and subsequent maintenance of the system • Provide information that can be easily and usefully refined during later stages of development • Identify important system architecture information • Serve to construct the vocabulary of a system
System Analysis and Design Strategy S y s t e m A n a ly s is
S ta te m e n t o f R e q u ir e m e n t s
D a ta A r c h ite c tu r e
D a ta R e q u ir e m e n ts
F u n c tio n a l R e q u ir e m e n ts
C o m p o s itio n T r e e
D e s ig n B e h a v io r T r e e
In t e g r a t e d V ie w o f D a t a R e q u ir e m e n t s
In t e g r a t e d V ie w o f F u n c t io n a l R e q u ir e m e n t s
Com ponent D a ta M o d e ls
D a ta D e fe c ts
B e h a v io r A r c h ite c tu r e
Com ponent B e h a v io r T r e e s
B e h a v io r D e fe c ts
What is needed to systematically tackle the complexity and defects associated with building LARGE Systems.
Where We Have Got To • Many problems with a set of requirements cannot be revealed by inspecting, reading, analyzing only the textual representation of those requirements no matter how conscientious we are. • To discover some requirements problems with a large system we need to look beyond the functional/behavioral view • What a composition tree provides is a formal statement of vital information needed to proceed in a systematic and effective way.