Advertisement

Domain Engineering

  • Dines Bjørner
Chapter

Abstract

Before software can be designed we must know its requirements. Before requirements can be expressed we must understand the domain. So it follows, from our dogma, that we must first establish precise descriptions of domains; then, from such descriptions, “derive” at least domain and interface requirements; and from those and machine requirements design the software, or, more generally, the computing systems.

Keywords

Requirement Engineering Domain Engineering Domain Description Financial Service Industry Abstraction Principle 
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.

References

  1. 1.
    J.-R. Abrial: The B Book: Assigning Programs to Meanings (Cambridge University Press, Cambridge, MA, 1996) Google Scholar
  2. 2.
    K.R. Apt:Principles of Constraint Programming (Cambridge University Press, Cambridge, MA, 2003)Google Scholar
  3. 3.
    K. Araki, A. Galloway, and K. Taguchi, editors. IFM 1999: Integrated Formal Methods, Lecture Notes in Computer Science, vol. 1945, New York, June 1999. Springer (Proceedings of 1st International Conference on IFM) Google Scholar
  4. 4.
    M. Bidoit and P.D. Mosses: Casl User Manual (Springer, Berlin, 2004)Google Scholar
  5. 5.
    D. Bjørner: Software Engineering, Vol. 1: Abstraction and Modelling (Springer, Berlin, 2006) Google Scholar
  6. 6.
    D. Bjørner:Software Engineering, Vol. 2: Specification of Systems and Languages (Springer, Berlin, 2006)Google Scholar
  7. 7.
    D. Bjørner: Software Engineering, Vol. 3: Domains, Requirements and Software Design (Springer, Berlin, 2006) Google Scholar
  8. 8.
    D. Bjørner, M. Henson, editors:Logics of Specification Languages (Springer, Berlin, 2007)Google Scholar
  9. 9.
    D. Bjørner, C.B. Jones, editors: The Vienna Development Method: The Meta-Language, Lecture Notes in Computer Science, vol. 61 (Springer, Berlin, 1978) Google Scholar
  10. 10.
    D. Bjørner, C.B. Jones, editors:Formal Specification and Software Development (Prentice-Hall, Hemel Hempstead, 1982)Google Scholar
  11. 11.
    D. Bjørner, A. Yasuhito, C. Xiaoyi and X. Jianwen: A Family of License Languages. Technical Report, JAIST, Graduate School of Information Science, Nomi, Ishikawa (2006) Google Scholar
  12. 12.
    E.A. Boiten, J. Derrick, G. Smith, editors.IFM 2004: Integrated Formal Methods, Lecture Notes in Computer Science, vol. 2999, London, April 4–7 2004 Springer (Proceedings of 4th International Conference on IFM. ISBN 3-540-21377-5)Google Scholar
  13. 13.
    E. Börger, R. Stärk: Abstract State Machines. A Method for High-Level System Design and Analysis (Springer, Berlin, 2003) Google Scholar
  14. 14.
    M.J. Butler, L. Petre, K. Sere, editors.IFM 2002: Integrated Formal Methods, Lecture Notes in Computer Science, vol. 2335, Turku, May 15–18 2002 Springer (Proceedings of 3rd Intrenational Conference on IFM. ISBN 3-540-43703-7)Google Scholar
  15. 15.
    D. Cansell and D. Méry. Logical foundations of the B method. Computing and Informatics, 22:257–283, 2003 Google Scholar
  16. 16.
    CoFI (The Common Framework Initiative): Casl Reference Manual, Lecture Notes in Computer Science (IFIP Series), vol. 2960 (Springer, Berlin, 2004)Google Scholar
  17. 17.
    W. Damm and D. Harel. LSCs: Breathing life into message sequence charts. Formal Methods in System Design, 19:45–80, 2001 Google Scholar
  18. 18.
    J. de Bakker:Control Flow Semantics (The MIT Press, Cambridge, MA, 1995)Google Scholar
  19. 19.
    R. Diaconescu, K. Futatsugi and K. Ogata. CafeOBJ: Logical foundations and methodology. Computing and Informatics, 22:1001–1025, 2003 Google Scholar
  20. 20.
    R. Feynmann, R. Leighton, M. Sands:The Feynmann Lectures on Physics, vols. I–II (Addison-Wesley, California Institute of Technology, Reading, MA, 1963)Google Scholar
  21. 21.
    J.S. Fitzgerald and P.G. Larsen: Developing Software using VDM-SL (Cambridge University Press, Cambridge, MA, 1997)Google Scholar
  22. 22.
    K. Futatsugi and R. Diaconescu: CafeOBJ Report The Language, Proof Techniques, and Methodologies for Object-Oriented Algebraic Specification (World Scientific Publishing, Singapore, 1998) Google Scholar
  23. 23.
    K. Futatsugi, A. Nakagawa and T. Tamai, editors.CAFE: An Industrial-Strength Algebraic Formal Method, Amsterdam, The Netherlands, 2000. Elsevier (Proceedings from an April 1998 Symposium, Numazu)Google Scholar
  24. 24.
    C.W. George, P. Haff, K. Havelund et al: The RAISE Specification Language (Prentice-Hall, Hemel Hampstead, 1992) Google Scholar
  25. 25.
    C.W. George and A.E. Haxthausen. The logic of the RAISE specification language.Computing and Informatics, 22(3–4):323–350, 2003Google Scholar
  26. 26.
    C.W. George, A.E. Haxthausen, S. Hughes et al: The RAISE Method (Prentice-Hall, Hemel Hampstead, 1995) Google Scholar
  27. 27.
    W. Grieskamp, T. Santen, B. Stoddart, editors.IFM 2000: Integrated Formal Methods, Lecture Notes in Computer Science, vol. 1945, Schloss Dagstuhl, November 1–3, 2000. Springer (Proceedings of 2nd International Conference on IFM)Google Scholar
  28. 28.
    C.A. Gunter, E.L. Gunter, M.A. Jackson and P. Zave. A reference model for requirements and specifications. IEEE Software, 17(3):37–43, 2000 Google Scholar
  29. 29.
    C.A. Gunter, S.T. Weeks and A.K. Wright: Models and languages for digtial rights. In:Proceedings of the 34th Annual Hawaii International Conference on System Sciences (HICSS-34) (IEEE Computer Society Press, Maui, 2001), pp. 4034–4038Google Scholar
  30. 30.
    C. Gunther: Semantics of Programming Languages (The MIT Press, Cambridge, MA, 1992) Google Scholar
  31. 31.
    D. Harel. Statecharts: A visual formalism for complex systems.Science of Computer Programming, 3:231–274, 1987Google Scholar
  32. 32.
    D. Harel. On visual formalisms. Communications of the ACM, 33(5):514–530, 1988 Google Scholar
  33. 33.
    D. Harel and E. Gery. Executable object modeling with statecharts.IEEE Computer, 7:31–42, 1997Google Scholar
  34. 34.
    D. Harel, H. Lachover, A. Naamad et al. STATEMATE: A working environment for the development of complex reactive systems. Software Engineering, 4:403–414, 1990 Google Scholar
  35. 35.
    D. Harel and R. Marelly:Come, Let’s Play – Scenario-Based Programming Using LSCs and the Play-Engine (Springer, Berlin, 2003)Google Scholar
  36. 36.
    D. Harel and A. Naamad. The STATEMATE semantics of statecharts. ACM Transactions on Software Engineering and Methodology, 5(4):293–333, 1996 Google Scholar
  37. 37.
    M.C. Henson, S. Reeves and J.P. Bowen. Z Logic and its consequences.Computing and Informatics, 22(3–4):381–415, 2003Google Scholar
  38. 38.
    ITU-T. CCITT Recommendation Z.120: Message Sequence Chart (MSC), 1992Google Scholar
  39. 39.
    ITU-T. ITU-T Recommendation Z.120: Message Sequence Chart (MSC), 1996Google Scholar
  40. 40.
    ITU-T. ITU-T Recommendation Z.120: Message Sequence Chart (MSC), 1999Google Scholar
  41. 41.
    D. Jackson: Software Abstractions Logic, Language, and Analysis (The MIT Press, Cambridge, MA, April 2006) Google Scholar
  42. 42.
    M.A. Jackson:Principles of Program Design (Academic Press, New York, 1969)Google Scholar
  43. 43.
    M.A. Jackson. Problems, methods and specialisation. Software Engineering Journal, 9(6):249–255, 1994 Google Scholar
  44. 44.
    M.A. Jackson: Problems and requirements (software development). In:Second IEEE International Symposium on Requirements Engineering (Cat. No. 95TH8040) (IEEE Computer Society Press, 1995), pp. 2–8Google Scholar
  45. 45.
    M.A. Jackson: Software Requirements & Specifications: A Lexicon of Practice, Principles and Prejudices (Addison-Wesley, Reading, MA, 1995) Google Scholar
  46. 46.
    M.A. Jackson. The meaning of requirements.Annals of Software Engineering, 3:5–21, 1997Google Scholar
  47. 47.
    M.A. Jackson: Problem Frames – Analyzing and Structuring Software Development Problems (Addison-Wesley, Edinburgh, 2001) Google Scholar
  48. 48.
    K. Jensen:Coloured Petri Nets, vol. 1: Basic Concepts (234 pages + xii), vol. 2: Analysis Methods (174 pages + x), vol. 3: Practical Use (265 pages + xi) of EATCS Monographs in Theoretical Computer Science (Springer, Heidelberg 1985, revised and corrected second version: 1997) Google Scholar
  49. 49.
    J. Klose, H. Wittke: An automata based interpretation of live sequence charts. In:TACAS 2001, T. Margaria, W. Yi, editors, (Springer, Berlin, 2001), pp. 512–527Google Scholar
  50. 50.
    L. Lamport. The temporal logic of actions. Transactions on Programming Languages and Systems, 16(3):872–923, 1995 Google Scholar
  51. 51.
    L. Lamport:Specifying Systems (Addison-Wesley, Boston, MA, 2002)Google Scholar
  52. 52.
    H. Langmaack, W.P. de Roever, J. Vytopil, editors: Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems, Lecture Notes in Computer Science, vol. 863 (Springer, Heidelberg, 1994) Google Scholar
  53. 53.
    E. Luschei:The Logical Systems of Lesniewski (Amsterdam, The Netherlands 1962)Google Scholar
  54. 54.
    S. Merz. On the logic of TLA+. Computing and Informatics, 22(3–4):351–379, 2003 Google Scholar
  55. 55.
    T. Mossakowski, A.E. Haxthausen, D. Sanella and A. Tarlecki. CASL – The common algebraic specification language: semantics and proof theory.Computing and Informatics, 22(3–4):285–3321, 2003Google Scholar
  56. 56.
    E.-R. Olderog: Nets, Terms and Formulas: Three Views of Concurrent Processes and Their Relationship (Cambridge University Press, Cambridge, MA, 1991, paperback 2005) Google Scholar
  57. 57.
    C.A. Petri:Kommunikation mit Automaten (Bonn: Institut für Instrumentelle Mathematik, Schriften des IIM Nr. 2, 1962)Google Scholar
  58. 58.
    R. Pucella and V. Weissman: A logic for reasoning about digital rights. In: Proceedings of the 15th IEEE Computer Security Foundations Workshop (CSFW’02) (IEEE Computer Society Press, Maui, 2002), pp. 282–294 Google Scholar
  59. 59.
    W. Reisig:Petri Nets: An Introduction, EATCS Monographs in Theoretical Computer Science, vol. 4 (Springer, Berlin, 1985) Google Scholar
  60. 60.
    W. Reisig:A Primer in Petri Net Design (Springer, Berlin, 1992)Google Scholar
  61. 61.
    W. Reisig: Elements of Distributed Algorithms: Modelling and Analysis with Petri Nets (Springer, Heidelberg, 1998) Google Scholar
  62. 62.
    W. Reisig. The expressive power of abstract state machines.Computing and Informatics, 22(3):209–219, 2003Google Scholar
  63. 63.
    J.C. Reynolds: The Semantics of Programming Languages (Cambridge University Press, Cambridge, MA, 1999) Google Scholar
  64. 64.
    J.M. Romijn, G.P. Smith, J.C. van de Pol, editors.IFM 2005: Integrated Formal Methods, Lecture Notes in Computer Science, vol. 3771, Eindhoven, The Netherlands, December 2005. Springer (Proceedings of 5th International Conference on IFM. ISBN 3-540-30492-4)Google Scholar
  65. 65.
    P. Samuelson. Digital rights management {and, or, vs.} the law. Communications of ACM, 46(4):41–45, 2003 Google Scholar
  66. 66.
    D.A. Schmidt:Denotational Semantics: A Methodology for Language Development (Allyn & Bacon, Boston, MA, 1986)Google Scholar
  67. 67.
    J.F. Sowa: Knowledge Representation: Logical, Philosophical, and Computational Foundations (Pws Pub Co, August 17, 1999) Google Scholar
  68. 68.
    J.M. Spivey:Understanding Z: A Specification Language and its Formal Semantics, Cambridge Tracts in Theoretical Computer Science, vol. 3 (Cambridge University Press, Cambridge, MA, 1988) Google Scholar
  69. 69.
    J.M. Spivey:The Z Notation: A Reference Manual, 2nd edn (Prentice Hall International Series in Computer Science, 1992)Google Scholar
  70. 70.
    J.T.J. Srzednicki, Z. Stachniak, editors: Lesniewski’s Lecture Notes in Logic (Dordrecht, Kluwer, 1988) Google Scholar
  71. 71.
    R. Tennent:The Semantics of Programming Languages (Prentice-Hall, New York, 1997)Google Scholar
  72. 72.
    F. Van der Rhee, H. Van Nauta Lemke and J. Dukman. Knowledge based fuzzy control of systems. IEEE Transactions on Automatic Control, 35(2):148–155, 1990 Google Scholar
  73. 73.
    G. Winskel:The Formal Semantics of Programming Languages (The MIT Press, Cambridge, MA, 1993)Google Scholar
  74. 74.
    J.C.P. Woodcock and J. Davies: Using Z: Specification, Proof and Refinement (Prentice Hall International Series in Computer Science, 1996) Google Scholar
  75. 75.
    P. Zave and M.A. Jackson. Four dark corners of requirements engineering.ACM Transactions on Software Engineering and Methodology, 6(1):1–30, 1997Google Scholar
  76. 76.
    C.C. Zhou and M.R. Hansen: Duration Calculus: A Formal Approach to Real–time Systems (Springer, Heidelberg, 2004) Google Scholar
  77. 77.
    C.C. Zhou, C.A.R. Hoare and A.P. Ravn. A calculus of durations.Information Processing Letters, 40(5):269–276, 1992Google Scholar

Copyright information

© Springer-Verlag London Limited 2010

Authors and Affiliations

  1. 1.HolteDenmark

Personalised recommendations