SlideShare a Scribd company logo
1 of 48
Ten Commandments of
 Formal Methods: A decade later
Jonathan P. Bowen Michael G. Hinchey
Museophile Limited, UK          Loyola College in Maryland
                                      Baltimore, USA
     www.jpbowen.com
  (Also visiting academic,             (Also NASA)
 University College London)

         See IEEE Computer, 39(1):40–48, January 2006.
      Based on Dagstuhl workshop, Germany, 8–12 May 2006.
Dagstuhl Seminar 06191
Rigorous Methods for Software Construction
       and Analysis, 8–12 May 2006
Choosing a formal method – difficult

                        ASM
               GC6
        B

                  Z




            VSR-net
Background – formal methods
  Academics vs. industrial practitioners
  Theory vs. practice
  Still little used in general practice
  Size of community critical

       It is clear to the best minds in the field
       that a more mathematical approach is
       needed for software to advance much.
                               ― Bertrand Meyer
The Flat Earth
   Society
Cf. formal methods
community…
— Gerard J. Holzmann




     FMICS 2005 (Lisbon)
     conference queue! ►
Ten Commandments
  … ten years later
J.P. Bowen & M.G. Hinchey,
IEEE Computer,
April 1995 & January 2006

He proclaimed to you his
covenant, which he
commanded you to keep:
the Ten Commandments,
which he wrote on two
tablets of stone.
                                      “Can’t I just read your URL?”
 ― Deuteronomy 4:13, 10:4, Ex.34:28
                                      vl.fmnet.info/moses-url
Thou shalt choose an
   appropriate notation.
Notations are a frequent complaint…
but the real problem is to understand
the meaning and properties of the
symbols …
… you will cultivate an appreciation
of mathematical elegance and style.
By that time, the symbols will be
invisible ...
The great advantage of mathematics
is that the rules are simpler than
those of natural language
                        ― C.A.R. Hoare
Which notation?

Various notations:
   ASM (testing?)
   B (development?)
   Z (specification?)
   Etc. – 95 under
   vl.fmnet.info
Beware
Panaceas!



 Cf. Formal
  methods
Caviat
Emptor!
Cf. Software
Name       Combines        Advantage          Ref.
Combined            Temporal   B, temporal    Adds time to the Bonnet et
                       B           logic        B-Method       al. (1995)
formal
methods              ZCCS        Z, CCS       Combines CCS       Galloway
                                              process algebra       and
add to the                                    and state based    Stoddard
confusion!                                      aspects of Z      (1997)


                    CSP OZ       Z, CSP       Combines Z and     Fischer
                                                  CSP            (2000)
If I could say it                                                  [13]
in words there      Object Z      Z, OO        Adds OO to Z       Smith
would be no                    principles,                        (2000)
                                temporal
reason to paint.                   logic

― Edward Hopper                Object-Z, π-   Adds π-calculus
                     PiOZ                                        Taguchi
                                calculus       style dynamic       et al.
    (1882–1967)                                    comm.          (2004)
                                               capabilities to
                                                  Object-Z
Thou shalt formalize
        but not overformalize.

    Need for formality
    Formality vs. informality
    Levels of use

Strange as it seems, no amount of
learning can cure stupidity, and
formal education positively fortifies it.
                    ― Stephen Vizinczey
Level     Name             Involves

Levels          0       Formal        Formal notation
                      Specification used for specifying
of use                              requirements only;
                                     no analysis/proof


               1         Formal     Proving properties
                      Development /   and applying
                       Verification    refinement
                                         calculus
Cost vs.
               2         Machine       Use of theorem
correctness             Checked        prover/checker
(quality)             Proofs / Model    tool to prove
                        checking        consistency/
                                          integrity.
Thou shalt estimate costs.
   Estimation models (CoCoMo II, …)
   Total cost of ownership (TCO)
   Quality of people varies (c10:1?)
   Cost (salary) varies (c2:1?)
   Still an inexact “science”
I think that God in creating Man somewhat
overestimated his ability.
               ― Oscar Wilde (1854–1900)
