More Related Content
Similar to Swise arc2015 (20)
More from Prof. Amir Tomer
More from Prof. Amir Tomer (7)
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
- 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
- 28. BYOD: Car Diagnosis System
©Prof.Dr.AmirTomer
ARC 2015 Conference, Nürnberg, Germany, July 2015 28
http://gadizmo.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
- אודות הקורס