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.
Similar content being viewed by others
References
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
Milner R. Communication and concurrency. Prentice-Hall, Englewood Cliffs, NJ, 1989
Jackson M. Software requirements and specifications. Addison-Wesley, Reading, MA, 1995
Loucopoulos P and Potts C. Editorial. Req Eng J 1996; 1(1): 1–3
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
Hayes I. Specifying the CICS application programmer's interface. Technical Monograph PRG-47. Programming Research Group Oxford University Computing Laboratory, Oxford, 1985
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
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
Dardenne A, van Lamsweerde A, Fickas S. Goal-directed requirements acquisition. Sci Comput Programming 1993; 20: 3–50
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
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
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
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
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
Keane JA. An overview of the Flagship system. J Func Programming 1994; 4(1): 19–45
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
Istavrinos P. Specification of the Process Control Language (PCL). EDS Project Document EDS.DD.1S.0007, International Computers Limited, Manchester, UK, 1989
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
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
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
Jones CB. Systematic software development using VDM. Prentice-Hall, Englewood Cliffs, NJ, 1986
Spivey JM. The Z notation: a reference manual. Prentice-Hall, Englewood Cliffs, NJ, 1989
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
Hussak W. Temporal analysis of a microkernel, Software Eng J 1995; 10(1): 21–26
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
Hussak W. On CCS with parametric relabelling. Formal Aspects Comput 1996; 8(2): 238–244
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
Wechler W. Universal algebra for computer scientists. Springer-Verlag, Berlin, 1992
Davis M. Computability and unsolvability. McGraw-Hill, New York, 1958
Cohn PM. Universal algebra. Reidel, Dordrecht, Holland, 1981
Rozier M, Abrossimov V, Armand F et al. Chorus distributed operating system. Technical Report. Chorus Systems, France, 1988
Accetta M, Baron R, Bolosky W et al. Mach: a new kernel foundation for Unix development. In: Proceedings of the Summer Usenix Conference, 1986
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
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
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
deBruin A, Böhm APW. The denotational semantics of dynamic networks of processes. ACM Trans Programming Lang Syst 1985; 7(4): 656–679
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
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF01587100