200
                                                                           Requirements
                                                GRO78
      Target Cost Overrun, Percent                                         phase costs
                                                 OMV
                                                         TDRSS             compared with
                                     160          IRAS
                                                                           project overrun
                                               Gali
                                                             HST
                                                                           costs
                                           GOES I-M TETH
                                     120                                      (source:   NASA)
                                                   LAND76
                                           CEN
                                                         EDO (recent start)
                                                   MARS
                                            ACTS
                                                        ERB77
                                                                         COBE
                                     80                         STS
                                           CHA.REC                  LAND78
                                                                            GRO82
                                                                          ERB80
                                                   SEASAT
                                      40                       UARS       VOYAGER                HEAO
                                                                     EUVE/EP
                                                       DE           Ulysses               ISEE
                                                            SMM PIONVEN IUE
                                       0
Ref: NASA/W. Gruhl 0                                  5            10        15           20
                                              Requirements Cost/Program Cost, percent
Cost of proofs
Mathematics – simple theorems,
deep proofs (decades or centuries)
Cf. software – complicated specs
& programs, shallow proofs
(B, 90–95% automated, 5–10%
manual, weeks or months).


               Fermat’s Last Theorem (in Toulouse)
                        an + bn ≠ cn (n>2)
                 — Pierre de Fermat (1601–1635)
Hand vs.
                                   machine
                                   checked
                                    proofs




Blackboard at Dagstuhl workshop!
Thou shalt have a formal
       methods guru on call.
 Communication/understanding important
 Project management
 Technology transfer
 Support organizations (FME, ForTIA, …)

An expert is a person who has made all
the mistakes that can be made in a very
narrow field.
                ― Niels Bohr (1885–1962)
Technology transfer
E.g.: Z notation
Courses (academia & industry)
Textbooks (good choice)
Tools (type-checkers, provers, …)
Web resources – vl.fmnet.info
Discussion – comp.specification.*
User Group (meetings)
Standards (see later)
Formal Methods Europe
FME: started with European funding
Industry, academia and government
Now more international in scope
FM’06: 14th Symposium
Hamilton, Canada, 21–27 Aug 2006

www.fmeurope.org
FME Wiki:
www.fmeurope.org/twiki/bin/view
ForTIA
Formal Techniques Industry Association
Founded through European CoLogNET
Computational Logic Network and FME
at FM2003 symposium, Pisa
Subgroup of FME
Technology transfer to industry
See: www.fortia.org
Thou shalt not abandon
        thy traditional
        development methods.
      UML
      Object-orientation
      Model-Based Development (MBD)

A great many of those who ‘debunk’
traditional... values have in the background
values of their own which they believe to be
immune from the debunking process.
 ― C. S. Lewis (1898–1963) The Abolition of Man
UML & OO methods
Unified Modeling Language
    pUML (precise UML)
    Combined with B-Method tools
Object-Z
Perfect Developer (Java/C++)
    Escher Technologies
    Applied to self, proving c95% of
    approx. 130,000 verification conds
    Cf. Atelier-B tool?
Thou shalt document
     sufficiently.

Case studies – success & failure
Process important
Textbooks (c10 Z vs. c1000 Java!)

I have always tried to hide my own efforts and
wished my works to have the lightness and
joyousness of a springtime which never lets
anyone suspect the labours it cost.
                    ― Henri Matisse (1869–1954)
Google Book Search   books.google.com
Textbooks
for courses
 Resistance by
 students
 Resistance even
 by academics
 Professional
 society
 accreditation
 (e.g., BCS)
Software Specification Methods
                       Henri Habrias &
                       Marc Frappier (eds.)
                       Springer-Verlag, 2001
                       and ISTE, 2006

                       Z, SAZ, B, OMT, Action
                       Systems, UML, VHDL,
                       Estelle, SDL, E-LOTOS,
                       JSD, CASL, Coq, Petri
                       Nets, TLA.
Process of producing
a formal spec…
Wikipedia
                         Z notation category.
                         Add ASM, B-Method,
                         … categories?

en.wikipedia.org/wiki/Formal_methods See also:
en.wikipedia.org/wiki/Category:Formal_methods
Thou shalt not compromise
          thy quality standards.
