SwSTE 2012, Hertzliyah, June 12, 2012 
Dr. Amir Tomer 
Software Engineering Department Head 
amir@amirtomer.com 
052-8890202 
Dr. Amir Tomer –SwSTE 2012 1 Software Modeling from Life-Cycle Perspective
System in its Environment* 
Enabling 
System A 
Enabling 
System B 
Enabling 
Interaction with enabling System C 
systems, usually in other 
life-cycle stages rather 
than operation 
System B in 
Operational 
Environment 
System of 
Interest 
System A in 
Operational 
Environment 
System C in 
Operational 
Environment 
Interaction with systems 
comprising the 
operational environment 
*ISO/IEC/IEEE 15288 
Dr. Amir Tomer –SwSTE 2012 2 Software Modeling from Life-Cycle Perspective
System Configurations 
• Configuration – Definition* 
– The arrangement of a … system or component as defined by the number, nature, and 
interconnections of its constituent parts 
• A system usually has many configurations during its life cycle 
– Pre-development configurations 
• Demo 
– Configurations throughout development 
• Partial integrations 
• Lab test 
• Field test 
• Acceptance test 
– Situational configurations 
• In storage 
• In transport 
• In operational use 
• In training 
• Each configuration is in place within a certain context 
*ISO/IEC 24765:2009 Systems and software engineering vocabulary 
Dr. Amir Tomer –SwSTE 2012 3 Software Modeling from Life-Cycle Perspective
Configurations vs. Architecture 
• The camera can be arranged and 
used in various configurations 
– Each configuration is associated 
with a certain context 
• Shooting pictures 
– At different occasions 
• Uploading pictures to computer 
• Displaying video clips 
• Video chatting 
• The camera’s architecture enables 
and supports all of its 
configurations 
– The camera’s architecture 
cannot be “configured” by itself! 
Dr. Amir Tomer –SwSTE 2012 4 Software Modeling from Life-Cycle Perspective
Configurations vs. Architecture – Proposed Definitions 
• We propose here the following definitions 
– Configuration 
• A specific arrangement of system elements, specifying the number and the type of each 
element, as well as their interconnection and interaction 
– Architecture 
• An abstract* arrangement of abstract elements, specifying the abstract element types 
and the number range of each element type, as well as their virtual interconnections and 
virtual interactions. 
• Consequently: 
– The system architecture is the union of all possible system configurations; 
– Every possible system configurations should be derived from the system 
architecture; 
– The system architecture is an abstract entity, and has no instance in reality; 
– Architecture (abstract) elements are instantiated by specific configuration 
elements, which specifically implement the required (virtual) interconnections and 
interactions 
*Abstract means here a generic entity that can be inherited by other entities but has no instantiations of itself 
Dr. Amir Tomer –SwSTE 2012 5 Software Modeling from Life-Cycle Perspective
Case Study: A Field Service System 
• A few requirements 
– The operational Field Service System shall be 
deployed, as follows: 
• Field agents, using PDAs, communicate with 
service centers 
– Up to 100 agents per service center 
• Service centers communicate with the 
company headquarters 
– There will be between 1 and 3 service 
centers 
• All the communication in the system will be 
over a Virtual Private Network (VPN) 
– An agent training class shall be established, 
where agents with their operational PDAs may 
connect and train against a service simulator 
– At the first iteration of the project the Service 
Center shall be implemented and tested 
against HQ and Agent simulators 
Dr. Amir Tomer –SwSTE 2012 6 Software Modeling from Life-Cycle Perspective
The Field Service System – Operational Configuration 
• Context 
– Operations 
• View 
– structure 
• Model 
– Physical Structure 
• Model Type 
– Deployment Diagram 
• Sub-Blocks 
– HWCIs (computers) 
– CSCIs (applications) 
Operational 
Communication 
Operational 
Configuration 
Dr. Amir Tomer –SwSTE 2012 7 Software Modeling from Life-Cycle Perspective
The Field Service System – Testing Configuration 
• Context 
– Testing 
• View 
– structure 
• Model 
– Physical Structure 
• Model Type 
– Deployment Diagram 
– Composite Structure Diagram 
• Sub-Blocks 
– HWCIs (computers) 
– CSCIs (applications) 
– Test Lab (unspecified) 
Communication 
during testing 
• Needs to provide a LAN communication port 
Dr. Amir Tomer –SwSTE 2012 8 Software Modeling from Life-Cycle Perspective
The Field Service System – Training Configuration 
• Context 
– Training 
• View 
– structure 
• Model 
– Physical Structure 
• Model Type 
– Deployment Diagram 
– Composite Structure Diagram 
• Sub-Blocks 
– HWCIs (computers) 
– CSCIs (applications) 
– Training class (unspecified) 
• Needs to provide a LAN communication port 
Communication 
during testing 
Operational 
Configuration 
Dr. Amir Tomer –SwSTE 2012 9 Software Modeling from Life-Cycle Perspective
The Field Service System – Architecture 
• Context 
– Architecture 
• View 
– structure 
• Model 
– Physical Structure 
• Model Type 
– Deployment Diagram 
• Sub-Blocks 
– HWCIs (computers) 
– CSCIs (applications) 
– Training class (unspecified) 
• Needs to provide a LAN 
communication port 
Communication 
Definitions for ICD 
Generic Architecture: 
Supports all configurations 
<<abstract>> 
A conceptual entity which has no real instances. 
Must be <<realized>> by more specific entities 
Dr. Amir Tomer –SwSTE 2012 10 Software Modeling from Life-Cycle Perspective
The Entire Picture 
Architecture 
Training Configuration 
Operations Configuration 
Testing Configuration 
Dr. Amir Tomer –SwSTE 2012 11 Software Modeling from Life-Cycle Perspective
Assuring Architectural Consistency (IBD) 
Dr. Amir Tomer –SwSTE 2012 12 Software Modeling from Life-Cycle Perspective
Behavioural Architecture 
• The same Architecture/configuration principle holds for the system behaviour 
– A behavioural architecture outlines the principle system behaviour over all its 
operational contexts 
– A behavioural configuration specifies the specific system behaviour in a specific 
context 
Human Agent 
Field-service System - 
Operational Context 
Login Service 
Ceneter 
Open a Service Call 
Field-Service System - 
Behavioral Architecture 
«abstract» 
Login 
«realize» «realize» 
«abstract» 
Open a Call 
Agent 
Field-service System - 
Training Classroom 
Context 
Login Classroom 
Open a Dummy 
Call 
Field-service System - 
Test Lab Context 
"Login" Test 
"Call Opening" 
Test 
Tester 
«realize» 
«test» 
«test» 
«realize» 
«realize» 
«realize» 
Dr. Amir Tomer –SwSTE 2012 13 Software Modeling from Life-Cycle Perspective
Any questions? 
amir@amirtomer.com 
052-8890202 
Dr. Amir Tomer –SwSTE 2012 14 Software Modeling from Life-Cycle Perspective

