An Operational Approach to Requirements Specification for Embedded Systems

The approach to requirements specification for embedded systems described in this paper is called "operational" because a requirements specification is an executable model of the proposed system interacting with its environment. The approach is embodied by the language PAISLey, which is motivated and defined herein. Embedded systems are characterized by asynchronous parallelism, even at the requirements level; PAISLey specifications are constructed by interacting processes so that this can be represented directly. Embedded systems are also characterized by urgent performance requirements, and PAISLey offers a formal, but intuitive, treatment of performance.

[1]  Pamela Zave,et al.  A Quantitative Evaluation of the Feasibility of, and Suitable Hardware Architectures for, an Adaptive, Parallel Finite-Element System , 1983, TOMS.

[2]  Daniel H. H. Ingalls,et al.  The Smalltalk-76 programming system design and implementation , 1978, POPL.

[3]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[4]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[5]  Douglas T. Ross,et al.  Structured Analysis (SA): A Language for Communicating Ideas , 1977, IEEE Transactions on Software Engineering.

[6]  Pamela Zave,et al.  Executable requirements for embedded systems , 1981, ICSE '81.

[7]  Per Brinch Hansen,et al.  The Architecture of Concurrent Programs , 1977 .

[8]  J. R. Knight,et al.  A case study: Airlines reservations systems , 1972 .

[9]  Pamela Zave The Formal Specification of an Adaptive, Parallel Finite Element System. , 1978 .

[10]  Daniel P. Friedman,et al.  Aspects of applicative programming for file systems (Preliminary Version) , 1977, Language Design for Reliable Software.

[11]  Ernest A. Hershey,et al.  PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems , 1976, IEEE Transactions on Software Engineering.

[12]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[13]  Nick Roussopoulos CSDL: A Conceptual Schema Definition Language for the Design of Data Base Applications , 1979, IEEE Transactions on Software Engineering.

[14]  Mack W. Alford A Requirements Engineering Methodology for Real-Time Processing Requirements , 1977, IEEE Transactions on Software Engineering.

[15]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[16]  Daniel P. Friedman,et al.  Unbounded computational structures , 1978, Softw. Pract. Exp..

[17]  Stephen W. Smoliar Operational Requirements Accommodation in Distributed System Design , 1981, IEEE Transactions on Software Engineering.

[18]  Thomas E. Bell,et al.  Software requirements: Are they really a problem? , 1976, ICSE '76.

[19]  Charles R. Vick,et al.  The Software Development System , 1976, IEEE Transactions on Software Engineering.

[20]  Jack C. Wileden,et al.  Behavior Modeling During Software Design , 1978, IEEE Transactions on Software Engineering.

[21]  Brian A. Wichmann,et al.  Rationale for the design of the Ada programming language , 1979, SIGP.

[22]  Kathryn L. Heninger Specifying Software Requirements for Complex Systems: New Techniques and Their Application , 2001, IEEE Transactions on Software Engineering.

[23]  Robert Balzer,et al.  Principles of good software specification and their implications for specification languages , 1981, AFIPS '81.

[24]  Neil M. Goldman,et al.  A Relational Data Base Foundation for Process Specification , 1979, ER.

[25]  Daniel P. Friedman,et al.  An Approach to Fair Applicative Multiprogramming , 1979, Semantics of Concurrent Computation.

[26]  Douglas T. Ross,et al.  Structured Analysis for Requirements Definition , 1977, IEEE Transactions on Software Engineering.

[27]  David A. Fisher DoD's Common Programming Language Effort , 1978, Computer.

[28]  Robin Milner,et al.  Concurrent Processes and Their Syntax , 1979, JACM.

[29]  Per Brinch Hansen,et al.  Distributed processes: a concurrent programming concept , 1978, CACM.

[30]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[31]  Brian Randell,et al.  Process Structuring , 1973, CSUR.

[32]  ZavePamela,et al.  Design of an Adaptive, Parallel Finite-Element System , 1979 .

[33]  Pamela Zave,et al.  Design of an Adaptive, Parallel Finite-Element System , 1979, TOMS.

[34]  John Miles Smith,et al.  A Data Base Approach to Software Specification , 1980 .

[35]  Kenneth E. Iverson,et al.  Notation as a tool of thought , 1980, APLQ.

[36]  Daniel P. Friedman,et al.  Aspects of Applicative Programming for Parallel Processing , 1978, IEEE Transactions on Computers.

[37]  Thomas E. Bell,et al.  An Extendable Approach to Computer-Aided Software Requirements Engineering , 1976, IEEE Transactions on Software Engineering.

[38]  Daniel P. Friedman,et al.  An indeterminate constructor for applicative programming , 1980, POPL '80.

[39]  Raymond T. Yeh,et al.  Communication Port: A Language Concept for Concurrent Programming , 1980, IEEE Transactions on Software Engineering.

[40]  Meir M. Lehman,et al.  Characteristics of Large Systems , 1978 .

[41]  Pamela Zave 'Real-World' Properties in the Requirements for Embedded Systems, , 1979 .