SlideShare a Scribd company logo
1 of 37
Software-Intensive-Systems Engineering
How Software Affects System Development
Prof. Dr. Amir Tomer, CSEP
Head, Dept. of Software and Information Systems Engineering
Achi Racov Engineering Schools
Kinneret Academic College on the Sea of Galilee, Jordan Valley, Israel
amir@amirtomer.com
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 1
Kinneret College on the Sea of Galilee
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 2
Kinneret College on the Sea of Galilee
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 3
Kinneret College –Lake View from inside the Library
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 4
OTH-Regensburg & HS-Kempten
Partnership with Kinneret College
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 5
Kinneret Visit - December 2014
Systems Engineering
• Systems Engineering is an engineering discipline whose
responsibility is creating and executing an interdisciplinary
process to ensure that the customer and stakeholder's needs are
satisfied in a high quality, trustworthy, cost efficient and schedule
compliant manner throughout a system's entire life cycle
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 6
The Current Situation
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 7
Text source: http://blissfulwriter.hubpages.com/hub/Software-Code-in-Your-Car
Picture source: http://www.ramanmedianetwork.com/ibm-software-drives-chevrolet-volt/
Most Systems Today are Software-Intensive-Systems
• A software-intensive system is any system where software
contributes essential influences to the design, construction,
deployment, and evolution of the system as a whole
[IEEE-Std-1471]
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 8
http://images.cryhavok.org/
Where is the Software?
• Components
– Operation
• System
– Integration / Communication
– Operating System
• System-of-Systems
– Interoperability
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 9
http://www.autosec.org/pubs/cars-usenixsec2011.pdf
Component-specific Software
• Embedded Software
– Firmware: Burnt within the components
• Drivers
– External C&C over components
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 10
http://sudcamp.hubpages.com/hub/Sensors-in-smartphone
Software as the Nervous Subsystem of a System
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 11
The only interactive subsystem in the
human body
C4I = Command, Control, Computing,
Communication and Intelligence
The body’s Operating System
http://philschatz.com/anatomy-book
Software as the Enabler of Interoperability for SoS
• System-of-Systems (SoS)
– A SoS is an integration of a finite number of constituent systems which are
independent and operable, and which are networked together for a
period of time to achieve a certain higher goal
[prof. Mo Jamshidi, 2005]
• Interoperability
– A property of a product or system, whose interfaces are completely
understood, to work with other products or systems, present or future,
without any restricted access or implementation
[http://interoperability-definition.info]
• Common interoperability standards / conventions
– Bluetooth
– TCP/IP
– XML
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 12
Halt!
Jawohl!
Essential Influences of Software on Systems Engineering:
Examples
• Impacts on System Operation
– Different mathematics
– High vulnerability
– Different concept of reliability
• Impacts on System Design
– Development Life Cycle
– BYOD (Bring Your Own Device)
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 13
https://www.thedropon.com/drop/funny
Digital Math vs. Physical Math
• Question
• Answer
1. Infinity (scientist)
2. ERROR (engineer)
3. OVERFLOW/EXCEPTION (software engineer)
• Digital math cannot model asymptotic behaviour
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 14
lim
𝒙→𝟎
𝟏
𝒙
= ?
Limited Precision
• Physical functions which are expressed digitally can never
represent the real functions
– Limited Precision
1/3 is always greater than 0.3333333333333333333333333333…3
May not be significant in a single calculation, but may cause a significant “drift”
in iterative calculation
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 15
Discontinuity/Singularity
• Every digital function is a “step function”
– Each point is a point of discontinuity/Singularity!
– A derived phenomenon: Random singular behaviour
See following examples
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 16
Random Singular Behaviour – Excel 2007
• The unsigned binary representation of 65535 in 16-bit is
1111111111111111
• Which is also the 2’s-complement binary representation of (-1)!
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 17
Should be
65535
http://www.lomont.org/Math/Papers/2007/Excel2007/Excel2007Bug.pdf
Random Singular Behaviour – Crash by Text String
• A text message that crashed iOS
• The text string that crashed SKYPE
http://:
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 18
Behaviour Singularity Yields to High Vulnerability
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 19
http://www.eetimes.com
http://www.pedalboxusa.com
Is the
throttle-control software
a true implementation of the
throttle response function?
Reliability: Software vs. Hardware Failures
• A typical hardware failure curve (“the bathtub curve”)
• Ideal software failure curve
Time
Failure
Rate
Early life
Wear out
Time
Failure
Rate
Fixed rate until retirement
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 20
The Impact of Software Changes on the Failure Curve
Time
Failure
Rate
The ideal curve
Introduced changes
New features + regression failures = increased failure rate
The actual curve
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 21
Software Reliability
• Software does not break…
rather it was always broken!
• Software reliability
– The confidence that a certain bug was detected and removed
– Software reliability is directly related to software test coverage
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 22
http://web.cecs.pdx.edu/~hamlet/testutorial.html
Confidence
C
Failure probability f 1
1
0
0
C = 1 – (1 – f)N
More tests N
Less tests N
The “Heisenbug” Phenomenon
• The Observer Effect (a derivative of Heisenberg’s Uncertainty Principle):
– The act of observation may make changes to the observed phenomenon
• The Observer Effect in Software Engineering (3 versions)
1. The potential impact of the act of observing a process output while the process is
running
2. Observing the performance of a CPU by running both the observed and observing
programs on the same CPU
3. Observing a running program by modifying its source code (such as adding extra
output or generating log files)
• Heisenbug
– A software bug that seems to disappear
or alter its behavior when one attempts
to study it
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 23
What is “Good (Reliable) Software”?
• Defect Density =
The number of software defects (“bugs”) per 10,000 lines of code
• Delivered (Escaped/Fielded/Residual) Defects
– Software defects which persist in the product after delivery to the customer
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 24
Source: A.M. Neufelder, Current Defect Density Statistics(2007), © SoftRel LLC
Development Life Cycle
• Typical product development life cycle (Systems Engineering)
• Typical software development lifecycle (Software Engineering)
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 25
Specifi-
cation
Design
Simu-
lation
Prototype
manu-
facturing
Produc-
tion
Requirements Product
Specifi-
cation
Design
Simu-
lation
Prototype
manu-
facturing
Produc-
tion
Programming = [code-compile-run-oops…]n
Agile Software Development
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 26
http://agafonovslava.com
Manifesto Source: http://agilemanifesto.org
Picture Source: http://agilesista.com
The SCRUM Methodology
for Software Development
BYOD: Medical Systems
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 27
http://www.medicaldevice-network.com
BYOD: Car Diagnosis System
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 28
http://gadizmo.com
BYOD: Airplane Entertainment
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 29
http://www.futuretravelexperience.com
BYOD: Military Applications
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 30
http://gizmodo.com
Systems Engineering and Software Engineering United
• Mutual Standards
• Modeling
• Common Life-cycle Model
• Education
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 31
Systems and Software Engineering Common Standards
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 32
Modeling Languages
• Unified Modeling Language (UML) TM
– A “toolbox” of models
– Originally targeted Object Oriented SW design
– May be effectively used for SWIS modeling
• See http://www.slideshare.net/DrAmirTomer/just-enough-system-
modeling
• System Modeling Language (SysML) TM
– An extension / mutation of UML
– Lacks software-specific expressiveness
– Not always integrates well with UML
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 33
TM UML and SysML are Trademarks by the Object Management Group (OMG)®: www.omg.org
A Common Perspective on the Life-Cycle Model
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 34
Stakeholder
Requirements
System
Requirements
System
Architecture
Component
Requirements
Component
Design
Component
Construction
Internal
VersionsAgile
SW Dev.
Released
Versions
Iterative/
Incremental
Development
Product
Upgrading Product
Generations
Product
Lines New
Products
Market/Client Developers Market/Client
Definition, specification and design Implementation, integration and testing
Education: Systems Engineering for SW Engineers
EDUCON 2012 / TDSE Session
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 35
Education: Software Engineering for Systems Engineers
INCOSE International Symposium 2012
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 36
Thank you for listening!
Any questions?
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 37

More Related Content

What's hot

Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"Ra'Fat Al-Msie'deen
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process ModelsAjit Nayak
 
Cse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneCse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneEmmanuel Fuchs
 
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20koolkampus
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
INCOSE Systems Engineering Handbook and Changes to the CSEP/ASEP exam
INCOSE Systems Engineering Handbook and Changes to the CSEP/ASEP examINCOSE Systems Engineering Handbook and Changes to the CSEP/ASEP exam
INCOSE Systems Engineering Handbook and Changes to the CSEP/ASEP examsystemsengineeringprep
 
System engineering
System engineeringSystem engineering
System engineeringLisa Elisa
 
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...Kimberly Daich
 
1unit--Embedded Systems
1unit--Embedded Systems1unit--Embedded Systems
1unit--Embedded SystemsDhana Laxmi
 
The Role of Models in Semiconductor Smart Manufacturing
The Role of Models in Semiconductor Smart ManufacturingThe Role of Models in Semiconductor Smart Manufacturing
The Role of Models in Semiconductor Smart ManufacturingKimberly Daich
 
Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13koolkampus
 
Introduction to Critical Systems Engineering (CS 5032 2012)
Introduction to Critical Systems Engineering (CS 5032 2012)Introduction to Critical Systems Engineering (CS 5032 2012)
Introduction to Critical Systems Engineering (CS 5032 2012)Ian Sommerville
 

What's hot (20)

Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
 
computer Unit 8
computer Unit 8computer Unit 8
computer Unit 8
 
Production based system
Production based systemProduction based system
Production based system
 
System Engineering Unit 5
System Engineering Unit 5System Engineering Unit 5
System Engineering Unit 5
 
Cse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneCse3 March2009cwd35with Crane
Cse3 March2009cwd35with Crane
 
System Engineering Unit-4
System Engineering Unit-4System Engineering Unit-4
System Engineering Unit-4
 
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
INCOSE Systems Engineering Handbook and Changes to the CSEP/ASEP exam
INCOSE Systems Engineering Handbook and Changes to the CSEP/ASEP examINCOSE Systems Engineering Handbook and Changes to the CSEP/ASEP exam
INCOSE Systems Engineering Handbook and Changes to the CSEP/ASEP exam
 
System engineering
System engineeringSystem engineering
System engineering
 
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
Smarter Manufacturing with SEMI Standards: Practical Approaches for Plug-and-...
 
System Engineering Unit 2
System Engineering Unit 2System Engineering Unit 2
System Engineering Unit 2
 
1unit--Embedded Systems
1unit--Embedded Systems1unit--Embedded Systems
1unit--Embedded Systems
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
System implemantation
System implemantationSystem implemantation
System implemantation
 
The Role of Models in Semiconductor Smart Manufacturing
The Role of Models in Semiconductor Smart ManufacturingThe Role of Models in Semiconductor Smart Manufacturing
The Role of Models in Semiconductor Smart Manufacturing
 
Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13
 
Introduction to Critical Systems Engineering (CS 5032 2012)
Introduction to Critical Systems Engineering (CS 5032 2012)Introduction to Critical Systems Engineering (CS 5032 2012)
Introduction to Critical Systems Engineering (CS 5032 2012)
 
SEOC 2004-2011
SEOC 2004-2011SEOC 2004-2011
SEOC 2004-2011
 

Similar to Swise arc2015

Survival analysis of database technologies in open source Java projects
Survival analysis of database technologies in open source Java projectsSurvival analysis of database technologies in open source Java projects
Survival analysis of database technologies in open source Java projectsTom Mens
 
Software Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesSoftware Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesPhilipp Leitner
 
Ac2017 8. metrics forprivacysafety-notes
Ac2017   8. metrics forprivacysafety-notesAc2017   8. metrics forprivacysafety-notes
Ac2017 8. metrics forprivacysafety-notesNesma
 
Using language workbenches and domain-specific languages for safety-critical ...
Using language workbenches and domain-specific languages for safety-critical ...Using language workbenches and domain-specific languages for safety-critical ...
Using language workbenches and domain-specific languages for safety-critical ...Markus Voelter
 
Chaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsChaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsC4Media
 
The road towards better automotive cybersecurity
The road towards better automotive cybersecurityThe road towards better automotive cybersecurity
The road towards better automotive cybersecurityRogue Wave Software
 
Testing Your Software Testers
Testing Your Software TestersTesting Your Software Testers
Testing Your Software TestersOri Bendet
 
Beyond security testing
Beyond security testingBeyond security testing
Beyond security testingCu Nguyen
 
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se...
Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se...IRJET Journal
 
Design for Testability: A Tutorial for Devs and Testers
Design for Testability: A Tutorial for Devs and TestersDesign for Testability: A Tutorial for Devs and Testers
Design for Testability: A Tutorial for Devs and TestersTechWell
 
Chapter 01
Chapter 01Chapter 01
Chapter 01ryan aja
 
Embedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_finalEmbedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_finalTAMILMARAN C
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Henry Muccini
 
Impetus qLabs Solutions
Impetus qLabs SolutionsImpetus qLabs Solutions
Impetus qLabs SolutionsVipul Gupta
 
Hi600 ch12_text_slides
Hi600 ch12_text_slidesHi600 ch12_text_slides
Hi600 ch12_text_slidesljmcneill33
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks Ulf Mattsson
 

Similar to Swise arc2015 (20)

Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
Survival analysis of database technologies in open source Java projects
Survival analysis of database technologies in open source Java projectsSurvival analysis of database technologies in open source Java projects
Survival analysis of database technologies in open source Java projects
 
Software Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesSoftware Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and Challenges
 
Ac2017 8. metrics forprivacysafety-notes
Ac2017   8. metrics forprivacysafety-notesAc2017   8. metrics forprivacysafety-notes
Ac2017 8. metrics forprivacysafety-notes
 
Using language workbenches and domain-specific languages for safety-critical ...
Using language workbenches and domain-specific languages for safety-critical ...Using language workbenches and domain-specific languages for safety-critical ...
Using language workbenches and domain-specific languages for safety-critical ...
 
Chaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsChaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient Systems
 
The road towards better automotive cybersecurity
The road towards better automotive cybersecurityThe road towards better automotive cybersecurity
The road towards better automotive cybersecurity
 
Testing Your Software Testers
Testing Your Software TestersTesting Your Software Testers
Testing Your Software Testers
 
Beyond security testing
Beyond security testingBeyond security testing
Beyond security testing
 
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se...
Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se...
 
Design for Testability: A Tutorial for Devs and Testers
Design for Testability: A Tutorial for Devs and TestersDesign for Testability: A Tutorial for Devs and Testers
Design for Testability: A Tutorial for Devs and Testers
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Embedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_finalEmbedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_final
 
Intro
IntroIntro
Intro
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)
 