Software Modeling from Life Cycle Perspective

  • 1.
    SwSTE 2012, Hertzliyah,June 12, 2012 Dr. Amir Tomer Software Engineering Department Head amir@amirtomer.com 052-8890202 Dr. Amir Tomer –SwSTE 2012 1 Software Modeling from Life-Cycle Perspective
  • 2.
    System in itsEnvironment* Enabling System A Enabling System B Enabling Interaction with enabling System C systems, usually in other life-cycle stages rather than operation System B in Operational Environment System of Interest System A in Operational Environment System C in Operational Environment Interaction with systems comprising the operational environment *ISO/IEC/IEEE 15288 Dr. Amir Tomer –SwSTE 2012 2 Software Modeling from Life-Cycle Perspective
  • 3.
    System Configurations •Configuration – Definition* – The arrangement of a … system or component as defined by the number, nature, and interconnections of its constituent parts • A system usually has many configurations during its life cycle – Pre-development configurations • Demo – Configurations throughout development • Partial integrations • Lab test • Field test • Acceptance test – Situational configurations • In storage • In transport • In operational use • In training • Each configuration is in place within a certain context *ISO/IEC 24765:2009 Systems and software engineering vocabulary Dr. Amir Tomer –SwSTE 2012 3 Software Modeling from Life-Cycle Perspective
  • 4.
    Configurations vs. Architecture • The camera can be arranged and used in various configurations – Each configuration is associated with a certain context • Shooting pictures – At different occasions • Uploading pictures to computer • Displaying video clips • Video chatting • The camera’s architecture enables and supports all of its configurations – The camera’s architecture cannot be “configured” by itself! Dr. Amir Tomer –SwSTE 2012 4 Software Modeling from Life-Cycle Perspective
  • 5.
    Configurations vs. Architecture– Proposed Definitions • We propose here the following definitions – Configuration • A specific arrangement of system elements, specifying the number and the type of each element, as well as their interconnection and interaction – Architecture • An abstract* arrangement of abstract elements, specifying the abstract element types and the number range of each element type, as well as their virtual interconnections and virtual interactions. • Consequently: – The system architecture is the union of all possible system configurations; – Every possible system configurations should be derived from the system architecture; – The system architecture is an abstract entity, and has no instance in reality; – Architecture (abstract) elements are instantiated by specific configuration elements, which specifically implement the required (virtual) interconnections and interactions *Abstract means here a generic entity that can be inherited by other entities but has no instantiations of itself Dr. Amir Tomer –SwSTE 2012 5 Software Modeling from Life-Cycle Perspective
  • 6.
    Case Study: AField Service System • A few requirements – The operational Field Service System shall be deployed, as follows: • Field agents, using PDAs, communicate with service centers – Up to 100 agents per service center • Service centers communicate with the company headquarters – There will be between 1 and 3 service centers • All the communication in the system will be over a Virtual Private Network (VPN) – An agent training class shall be established, where agents with their operational PDAs may connect and train against a service simulator – At the first iteration of the project the Service Center shall be implemented and tested against HQ and Agent simulators Dr. Amir Tomer –SwSTE 2012 6 Software Modeling from Life-Cycle Perspective
  • 7.
    The Field ServiceSystem – Operational Configuration • Context – Operations • View – structure • Model – Physical Structure • Model Type – Deployment Diagram • Sub-Blocks – HWCIs (computers) – CSCIs (applications) Operational Communication Operational Configuration Dr. Amir Tomer –SwSTE 2012 7 Software Modeling from Life-Cycle Perspective
  • 8.
    The Field ServiceSystem – Testing Configuration • Context – Testing • View – structure • Model – Physical Structure • Model Type – Deployment Diagram – Composite Structure Diagram • Sub-Blocks – HWCIs (computers) – CSCIs (applications) – Test Lab (unspecified) Communication during testing • Needs to provide a LAN communication port Dr. Amir Tomer –SwSTE 2012 8 Software Modeling from Life-Cycle Perspective
  • 9.
    The Field ServiceSystem – Training Configuration • Context – Training • View – structure • Model – Physical Structure • Model Type – Deployment Diagram – Composite Structure Diagram • Sub-Blocks – HWCIs (computers) – CSCIs (applications) – Training class (unspecified) • Needs to provide a LAN communication port Communication during testing Operational Configuration Dr. Amir Tomer –SwSTE 2012 9 Software Modeling from Life-Cycle Perspective
  • 10.
    The Field ServiceSystem – Architecture • Context – Architecture • View – structure • Model – Physical Structure • Model Type – Deployment Diagram • Sub-Blocks – HWCIs (computers) – CSCIs (applications) – Training class (unspecified) • Needs to provide a LAN communication port Communication Definitions for ICD Generic Architecture: Supports all configurations <<abstract>> A conceptual entity which has no real instances. Must be <<realized>> by more specific entities Dr. Amir Tomer –SwSTE 2012 10 Software Modeling from Life-Cycle Perspective
  • 11.
    The Entire Picture Architecture Training Configuration Operations Configuration Testing Configuration Dr. Amir Tomer –SwSTE 2012 11 Software Modeling from Life-Cycle Perspective
  • 12.
    Assuring Architectural Consistency(IBD) Dr. Amir Tomer –SwSTE 2012 12 Software Modeling from Life-Cycle Perspective
  • 13.
    Behavioural Architecture •The same Architecture/configuration principle holds for the system behaviour – A behavioural architecture outlines the principle system behaviour over all its operational contexts – A behavioural configuration specifies the specific system behaviour in a specific context Human Agent Field-service System - Operational Context Login Service Ceneter Open a Service Call Field-Service System - Behavioral Architecture «abstract» Login «realize» «realize» «abstract» Open a Call Agent Field-service System - Training Classroom Context Login Classroom Open a Dummy Call Field-service System - Test Lab Context "Login" Test "Call Opening" Test Tester «realize» «test» «test» «realize» «realize» «realize» Dr. Amir Tomer –SwSTE 2012 13 Software Modeling from Life-Cycle Perspective
  • 14.
    Any questions? amir@amirtomer.com 052-8890202 Dr. Amir Tomer –SwSTE 2012 14 Software Modeling from Life-Cycle Perspective