$360B loses due to poor software quality (2002)
ISO 9000 revised (2000)
IEC 61508-3 functional safety standard (1998)
00-55 UK MoD standard updated (1997)
00-56 Issue 3 for hardware-software (2005)
   FMs mandated for safety-related software

      If people knew how hard I worked to get my
      mastery, it wouldn't seem so wonderful at all.
           ― Michelangelo Buonarroti (1475–1564)
Z Standard
ISO/IEC 13568
Long process (1990s)
Final Committee Draft
– accepted in 2001!
Important for tools and
industrial use
ASM, B, … ?
Thou shalt not
          be dogmatic.
Listen to industry’s problems
Choice may depend on expertise
Good tool support important
Combined theorem proving/model
checking (e.g., Yices from SRI)
 … And I am unanimous in that!
        ― Molly Sugden, a.k.a. Mrs. Slocombe
  Are You Being Served? BBC TV (1972–1993)
Community Z Tools
Open systems model – e.g.,
Community Z Tools (CZT) initiative
Sourceforge project:
czt.sourceforge.net
Open source initiatives
European RODIN project (2004–2007):
   Rigorous Open Development Environment
   for Complex Systems
   rodin.cs.ncl.ac.uk
   Support for B# (“B sharp”, cf. C#)
   rodin-b-sharp.sourceforge.net
   See also B4free: www.b4free.com
HOL 4: hol.sourceforge.net
Jape: sourceforge.net/projects/jape
Thou shalt test,
        test, and test again.
Even short programs complex
Small changes can cause large problems
Easy to change, not easy to be correct
    I believe the hard part of building software to
    be the specification, design and testing of this
    conceptual construct, not the labor of
    representing it and testing the fidelity of the
    representation.
        ― Frederick P. Brooks, Jr., No Silver Bullet
FORTEST Network
 Formal methods and testing


           www.fortest.org.uk
UK academia and industry (3 years funding)
Regular workshops (last 19 Dec 2005, London)
“Landscapes” ACM Surveys paper to appear
Book in preparation for Springer LNCS (2007)
Formalization of testing criteria
  Z notation – readable
      Existing criteria (e.g., MC/DC)
      Modified Condition/Decision Coverage
  New criteria (e.g., RC/DC)
      Reinforced Condition/Decision Coverage
      (false actuation type errors detected)
  Reduces ambiguity, increases understanding
  See: Formal Aspects of Computing, 18(1):42–62,
  March 2006 & STVR, 15(1):21–40, March 2005
  [Work with Sergiy Vilkomir & Kalpesh Kapoor]
  See: www.cafm.lsbu.ac.uk/fortest
Formalization of testing criteria

 Using the Z notation. E.g.:
Thou shalt reuse.

  Possible if “formal”
  Cheaper at higher levels of abstraction
  Levels of complexity

The biggest difference between time
and space is that you can't reuse time.
                       ― Merrick Furst
Levels of complexity
25 lines of informal requirements
250 lines of (formal) specification
2,500 lines of design description
25,000 lines of high-level program code
250,000 machine instructions of object code
2,500,000 CMOS transistors in hardware!
Reflection
Oui, l'œuvre sort plus belle
D'une forme au travail
Rebelle,
Vers, marbre, onyx, émail.
[Yes, the work comes out more beautiful from
 a material that resists the process, verse,
 marble, onyx, or enamel.]
       — Théophile Gautier (1811–1872) L'Art
Grand Challenge 6
1 of 7: Dependable Systems Evolution

Sir Tony Hoare et al.

Verifying Compiler (this century!)

Workshops: e.g., Zurich, Dagstuhl

Further information: www.fmnet.info/gc6
Verified Software Repository
 Cf. QED Pro Quo repository – www.qpq.org
 Case study software, tools, challenges
     Mondex Electronic Purse (security)
 Dagstuhl Seminar (10–14 June 2006)
 UK EPSRC VSR-net network (2005–2008)
     EPSRC project proposal
     Last meeting (York, UK, 5–6 October 2006)
 Further information: www.fmnet.info/vsr-net
