SlideShare a Scribd company logo
1 of 30
Download to read offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ASD decomposition
Bigger example




ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies   23
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
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
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
ASD Platform
Generated Code and ASD:RunTime




ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies   27
Questions




ASD - The extra dimension in software engineering | InCose evening lecture | Copyright 2011 Verum Software Technologies   28
-  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
The Power to Create                                     Software Solutions




         DESIGN                                VERIFY          SUCCEED!




    Design Automation for Software Engineers

More Related Content

Similar to ASD - The Extra Dimension in Software Engineering

The Future of Business Applications
The Future of Business ApplicationsThe Future of Business Applications
The Future of Business ApplicationsOrangeScape
 
Creating integrated domain, task and competency model
Creating integrated domain, task and competency modelCreating integrated domain, task and competency model
Creating integrated domain, task and competency modeltelss09
 
2018 04 20 Azure Global Bootcamp - Artificial Intelligence and Cognitive Serv...
2018 04 20 Azure Global Bootcamp - Artificial Intelligence and Cognitive Serv...2018 04 20 Azure Global Bootcamp - Artificial Intelligence and Cognitive Serv...
2018 04 20 Azure Global Bootcamp - Artificial Intelligence and Cognitive Serv...Bruno Capuano
 
Pragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesPragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesRody Middelkoop
 
Enterprise Content Module
Enterprise Content ModuleEnterprise Content Module
Enterprise Content ModuleGeoffrey Long
 
Bma Presentation 3.19.2009
Bma Presentation 3.19.2009Bma Presentation 3.19.2009
Bma Presentation 3.19.2009MarkatCreekside
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile developmentMichael Chaize
 
SnapEngage integration with SAP Business ByDesign
SnapEngage integration with SAP Business ByDesignSnapEngage integration with SAP Business ByDesign
SnapEngage integration with SAP Business ByDesignChristian Happel
 
Con3429 pdf 3429_0001
Con3429 pdf 3429_0001Con3429 pdf 3429_0001
Con3429 pdf 3429_0001juancaJdev
 
SAP Sybase Event Streaming Processing
SAP Sybase Event Streaming ProcessingSAP Sybase Event Streaming Processing
SAP Sybase Event Streaming ProcessingSybase Türkiye
 
Sap personas presentation to sap mentors sept 2012
Sap personas presentation to sap mentors sept 2012Sap personas presentation to sap mentors sept 2012
Sap personas presentation to sap mentors sept 2012Peter Spielvogel
 
P&msp2010 09 integration-&-testing
P&msp2010 09 integration-&-testingP&msp2010 09 integration-&-testing
P&msp2010 09 integration-&-testingEmanuele Della Valle
 

Similar to ASD - The Extra Dimension in Software Engineering (14)

The Future of Business Applications
The Future of Business ApplicationsThe Future of Business Applications
The Future of Business Applications
 
Creating integrated domain, task and competency model
Creating integrated domain, task and competency modelCreating integrated domain, task and competency model
Creating integrated domain, task and competency model
 
2018 04 20 Azure Global Bootcamp - Artificial Intelligence and Cognitive Serv...
2018 04 20 Azure Global Bootcamp - Artificial Intelligence and Cognitive Serv...2018 04 20 Azure Global Bootcamp - Artificial Intelligence and Cognitive Serv...
2018 04 20 Azure Global Bootcamp - Artificial Intelligence and Cognitive Serv...
 
Pragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesPragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use Cases
 
Enterprise Content Module
Enterprise Content ModuleEnterprise Content Module
Enterprise Content Module
 
Bma Presentation 3.19.2009
Bma Presentation 3.19.2009Bma Presentation 3.19.2009
Bma Presentation 3.19.2009
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile development
 
SnapEngage integration with SAP Business ByDesign
SnapEngage integration with SAP Business ByDesignSnapEngage integration with SAP Business ByDesign
SnapEngage integration with SAP Business ByDesign
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
 
Actionable Architecture
Actionable Architecture Actionable Architecture
Actionable Architecture
 
Con3429 pdf 3429_0001
Con3429 pdf 3429_0001Con3429 pdf 3429_0001
Con3429 pdf 3429_0001
 
SAP Sybase Event Streaming Processing
SAP Sybase Event Streaming ProcessingSAP Sybase Event Streaming Processing
SAP Sybase Event Streaming Processing
 
Sap personas presentation to sap mentors sept 2012
Sap personas presentation to sap mentors sept 2012Sap personas presentation to sap mentors sept 2012
Sap personas presentation to sap mentors sept 2012
 
P&msp2010 09 integration-&-testing
P&msp2010 09 integration-&-testingP&msp2010 09 integration-&-testing
P&msp2010 09 integration-&-testing
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
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