About Analytical Software Design (ASD) and the ASD:Suite.
Making software design verification a reality.
The Verum ASD:Suite is a unique, general purpose, software design automation platform. Incorporating fully automated mathematical verification technology, it enables software engineers to build better, more complex software while delivering a net 30%-50% improvement in productivity and a corresponding decrease in time to market.
ASD:Suite users include Ericsson, FEI Company, PANalytical, Philips, Nspyre, Sioux, and TASS.
Take control of your SAP testing with UiPath Test Suite
ASD - The Extra Dimension in Software Engineering
1. InCose evening lecture
ASD – The extra dimension in
Software Engineering
Peter van de Velde
Customer Solutions Architect
October 20, 2011
Design Automation for Software Engineers
2. Agenda
- System engineering vs. software engineering
- ASD
- What is it
- Let’s see it (the real thing - live)
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 2
3. System Engineering
Keywords on InCose site
- Complex systems
- Decomposition into subsystems
- Composition: system = sum of subsystems
- Way of working and thinking
- System of Interest - Context Diagram
- Model Based System Engineering (MBSE)
- Internal subsystem dependencies and behaviour
- External subsystem dependencies and behaviour
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 3
4. System Engineering versus
Software Engineering
- Decomposition into subsystems
- Engineering of subsystem in software =
Software Engineering
- Same keywords as system engineering
- Model Based Software Engineering using
Analytical Software Design (ASD)
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 4
5. Nothing New…
Design Verification
Design Model
Design Implementation
Images from Lusas Engineering Analysis
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 5
6. Software Design with Formal Verification
Design Model
Design Verification
Design Implementation
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 6
7. Model-Driven Development
Traditional
model Is the model correct ?
Is the
source
Source
Code code
correct ?
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 7
8. Next Generation Model-Driven
Development
§ ASD Models are:
§ Precise
ASD § Complete
model
§ Traceable
§ Correct
Source
Code
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 8
9. Next Generation Model-Driven
Development
§ ASD Models are:
✔
§ Precise
ASD § Complete
model
§ Traceable
Design § Correct
Errors
Generate
formal
model
Formal
model and Source
verification Code
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 9
10. Next Generation Model-Driven
Development
§ ASD Models are:
✔
§ Precise
ASD § Complete
model
§ Traceable
Design § Correct
Errors
Generate
Generate
source code
formal
from verified
model
model
§ MISRA C
✔ § C++
Formal ASD:Suite § C#
model and guarantees Source
Code § Java
verification equivalence
EU patent 1749264
Hong Kong patent HK 1104100
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 10
11. Let’s see it
- Live presentation
- or
- Do it yourself demo with a free trial version and
demonstration example
Free 30-day trial: http://www.verum.com/product/30-day-trial.aspx
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 11
12. The Domain for ASD
ASD can be used to model:
- Control (concurrent or reactive system)
- Model the state of a system and all discrete events
that can happen and reaction to it (behaviour)
- Work-flow (business interaction)
- Where are we in the process, which tasks have been
performed, and which still needed etc.
- Product life cycle management
- Status of a product (new, backorder, delivered, paid,
returned, etc.)
- Etc.
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 12
13. The Domain for ASD
Discrete Decisions and Actions (1)
Decision based on discrete events:
- A method call
- Init, Print, GetStatus, Delete, Terminate, etc.,
- A notification (internal or external)
- Task completion, cancellation, status update, time out,
interrupt, etc.
- A result of data interpretation
- Discrete values: true <> false, red<>green<>blue
- Evaluation function: needCredibilityCheck(order.value)
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 13
14. The Domain for ASD
Discrete Decisions and Actions (2)
Discrete events resulting in executing actions:
- A method call to a used component
- A notification to the calling component
- An internal state change
in any combination
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 14
15. ASD In a Nutshell
Analytical Software Design is a
- Set of methods
- Way of working
- Platform
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 15
16. ASD
Set of Methods
- Model driven development based on Sequence-
Based Specifications (SBS)
- Component-based
- Separation of interfaces and implementation
- Described in interface and design models
- Formal verification
- Brute force calculation of all possible execution
scenarios based on CSP (Communicating Sequential
Processes) and FDR (Finite Divergence Refinement)
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 16
17. ASD
Way of Working
- Make a context diagram
- Define external interfaces (interface models)
- Make a decomposition
- Define internal interfaces (interface models) and
component (design models)
- Verify components
- Generate code
- Build
- Integrate and test
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 17
18. ASD Way of Working
Product Development Approach
- Can be used in an incremental way of working
- Complete interfaces, extend implementation function
by function
- Extend interface and implementation function by
function
- Suitable for agile development
- Can be used in waterfall way of working
- On-line training is example of incremental
approach
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 18
19. ASD Way of Working
Impact
- ASD adds a structural way of working
- If you are used to that: hardly any changes
- If not: ASD is an evolution, no revolution
- ASD may change the way of thinking
- Programming -> Engineering
- Object Oriented -> Component-Based
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 19
20. ASD Way of Working
Context Diagram (Software)
Console
HAL
External Interface of
AlarmSystem
Alarm
System
External Interface External
of Sensor Interface of Siren
Sensor Siren
HAL HAL
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 20
21. ASD Way of Working
Decomposition
- Decomposition of AlarmSystem is rather simple:
1 component AlarmSystem
- (example more complex decomposition is
included)
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 21
22. ASD Way of Working
Component Diagram
Non ASD Component
(handwritten code)
Service of AlarmSystem
described in Interface Model
Component AlarmSystem
described in Design Model
Service of Siren described
in Interface Model
Non ASD Component
(handwritten code)
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 22
23. ASD decomposition
Bigger example
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 23
24. ASD Way of Working
Verify components (1)
- Confirmation that a component is
correct and complete with
respect to its surrounding
interface specifications IAlarm
- Answers the questions: ⊑
- Are the interfaces well-formed? Alarm
- Is the design well-formed?
- Does the design maintain its
ISiren ISensor
interface contracts?
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 24
25. ASD Way of Working
Verify components (2)
- Checks modelling errors
- Checks invariants
- Checks guard completeness
- Checks state variable ranges
- Checks for illegal behaviour (typically caused by
race-conditions)
- Checks for potential queue problems
- Checks for dead/livelocks
- Checks for deterministic design
- Checks for interface compliance
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 25
26. ASD
Platform
- Integrated tool ASD:Suite
- Edit models (documentation, specification, design)
- Code generation (implementation: languages: C, C+
+ , C# and Java)
- Model verification* (interactive visual debugging)
- ASD:Runtime
- A downloadable software package that enables the
generated code to run on various software platforms.
- Implements the ASD execution semantics.
- *Boehm: verification := building the system right; validation := building the right system
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 26
27. ASD Platform
Generated Code and ASD:RunTime
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 27
28. Questions
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 28
29. - Thank you for your attention
- For more information
- Visit www.verum.com or community.verum.com
- Mail to info@verum.com
- Register for a free ASD workshop
ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 29
30. The Power to Create Software Solutions
DESIGN VERIFY SUCCEED!
Design Automation for Software Engineers