Impetus qLabs Solutions
Impetus qLabs SolutionsImpetus qLabs Solutions
Impetus qLabs Solutions
 
Hi600 ch12_text_slides
Hi600 ch12_text_slidesHi600 ch12_text_slides
Hi600 ch12_text_slides
 
ch1.ppt
ch1.pptch1.ppt
ch1.ppt
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 

More from Prof. Amir Tomer

Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013Prof. Amir Tomer
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System ModelingProf. Amir Tomer
 
Cost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesCost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesProf. Amir Tomer
 
Software Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveSoftware Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveProf. Amir Tomer
 
Applying system thinking to model-based software engineering
Applying system thinking to model-based software engineeringApplying system thinking to model-based software engineering
Applying system thinking to model-based software engineeringProf. Amir Tomer
 

More from Prof. Amir Tomer (7)

Sw arch-2019-tomer
Sw arch-2019-tomerSw arch-2019-tomer
Sw arch-2019-tomer
 
Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System Modeling
 
Cost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesCost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse Alternatives
 
Software Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveSoftware Modeling from Life Cycle Perspective
Software Modeling from Life Cycle Perspective
 
Software Mangineeringment
Software MangineeringmentSoftware Mangineeringment
Software Mangineeringment
 
Applying system thinking to model-based software engineering
Applying system thinking to model-based software engineeringApplying system thinking to model-based software engineering
Applying system thinking to model-based software engineering
 