Conclusion
   Continued niche market for critical systems
      Especially safety and security
      Hardware as well as software (model checking)
   Tools very important (open source?)
      Breakthrough with theorem proving/model checking?
   Breaking the “5,000” glass ceiling?
… in this area my academic colleagues are
doing exactly what they should do: developing
and propagating an indispensable technology
so that it will be available when “the world out
there” undeniably needs it.
                 ― Edsger W. Dijkstra (1930–2002)
Applied Formal Methods

"You know my methods.
     Apply them."
             — Sir Arthur Conan Doyle
               The Sign of Four (1890)

URL: vl.fmnet.info
                         Virtual Library
SEFM 2007 conference
IEEE conference on Software
Engineering and Formal Methods
Keyworth Centre, London South Bank
University, UK, 10-14 September 2007
URL: www.iist.unu.edu/SEFM07
Submission deadline: 31 March 2007
ABZ08: ASM, B, Z meeting
 ASM, B, Z user groups & VSR-net
 2008 Jean-Raymond Abrial’s 70th birthday
 (inventor of Z and B)
 BCS London offices, 15-18 September 2008
 c/o BCS Formal Aspects of Computing
 Science (FACS) Specialist Group
 Free venue for BCS SGs (120 people max)
 1 day joint, 2 days in parallel, 1 day VSR-net
 workshop (space dividable)
ASM, B, Z meeting – people
ASM – Egon Börger (Pisa)

B – Michael Butler (Southampton)

Z – Jonathan Bowen (London)

VSR-net – Jim Woodcock (York)

Local organization – Paul Boca (London)

Industrial case study – Ian Oliver (Nokia, Helsinki)
www.fmnet.info


The End                Keyworth Centre ▲
                    Hubble in clean room ▼




sel.gsfc.nasa.gov

More Related Content

What's hot

Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Chandan Thakur
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsMuhammadTalha436
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software designMr. Swapnil G. Thaware
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software EngineeringManish Kumar
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software EngineeringUpekha Vandebona
 
Ch08-Architecture Design
Ch08-Architecture DesignCh08-Architecture Design
Ch08-Architecture DesignFajar Baskoro
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corbaMayuresh Wadekar
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software ProcessJomel Penalba
 
Animation in the web
Animation in the webAnimation in the web
Animation in the webVishal Polley
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design PatternSanae BEKKAR
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)ShudipPal
 

What's hot (20)

Multi-tier Designs in Software
Multi-tier Designs in SoftwareMulti-tier Designs in Software
Multi-tier Designs in Software
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Scaling agile
Scaling agileScaling agile
Scaling agile
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software design
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Principles of Service Orientation
Principles of Service OrientationPrinciples of Service Orientation
Principles of Service Orientation
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
 
Ch08-Architecture Design
Ch08-Architecture DesignCh08-Architecture Design
Ch08-Architecture Design
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software Process
 
Animation in the web
Animation in the webAnimation in the web
Animation in the web
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
 

More from Jonathan Bowen

Communities and Ancestors Associated with Egon Börger and ASM
Communities and Ancestors Associated with Egon Börger and ASMCommunities and Ancestors Associated with Egon Börger and ASM
Communities and Ancestors Associated with Egon Börger and ASMJonathan Bowen
 
Alan Turing and Oxford
Alan Turing and OxfordAlan Turing and Oxford
Alan Turing and OxfordJonathan Bowen
 
The Digital Renaissance from da Vinci to Turing
The Digital Renaissance from da Vinci to TuringThe Digital Renaissance from da Vinci to Turing
The Digital Renaissance from da Vinci to TuringJonathan Bowen
 
Alan Turing: Founder of Computer Science
Alan Turing: Founder of Computer ScienceAlan Turing: Founder of Computer Science
Alan Turing: Founder of Computer ScienceJonathan Bowen
 
Online Academic Tools for Engagement
Online Academic Tools for EngagementOnline Academic Tools for Engagement
Online Academic Tools for EngagementJonathan Bowen
 
Visibility and visualisation of scholarly publications online: Erdős and beyond
Visibility and visualisation of scholarly publications online: Erdős and beyondVisibility and visualisation of scholarly publications online: Erdős and beyond
Visibility and visualisation of scholarly publications online: Erdős and beyondJonathan Bowen
 
