Skip to main content

Expressing requirements on a parallel system formally

  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

We examine the nature of requirements on parallel total systems and the problem of documenting those requirements formally. The choice of the formal description method to be used should take into account the nature of the system to be developed and the benefits that method will bring to the provision of requirements in that particular project.

We present our discussion through a case study of a formal description of an industrial-scale parallel system. Various project criteria for the formal documentation of requirements yield a method of formal description where the semantics of the language representing the system is given by first specifying the semantics of a quotient language and then extending to the original language by equational reasoning. We formulate the general method and indicate which types of project might adopt a similar approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Borrmann L, Hutner F, Leunig SR et al. The EDS commercial parallel processing system. In: Keane, JA (Ed.). Parallel information processing. Stanley Thornes, 1996. pp 81–101

  2. Milner R. Communication and concurrency. Prentice-Hall, Englewood Cliffs, NJ, 1989

    Google Scholar 

  3. Jackson M. Software requirements and specifications. Addison-Wesley, Reading, MA, 1995

    Google Scholar 

  4. Loucopoulos P and Potts C. Editorial. Req Eng J 1996; 1(1): 1–3

    Google Scholar 

  5. Moffet J, Hall J, Coombes A and McDermid J. A model for a causal logic for requirements engineering. Req Eng J 1996; 1(1): 27–46

    Google Scholar 

  6. Hayes I. Specifying the CICS application programmer's interface. Technical Monograph PRG-47. Programming Research Group Oxford University Computing Laboratory, Oxford, 1985

    Google Scholar 

  7. Goguen JA, Thatcher JW and Wagner EG. An initial algebra approach to the specification correctness and implementation of abstract datatypes. In: Yeh RT (ed.). Current trends in programming methodology IV. Prentice-Hall, Englewood Cliffs, NJ, Englewood Cliffs, NJ, 1978, pp 68–95

    Google Scholar 

  8. Mylopoulos J, Chung L, Nixon B. Representing and using non-functional requirements: a process-oriented approach. IEEE Trans Software Eng 1992; SE-18(6): 483–497

    Google Scholar 

  9. Dardenne A, van Lamsweerde A, Fickas S. Goal-directed requirements acquisition. Sci Comput Programming 1993; 20: 3–50

    Google Scholar 

  10. Nixon B. Dealing with performance requriements during the development of information systems. Proceedings of the IEEE symposium on requirements engineering — RE '93. IEEE Press, Washington, DC, 1993, pp 42–49

    Google Scholar 

  11. McDermid J. Requirements analysis: orthodoxy fundamentalism and heresy. In: Jirotka M, Goguen JA (eds). Requirements engineering: social and technical issues. Academic Press, New York, 1994, pp 17–40

    Google Scholar 

  12. Chung L, Nixon B, Yu E. Using non-functional requirements to systematically support change. Proceedings of the 2nd IEEE Symposium on Requirements Engineering—RE '95. IEEE Press, 1995, Washington, DC, pp 132–139

    Google Scholar 

  13. van Lamsweerde A, Darimont R, Massonet P. Goal-directed elaboration of requirements for a meeting scheduler. Proceedings of the 2nd IEEE symposium on requirements engineering — RE '95. IEEE Press, Washington, DC, 1995, pp 132–139

    Google Scholar 

  14. Keane JA, Franklin T, N Grant AJ et al. Commercial users' requirements on parallel systems. In: Makedon F et al. (eds). 2nd Annual DAGS Parallel Computation Symposium, New Hampshire, USA, 1993, pp 15–25

  15. Keane JA. An overview of the Flagship system. J Func Programming 1994; 4(1): 19–45

    Google Scholar 

  16. Watson P, Catlow G. The architecture of the ICL GOLDRUSH MegaSERVER. In: Goble CA, Keane JA. (eds). Advances in databases: lecture notes in computer science 940. Springer-Verlag, Berlin, 1995, pp 249–262

    Google Scholar 

  17. Istavrinos P. Specification of the Process Control Language (PCL). EDS Project Document EDS.DD.1S.0007, International Computers Limited, Manchester, UK, 1989

    Google Scholar 

  18. Hussak W, Keane JA. Representation of coherency classes for parallel systems. Proceedings of the 5th IEEE symposium on parallel and distributed processing. IEEE Press, Washington, DC, 1993, pp 391–398

    Google Scholar 

  19. Istavrinos P, Borrmann L. A process and memory model for a parallel distributed-memory machine. In: CONPAR 90: lecture notes in computer science 457. Springer-Verlag, Berlin, 1990, pp 479–488

    Google Scholar 

  20. Boddy G. The use of VDM within the Alvey Flagship project. In: VDM '88 — the way ahead. Lecture Notes in Computer Science 328. Springer-Verlag, Berlin, 1988, 153–166

    Google Scholar 

  21. Jones CB. Systematic software development using VDM. Prentice-Hall, Englewood Cliffs, NJ, 1986

    Google Scholar 

  22. Spivey JM. The Z notation: a reference manual. Prentice-Hall, Englewood Cliffs, NJ, 1989

    Google Scholar 

  23. Goldsack SJ. Specification of an operating system kernel: Forest and VDM compared. In: VDM '88 — the way ahead. Lecture Notes in Computer Science 328. Springer-Verlag, Berlin, 1988, 88–100

    Google Scholar 

  24. Hussak W. Temporal analysis of a microkernel, Software Eng J 1995; 10(1): 21–26

    Google Scholar 

  25. America P, de Bakker J. Designing equivalent semantic models for process creation. In: Zilli MV (ed.). Proceedings of the advanced school on mathematical models for the semantics of parallelism. Lecture notes in computer science 280. Springer-Verlag, Berlin, 1986, pp 21–80

    Google Scholar 

  26. Hussak W. On CCS with parametric relabelling. Formal Aspects Comput 1996; 8(2): 238–244

    Google Scholar 

  27. Hussak W, Keane JA. Case study: formal description of a parallel operating system kernel. Internal Report No. 860, Department of Computer Studies, Loughborough University, November 1993

  28. Wechler W. Universal algebra for computer scientists. Springer-Verlag, Berlin, 1992

    Google Scholar 

  29. Davis M. Computability and unsolvability. McGraw-Hill, New York, 1958

    Google Scholar 

  30. Cohn PM. Universal algebra. Reidel, Dordrecht, Holland, 1981

    Google Scholar 

  31. Rozier M, Abrossimov V, Armand F et al. Chorus distributed operating system. Technical Report. Chorus Systems, France, 1988

    Google Scholar 

  32. Accetta M, Baron R, Bolosky W et al. Mach: a new kernel foundation for Unix development. In: Proceedings of the Summer Usenix Conference, 1986

  33. Campbell RH, Islam N. CHOICES: a parallel object-oriented operating system. In: Agha G et al. (eds). Research directions in concurrent object-oriented programming. MIT Press, Cambridge, MA, 1993, pp 393–451

    Google Scholar 

  34. Horwat W, Tottu B, Dally WJ. COSMOS: an operating system for a fine-grained concurrent computer. In: Agha G et al. (eds). Research directions in concurrent object-oriented programming. MIT Press, Cambridge, MA, 1993, pp 451–476

    Google Scholar 

  35. Agha G. Semantic considerations in the actor paradigm of concurrent computations. In: Lecture notes in computer science 197. Springer-Verlag, Berlin, 1984, pp 151–179

    Google Scholar 

  36. deBruin A, Böhm APW. The denotational semantics of dynamic networks of processes. ACM Trans Programming Lang Syst 1985; 7(4): 656–679

    Google Scholar 

  37. Saraswat VA. The concurrent logic programming language CP: definition and operational semantics. 14th Annual ACM Symposium on Principles of Programming Languages, Munich, Germany, 1987, 49–62

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hussak, W., Keane, J.A. Expressing requirements on a parallel system formally. Requirements Eng 1, 199–209 (1996). https://doi.org/10.1007/BF01587100

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01587100

Keywords