ASD - The extra dimension in software engineering share

  • 596 views
Uploaded on

About Analytical Software Design (ASD) and the ASD:Suite. …

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.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
596
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. InCose evening lectureASD – The extra dimension inSoftware EngineeringPeter van de VeldeCustomer Solutions Architect October 20, 2011Design 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 EngineeringKeywords 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 behaviourASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 3
  • 4. System Engineering versusSoftware 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 ModelDesign Implementation Images from Lusas Engineering AnalysisASD - 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 ImplementationASD - 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-DrivenDevelopment §  ASD Models are: §  Precise ASD §  Complete model §  Traceable §  Correct Source CodeASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 8
  • 9. Next Generation Model-DrivenDevelopment §  ASD Models are: ✔ §  Precise ASD §  Complete model §  Traceable Design §  Correct Errors Generate formal model Formal model and Source verification CodeASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 9
  • 10. Next Generation Model-DrivenDevelopment §  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 1104100ASD - 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.aspxASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 11
  • 12. The Domain for ASDASD 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 ASDDiscrete 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 ASDDiscrete 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 changein any combinationASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 14
  • 15. ASD In a NutshellAnalytical Software Design is a-  Set of methods-  Way of working-  PlatformASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 15
  • 16. ASDSet 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. ASDWay 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 testASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 17
  • 18. ASD Way of WorkingProduct 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 approachASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 18
  • 19. ASD Way of WorkingImpact-  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-BasedASD - 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 SystemExternal Interface Externalof 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 WorkingDecomposition-  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 WorkingComponent 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 decompositionBigger exampleASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 23
  • 24. ASD Way of WorkingVerify 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 WorkingVerify 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 complianceASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 25
  • 26. ASDPlatform-  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 systemASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 26
  • 27. ASD PlatformGenerated Code and ASD:RunTimeASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies 27
  • 28. QuestionsASD - 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 workshopASD - 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