Patterns in scholarly publications online: Erdős and beyond
Patterns in scholarly publications online: Erdős and beyondPatterns in scholarly publications online: Erdős and beyond
Patterns in scholarly publications online: Erdős and beyondJonathan Bowen
 
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...Jonathan Bowen
 
Online Communities: Visualization and Formalization.
Online Communities: Visualization and Formalization.Online Communities: Visualization and Formalization.
Online Communities: Visualization and Formalization.Jonathan Bowen
 
Computer science education in universities
Computer science education in universitiesComputer science education in universities
Computer science education in universitiesJonathan Bowen
 
Making scholarly publications accessible online
Making scholarly publications accessible onlineMaking scholarly publications accessible online
Making scholarly publications accessible onlineJonathan Bowen
 
Industrial use of formal methods
Industrial use of formal methodsIndustrial use of formal methods
Industrial use of formal methodsJonathan Bowen
 
From a Community of Practice to a Body of Knowledge: A case study of the form...
From a Community of Practice to a Body of Knowledge: A case study of the form...From a Community of Practice to a Body of Knowledge: A case study of the form...
From a Community of Practice to a Body of Knowledge: A case study of the form...Jonathan Bowen
 
Wiki Software and Facilities for Museums
Wiki Software and Facilities for MuseumsWiki Software and Facilities for Museums
Wiki Software and Facilities for MuseumsJonathan Bowen
 

More from Jonathan Bowen (14)

Communities and Ancestors Associated with Egon Börger and ASM
Communities and Ancestors Associated with Egon Börger and ASMCommunities and Ancestors Associated with Egon Börger and ASM
Communities and Ancestors Associated with Egon Börger and ASM
 
Alan Turing and Oxford
Alan Turing and OxfordAlan Turing and Oxford
Alan Turing and Oxford
 
The Digital Renaissance from da Vinci to Turing
The Digital Renaissance from da Vinci to TuringThe Digital Renaissance from da Vinci to Turing
The Digital Renaissance from da Vinci to Turing
 
Alan Turing: Founder of Computer Science
Alan Turing: Founder of Computer ScienceAlan Turing: Founder of Computer Science
Alan Turing: Founder of Computer Science
 
Online Academic Tools for Engagement
Online Academic Tools for EngagementOnline Academic Tools for Engagement
Online Academic Tools for Engagement
 
Visibility and visualisation of scholarly publications online: Erdős and beyond
Visibility and visualisation of scholarly publications online: Erdős and beyondVisibility and visualisation of scholarly publications online: Erdős and beyond
Visibility and visualisation of scholarly publications online: Erdős and beyond
 
Patterns in scholarly publications online: Erdős and beyond
Patterns in scholarly publications online: Erdős and beyondPatterns in scholarly publications online: Erdős and beyond
Patterns in scholarly publications online: Erdős and beyond
 
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
 
Online Communities: Visualization and Formalization.
Online Communities: Visualization and Formalization.Online Communities: Visualization and Formalization.
Online Communities: Visualization and Formalization.
 
Computer science education in universities
Computer science education in universitiesComputer science education in universities
Computer science education in universities
 
Making scholarly publications accessible online
Making scholarly publications accessible onlineMaking scholarly publications accessible online
Making scholarly publications accessible online
 
Industrial use of formal methods
Industrial use of formal methodsIndustrial use of formal methods
Industrial use of formal methods
 
From a Community of Practice to a Body of Knowledge: A case study of the form...
From a Community of Practice to a Body of Knowledge: A case study of the form...From a Community of Practice to a Body of Knowledge: A case study of the form...
From a Community of Practice to a Body of Knowledge: A case study of the form...
 