Swise arc2015

  • 1. Software-Intensive-Systems Engineering How Software Affects System Development Prof. Dr. Amir Tomer, CSEP Head, Dept. of Software and Information Systems Engineering Achi Racov Engineering Schools Kinneret Academic College on the Sea of Galilee, Jordan Valley, Israel amir@amirtomer.com ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 1
  • 2. Kinneret College on the Sea of Galilee ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 2
  • 3. Kinneret College on the Sea of Galilee ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 3
  • 4. Kinneret College –Lake View from inside the Library ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 4
  • 5. OTH-Regensburg & HS-Kempten Partnership with Kinneret College ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 5 Kinneret Visit - December 2014
  • 6. Systems Engineering • Systems Engineering is an engineering discipline whose responsibility is creating and executing an interdisciplinary process to ensure that the customer and stakeholder's needs are satisfied in a high quality, trustworthy, cost efficient and schedule compliant manner throughout a system's entire life cycle ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 6
  • 7. The Current Situation ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 7 Text source: http://blissfulwriter.hubpages.com/hub/Software-Code-in-Your-Car Picture source: http://www.ramanmedianetwork.com/ibm-software-drives-chevrolet-volt/
  • 8. Most Systems Today are Software-Intensive-Systems • A software-intensive system is any system where software contributes essential influences to the design, construction, deployment, and evolution of the system as a whole [IEEE-Std-1471] ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 8 http://images.cryhavok.org/
  • 9. Where is the Software? • Components – Operation • System – Integration / Communication – Operating System • System-of-Systems – Interoperability ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 9 http://www.autosec.org/pubs/cars-usenixsec2011.pdf
  • 10. Component-specific Software • Embedded Software – Firmware: Burnt within the components • Drivers – External C&C over components ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 10 http://sudcamp.hubpages.com/hub/Sensors-in-smartphone
  • 11. Software as the Nervous Subsystem of a System ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 11 The only interactive subsystem in the human body C4I = Command, Control, Computing, Communication and Intelligence The body’s Operating System http://philschatz.com/anatomy-book
  • 12. Software as the Enabler of Interoperability for SoS • System-of-Systems (SoS) – A SoS is an integration of a finite number of constituent systems which are independent and operable, and which are networked together for a period of time to achieve a certain higher goal [prof. Mo Jamshidi, 2005] • Interoperability – A property of a product or system, whose interfaces are completely understood, to work with other products or systems, present or future, without any restricted access or implementation [http://interoperability-definition.info] • Common interoperability standards / conventions – Bluetooth – TCP/IP – XML ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 12 Halt! Jawohl!
  • 13. Essential Influences of Software on Systems Engineering: Examples • Impacts on System Operation – Different mathematics – High vulnerability – Different concept of reliability • Impacts on System Design – Development Life Cycle – BYOD (Bring Your Own Device) ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 13 https://www.thedropon.com/drop/funny
  • 14. Digital Math vs. Physical Math • Question • Answer 1. Infinity (scientist) 2. ERROR (engineer) 3. OVERFLOW/EXCEPTION (software engineer) • Digital math cannot model asymptotic behaviour ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 14 lim 𝒙→𝟎 𝟏 𝒙 = ?
  • 15. Limited Precision • Physical functions which are expressed digitally can never represent the real functions – Limited Precision 1/3 is always greater than 0.3333333333333333333333333333…3 May not be significant in a single calculation, but may cause a significant “drift” in iterative calculation ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 15
  • 16. Discontinuity/Singularity • Every digital function is a “step function” – Each point is a point of discontinuity/Singularity! – A derived phenomenon: Random singular behaviour See following examples ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 16
  • 17. Random Singular Behaviour – Excel 2007 • The unsigned binary representation of 65535 in 16-bit is 1111111111111111 • Which is also the 2’s-complement binary representation of (-1)! ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 17 Should be 65535 http://www.lomont.org/Math/Papers/2007/Excel2007/Excel2007Bug.pdf
  • 18. Random Singular Behaviour – Crash by Text String • A text message that crashed iOS • The text string that crashed SKYPE http://: ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 18
  • 19. Behaviour Singularity Yields to High Vulnerability ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 19 http://www.eetimes.com http://www.pedalboxusa.com Is the throttle-control software a true implementation of the throttle response function?
  • 20. Reliability: Software vs. Hardware Failures • A typical hardware failure curve (“the bathtub curve”) • Ideal software failure curve Time Failure Rate Early life Wear out Time Failure Rate Fixed rate until retirement ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 20
  • 21. The Impact of Software Changes on the Failure Curve Time Failure Rate The ideal curve Introduced changes New features + regression failures = increased failure rate The actual curve ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 21
  • 22. Software Reliability • Software does not break… rather it was always broken! • Software reliability – The confidence that a certain bug was detected and removed – Software reliability is directly related to software test coverage ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 22 http://web.cecs.pdx.edu/~hamlet/testutorial.html Confidence C Failure probability f 1 1 0 0 C = 1 – (1 – f)N More tests N Less tests N
  • 23. The “Heisenbug” Phenomenon • The Observer Effect (a derivative of Heisenberg’s Uncertainty Principle): – The act of observation may make changes to the observed phenomenon • The Observer Effect in Software Engineering (3 versions) 1. The potential impact of the act of observing a process output while the process is running 2. Observing the performance of a CPU by running both the observed and observing programs on the same CPU 3. Observing a running program by modifying its source code (such as adding extra output or generating log files) • Heisenbug – A software bug that seems to disappear or alter its behavior when one attempts to study it ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 23
  • 24. What is “Good (Reliable) Software”? • Defect Density = The number of software defects (“bugs”) per 10,000 lines of code • Delivered (Escaped/Fielded/Residual) Defects – Software defects which persist in the product after delivery to the customer ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 24 Source: A.M. Neufelder, Current Defect Density Statistics(2007), © SoftRel LLC
  • 25. Development Life Cycle • Typical product development life cycle (Systems Engineering) • Typical software development lifecycle (Software Engineering) ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 25 Specifi- cation Design Simu- lation Prototype manu- facturing Produc- tion Requirements Product Specifi- cation Design Simu- lation Prototype manu- facturing Produc- tion Programming = [code-compile-run-oops…]n
  • 26. Agile Software Development ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 26 http://agafonovslava.com Manifesto Source: http://agilemanifesto.org Picture Source: http://agilesista.com The SCRUM Methodology for Software Development
  • 27. BYOD: Medical Systems ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 27 http://www.medicaldevice-network.com
  • 28. BYOD: Car Diagnosis System ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 28 http://gadizmo.com
  • 29. BYOD: Airplane Entertainment ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 29 http://www.futuretravelexperience.com
  • 30. BYOD: Military Applications ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 30 http://gizmodo.com
  • 31. Systems Engineering and Software Engineering United • Mutual Standards • Modeling • Common Life-cycle Model • Education ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 31
  • 32. Systems and Software Engineering Common Standards ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 32
  • 33. Modeling Languages • Unified Modeling Language (UML) TM – A “toolbox” of models – Originally targeted Object Oriented SW design – May be effectively used for SWIS modeling • See http://www.slideshare.net/DrAmirTomer/just-enough-system- modeling • System Modeling Language (SysML) TM – An extension / mutation of UML – Lacks software-specific expressiveness – Not always integrates well with UML ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 33 TM UML and SysML are Trademarks by the Object Management Group (OMG)®: www.omg.org
  • 34. A Common Perspective on the Life-Cycle Model ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 34 Stakeholder Requirements System Requirements System Architecture Component Requirements Component Design Component Construction Internal VersionsAgile SW Dev. Released Versions Iterative/ Incremental Development Product Upgrading Product Generations Product Lines New Products Market/Client Developers Market/Client Definition, specification and design Implementation, integration and testing
  • 35. Education: Systems Engineering for SW Engineers EDUCON 2012 / TDSE Session ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 35
  • 36. Education: Software Engineering for Systems Engineers INCOSE International Symposium 2012 ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 36
  • 37. Thank you for listening! Any questions? ©Prof.Dr.AmirTomer ARC 2015 Conference, Nürnberg, Germany, July 2015 37

Editor's Notes

  1. אודות הקורס