Advertisement

Agile Formal Method Engineering

  • Richard F. Paige
  • Phillip J. Brooke
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3771)

Abstract

Software development methods are software products, in the sense that they should be engineered by following a methodology to meet the behavioural and non-behavioural requirements of the intended users of the method. We argue that agile approaches are the most appropriate means for engineering new methods, and particularly for integrating formal methods. We show how agile principles and practices apply to engineering methods, and demonstrate their application by integrating parts of the Eiffel development method with CSP.

Keywords

Method Engineering Method Increment User Story Method Engineer Agile Development 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    The Agile Manifesto (2003), http://www.agilemanifesto.org
  2. 2.
    Abdullah, M.S., Kimble, C., Paige, R.F., Benest, I.D., Evans, A.S.: Developing a UML profile for modelling knowledge-based systems. In: Proc. MDA: Foundations and Applications 2004. LNCS. Springer, Heidelberg (2004)Google Scholar
  3. 3.
    Abrial, J.-R.: The B-Book, Cambridge (1996)Google Scholar
  4. 4.
    Ambler, S.: Process Patterns, Cambridge (1998)Google Scholar
  5. 5.
    Ambler, S.: Agile Modeling. John Wiley, Chichester (2002)Google Scholar
  6. 6.
    Beck, K.: Extreme Programming Explained. Addison-Wesley, Reading (2000)Google Scholar
  7. 7.
    Beck, K.: Test-Driven Development. Addison-Wesley, Reading (2002)Google Scholar
  8. 8.
    Brooke, P.J.: A timed semantics for a hierarchical design notation, DPhil Thesis, University of York (1999)Google Scholar
  9. 9.
    Brooke, P.J., Paige, R.F.: Simulating CSP in Eiffel. Preparation (2005)Google Scholar
  10. 10.
    Clark, T., Evans, A., Sammut, P., Willans, J.: Applied Metamodelling (2004), Available at www.xactium.com
  11. 11.
    D’Souza, D., Wills, A.C.: Objects, Components and Frameworks with UML. AWL (1998)Google Scholar
  12. 12.
    Goodland, M., Slater, C.: SSADM Version 4: an Introduction. McGraw-Hill, New York (1995)Google Scholar
  13. 13.
    Hehner, E.C.R.: A Practical Theory of Programming, 2nd edn. Springer, Heidelberg (2003)Google Scholar
  14. 14.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1986)Google Scholar
  15. 15.
    Ronin International. Enterprise unified process, http://www.enterpriseunifiedprocess.com
  16. 16.
    Kruchten, P.: The Rational Unified Process: an Introduction, 3rd edn. AWL (2003)Google Scholar
  17. 17.
    Mahony, B., Dong, J.S.: Deep semantic links of Timed CSP and Object-Z. Formal Aspects of Computing 13(2) (2002)Google Scholar
  18. 18.
    Meyer, B.: Object Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)zbMATHGoogle Scholar
  19. 19.
    Object Modelling Group. Model Driven Architecture (2004), http://www.omg.org/mda/
  20. 20.
    Object Modelling Group. Software Process Engineering Metamodel, SPEM (2005), http://www.omg.org/technology/documents/formal/spem.htm
  21. 21.
    Chair of Software Engineering. SCOOP web pages (2005), http://se.inf.ethz.ch/scoop
  22. 22.
    Paige, R.F., Ostroff, J.S.: ERC: an object-oriented refinement calculus for Eiffel. Formal Aspects of Computing 16(1) (2004)Google Scholar
  23. 23.
    Paige, R.F., Ostroff, J.S., Brooke, P.J.: Principles of modelling language design. Information and Software Technology 42(10) (2000)Google Scholar
  24. 24.
    Palmer, S., Felsing, M.: A Practical Guide to Feature-Driven Development. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  25. 25.
    ModelWare EC Integrated Project, www.modelware-ist.org
  26. 26.
    Ramsin, R., Paige, R.F.: Criteria-based analysis of object-oriented software development methodologies, Technical Report, University of York, UK (2005)Google Scholar
  27. 27.
    Scacchi, W.: Process models in software engineering. In: Encyclopedia of Software Engineering, 2nd edn. Wiley, Chichester (2001)Google Scholar
  28. 28.
    Welch, P., Aldous, J., Foster, J.: CSP networking for Java (CSP.net). In: Proc. ICCS 2002. LNCS. Springer, Heidelberg (2002)Google Scholar
  29. 29.
    Xactium. XMF user guide prerelease version 0.1 (2004), http://www.xactium.com

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Richard F. Paige
    • 1
  • Phillip J. Brooke
    • 2
  1. 1.Department of Computer ScienceUniversity of YorkUK
  2. 2.School of Computing, Communications, and ElectronicsUniversity of PlymouthUK

Personalised recommendations