Wiki Software and Facilities for Museums
Wiki Software and Facilities for MuseumsWiki Software and Facilities for Museums
Wiki Software and Facilities for Museums
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Ten Commandments of Formal Methods: A decade later

  • 1. Ten Commandments of Formal Methods: A decade later Jonathan P. Bowen Michael G. Hinchey Museophile Limited, UK Loyola College in Maryland Baltimore, USA www.jpbowen.com (Also visiting academic, (Also NASA) University College London) See IEEE Computer, 39(1):40–48, January 2006. Based on Dagstuhl workshop, Germany, 8–12 May 2006.
  • 2. Dagstuhl Seminar 06191 Rigorous Methods for Software Construction and Analysis, 8–12 May 2006
  • 3. Choosing a formal method – difficult ASM GC6 B Z VSR-net
  • 4. Background – formal methods Academics vs. industrial practitioners Theory vs. practice Still little used in general practice Size of community critical It is clear to the best minds in the field that a more mathematical approach is needed for software to advance much. ― Bertrand Meyer
  • 5. The Flat Earth Society Cf. formal methods community… — Gerard J. Holzmann FMICS 2005 (Lisbon) conference queue! ►
  • 6. Ten Commandments … ten years later J.P. Bowen & M.G. Hinchey, IEEE Computer, April 1995 & January 2006 He proclaimed to you his covenant, which he commanded you to keep: the Ten Commandments, which he wrote on two tablets of stone. “Can’t I just read your URL?” ― Deuteronomy 4:13, 10:4, Ex.34:28 vl.fmnet.info/moses-url
  • 7. Thou shalt choose an appropriate notation. Notations are a frequent complaint… but the real problem is to understand the meaning and properties of the symbols … … you will cultivate an appreciation of mathematical elegance and style. By that time, the symbols will be invisible ... The great advantage of mathematics is that the rules are simpler than those of natural language ― C.A.R. Hoare
  • 8. Which notation? Various notations: ASM (testing?) B (development?) Z (specification?) Etc. – 95 under vl.fmnet.info
  • 11. Name Combines Advantage Ref. Combined Temporal B, temporal Adds time to the Bonnet et B logic B-Method al. (1995) formal methods ZCCS Z, CCS Combines CCS Galloway process algebra and add to the and state based Stoddard confusion! aspects of Z (1997) CSP OZ Z, CSP Combines Z and Fischer CSP (2000) If I could say it [13] in words there Object Z Z, OO Adds OO to Z Smith would be no principles, (2000) temporal reason to paint. logic ― Edward Hopper Object-Z, π- Adds π-calculus PiOZ Taguchi calculus style dynamic et al. (1882–1967) comm. (2004) capabilities to Object-Z
  • 12. Thou shalt formalize but not overformalize. Need for formality Formality vs. informality Levels of use Strange as it seems, no amount of learning can cure stupidity, and formal education positively fortifies it. ― Stephen Vizinczey
  • 13. Level Name Involves Levels 0 Formal Formal notation Specification used for specifying of use requirements only; no analysis/proof 1 Formal Proving properties Development / and applying Verification refinement calculus Cost vs. 2 Machine Use of theorem correctness Checked prover/checker (quality) Proofs / Model tool to prove checking consistency/ integrity.
  • 14. Thou shalt estimate costs. Estimation models (CoCoMo II, …) Total cost of ownership (TCO) Quality of people varies (c10:1?) Cost (salary) varies (c2:1?) Still an inexact “science” I think that God in creating Man somewhat overestimated his ability. ― Oscar Wilde (1854–1900)
  • 15. 200 Requirements GRO78 Target Cost Overrun, Percent phase costs OMV TDRSS compared with 160 IRAS project overrun Gali HST costs GOES I-M TETH 120 (source: NASA) LAND76 CEN EDO (recent start) MARS ACTS ERB77 COBE 80 STS CHA.REC LAND78 GRO82 ERB80 SEASAT 40 UARS VOYAGER HEAO EUVE/EP DE Ulysses ISEE SMM PIONVEN IUE 0 Ref: NASA/W. Gruhl 0 5 10 15 20 Requirements Cost/Program Cost, percent
  • 16. Cost of proofs Mathematics – simple theorems, deep proofs (decades or centuries) Cf. software – complicated specs & programs, shallow proofs (B, 90–95% automated, 5–10% manual, weeks or months). Fermat’s Last Theorem (in Toulouse) an + bn ≠ cn (n>2) — Pierre de Fermat (1601–1635)
  • 17. Hand vs. machine checked proofs Blackboard at Dagstuhl workshop!
  • 18. Thou shalt have a formal methods guru on call. Communication/understanding important Project management Technology transfer Support organizations (FME, ForTIA, …) An expert is a person who has made all the mistakes that can be made in a very narrow field. ― Niels Bohr (1885–1962)
  • 19. Technology transfer E.g.: Z notation Courses (academia & industry) Textbooks (good choice) Tools (type-checkers, provers, …) Web resources – vl.fmnet.info Discussion – comp.specification.* User Group (meetings) Standards (see later)
  • 20. Formal Methods Europe FME: started with European funding Industry, academia and government Now more international in scope FM’06: 14th Symposium Hamilton, Canada, 21–27 Aug 2006 www.fmeurope.org FME Wiki: www.fmeurope.org/twiki/bin/view
  • 21. ForTIA Formal Techniques Industry Association Founded through European CoLogNET Computational Logic Network and FME at FM2003 symposium, Pisa Subgroup of FME Technology transfer to industry See: www.fortia.org
  • 22. Thou shalt not abandon thy traditional development methods. UML Object-orientation Model-Based Development (MBD) A great many of those who ‘debunk’ traditional... values have in the background values of their own which they believe to be immune from the debunking process. ― C. S. Lewis (1898–1963) The Abolition of Man
  • 23. UML & OO methods Unified Modeling Language pUML (precise UML) Combined with B-Method tools Object-Z Perfect Developer (Java/C++) Escher Technologies Applied to self, proving c95% of approx. 130,000 verification conds Cf. Atelier-B tool?
  • 24. Thou shalt document sufficiently. Case studies – success & failure Process important Textbooks (c10 Z vs. c1000 Java!) I have always tried to hide my own efforts and wished my works to have the lightness and joyousness of a springtime which never lets anyone suspect the labours it cost. ― Henri Matisse (1869–1954)
  • 25. Google Book Search books.google.com
  • 26. Textbooks for courses Resistance by students Resistance even by academics Professional society accreditation (e.g., BCS)
  • 27. Software Specification Methods Henri Habrias & Marc Frappier (eds.) Springer-Verlag, 2001 and ISTE, 2006 Z, SAZ, B, OMT, Action Systems, UML, VHDL, Estelle, SDL, E-LOTOS, JSD, CASL, Coq, Petri Nets, TLA. Process of producing a formal spec…
  • 28. Wikipedia Z notation category. Add ASM, B-Method, … categories? en.wikipedia.org/wiki/Formal_methods See also: en.wikipedia.org/wiki/Category:Formal_methods
  • 29. Thou shalt not compromise thy quality standards. $360B loses due to poor software quality (2002) ISO 9000 revised (2000) IEC 61508-3 functional safety standard (1998) 00-55 UK MoD standard updated (1997) 00-56 Issue 3 for hardware-software (2005) FMs mandated for safety-related software If people knew how hard I worked to get my mastery, it wouldn't seem so wonderful at all. ― Michelangelo Buonarroti (1475–1564)
  • 30. Z Standard ISO/IEC 13568 Long process (1990s) Final Committee Draft – accepted in 2001! Important for tools and industrial use ASM, B, … ?
  • 31. Thou shalt not be dogmatic. Listen to industry’s problems Choice may depend on expertise Good tool support important Combined theorem proving/model checking (e.g., Yices from SRI) … And I am unanimous in that! ― Molly Sugden, a.k.a. Mrs. Slocombe Are You Being Served? BBC TV (1972–1993)
  • 32. Community Z Tools Open systems model – e.g., Community Z Tools (CZT) initiative Sourceforge project: czt.sourceforge.net
  • 33. Open source initiatives European RODIN project (2004–2007): Rigorous Open Development Environment for Complex Systems rodin.cs.ncl.ac.uk Support for B# (“B sharp”, cf. C#) rodin-b-sharp.sourceforge.net See also B4free: www.b4free.com HOL 4: hol.sourceforge.net Jape: sourceforge.net/projects/jape
  • 34. Thou shalt test, test, and test again. Even short programs complex Small changes can cause large problems Easy to change, not easy to be correct I believe the hard part of building software to be the specification, design and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. ― Frederick P. Brooks, Jr., No Silver Bullet
  • 35. FORTEST Network Formal methods and testing www.fortest.org.uk UK academia and industry (3 years funding) Regular workshops (last 19 Dec 2005, London) “Landscapes” ACM Surveys paper to appear Book in preparation for Springer LNCS (2007)
  • 36. Formalization of testing criteria Z notation – readable Existing criteria (e.g., MC/DC) Modified Condition/Decision Coverage New criteria (e.g., RC/DC) Reinforced Condition/Decision Coverage (false actuation type errors detected) Reduces ambiguity, increases understanding See: Formal Aspects of Computing, 18(1):42–62, March 2006 & STVR, 15(1):21–40, March 2005 [Work with Sergiy Vilkomir & Kalpesh Kapoor] See: www.cafm.lsbu.ac.uk/fortest
  • 37. Formalization of testing criteria Using the Z notation. E.g.:
  • 38. Thou shalt reuse. Possible if “formal” Cheaper at higher levels of abstraction Levels of complexity The biggest difference between time and space is that you can't reuse time. ― Merrick Furst
  • 39. Levels of complexity 25 lines of informal requirements 250 lines of (formal) specification 2,500 lines of design description 25,000 lines of high-level program code 250,000 machine instructions of object code 2,500,000 CMOS transistors in hardware!
  • 40. Reflection Oui, l'œuvre sort plus belle D'une forme au travail Rebelle, Vers, marbre, onyx, émail. [Yes, the work comes out more beautiful from a material that resists the process, verse, marble, onyx, or enamel.] — Théophile Gautier (1811–1872) L'Art
  • 41. Grand Challenge 6 1 of 7: Dependable Systems Evolution Sir Tony Hoare et al. Verifying Compiler (this century!) Workshops: e.g., Zurich, Dagstuhl Further information: www.fmnet.info/gc6
  • 42. Verified Software Repository Cf. QED Pro Quo repository – www.qpq.org Case study software, tools, challenges Mondex Electronic Purse (security) Dagstuhl Seminar (10–14 June 2006) UK EPSRC VSR-net network (2005–2008) EPSRC project proposal Last meeting (York, UK, 5–6 October 2006) Further information: www.fmnet.info/vsr-net
  • 43. Conclusion Continued niche market for critical systems Especially safety and security Hardware as well as software (model checking) Tools very important (open source?) Breakthrough with theorem proving/model checking? Breaking the “5,000” glass ceiling? … in this area my academic colleagues are doing exactly what they should do: developing and propagating an indispensable technology so that it will be available when “the world out there” undeniably needs it. ― Edsger W. Dijkstra (1930–2002)
  • 44. Applied Formal Methods "You know my methods. Apply them." — Sir Arthur Conan Doyle The Sign of Four (1890) URL: vl.fmnet.info Virtual Library
  • 45. SEFM 2007 conference IEEE conference on Software Engineering and Formal Methods Keyworth Centre, London South Bank University, UK, 10-14 September 2007 URL: www.iist.unu.edu/SEFM07 Submission deadline: 31 March 2007
  • 46. ABZ08: ASM, B, Z meeting ASM, B, Z user groups & VSR-net 2008 Jean-Raymond Abrial’s 70th birthday (inventor of Z and B) BCS London offices, 15-18 September 2008 c/o BCS Formal Aspects of Computing Science (FACS) Specialist Group Free venue for BCS SGs (120 people max) 1 day joint, 2 days in parallel, 1 day VSR-net workshop (space dividable)
  • 47. ASM, B, Z meeting – people ASM – Egon Börger (Pisa) B – Michael Butler (Southampton) Z – Jonathan Bowen (London) VSR-net – Jim Woodcock (York) Local organization – Paul Boca (London) Industrial case study – Ian Oliver (Nokia, Helsinki)
  • 48. www.fmnet.info The End Keyworth Centre ▲ Hubble in clean room ▼ sel.gsfc.nasa.gov