| D. Parnas. A generalized control structure and its formal definition. Communications of the ACM, 26:572--581, 1983. |
.... a Formal Semantics of Tabular Expressions Ryszard Janicki Department of Computer Science and Systems McMaster University Hamilton, Ontario, Canada L8S 4K1 janicki mcmaster.ca Abstract In [15, 22, 25, 26] Parnas et al. advocate the use of relational model for documenting the intended behaviour of programs. In this method, tabular expressions (or tables) are used to improve readability so that formal documentation can replace conventional documentation. Parnas [23] describes several classes of ....
....while writing or reading a design document. It turns out that using tables helps to make mathematics more practical for computing systems applications [15] The key ideas of a tabular notation, one of the cornerstones of the relational model for documenting the intended behaviour of programs [15, 22, 25, 26], were first developed in work for the U.S. Navy and applied to the A 7E aircraft [10, 9, 4, 28] The ideas were picked up by Grumman, the U.S. Air Force, Bell Laboratories and many others. Recently the tabular notations have been applied by Ontario Hydro in Darlington Nuclear Plant [3, 20, 21] ....
D. L. Parnas, A Generalized Control Structure and Its Formal Definition, Communications of the ACM, 26, 8 (1983), 572-581.
....states for which the specification allows restricted behaviour, we refer to this set of states as the domain of interest of the specification. We write Delta(R) to denote the domain of interest of the specification R. The domain of interest corresponds roughly to Parnas s limited domain [26]. 4 SPECIFICATIONS 20 Definition 4.18 The domain of interest of a total specification R is the set Delta(R) f i 2 Sigma t j Ri 6= Sigma g : If the specification is not total, the domain of interest is well defined, but less interesting . There will be some elements i 2 Delta(R) for which ....
....satisfying R . In our notation, this is equivalent to [ P j R ] S: The idea that specifications and programs should be merged in a single formalism emerged early in the eighties [1, 11, 13] The related idea, using a relation to express a specification, has been used by Sanderson [27] Parnas [26], and Mili [17, 20, 19, 18] Our standard form for specifications has the same motivation as Parnas s limited domain relations [26] In later work [14] Hoare and others introduced a collection of laws of programming . The approached emphasized the importance of simple and general laws over ....
[Article contains additional citation context not shown here]
David L. Parnas. A generalized control structure and its formal definition. Comm. ACM, 26(8):572--581, August 1983.
.... int [ base; int [ pattern; int find pos ( int p = 0, s = 0; while (true) if (p = pattern.length) return s; else if (s p = base.length) return 1; else if (base[s p] pattern[p] p ; else s ; p = 0; This algorithm is based on a pattern match algorithm described in [25]. The it ti construction proposed there is programmed in Java as a while loop, with a condition which always evaluates to true. The loop is exited using one of two return statements. Explicit continues, as used in [25] are not necessary, because the loop body only consists of one if statement. In ....
....p = 0; This algorithm is based on a pattern match algorithm described in [25] The it ti construction proposed there is programmed in Java as a while loop, with a condition which always evaluates to true. The loop is exited using one of two return statements. Explicit continues, as used in [25], are not necessary, because the loop body only consists of one if statement. In [21, Chapter 5] a comparable algorithm is presented which searches the position of an element in a 2 dimensional array via two (nested) while loops. If the element is found, an exception is thrown, which is caught ....
D. Parnas. A generalized control structure and its formal denition. Communications of the ACM, 26(8):572-581, 1983.
....2 R if and only if there exists a nonterminating computation under the control of p originating from s. In addition, the fictitious state is related only to himself. By contrast, Hoare et al. represent a nonterminating initial state by relating it to all states. The works of Jones [47] and Parnas [77] are very close to the relational predicative approach. A specification is a pair consisting of a relation (or a predicate with primed and unprimed variables) and a termination set (or a predicate with unprimed variables only) The relation indicates the set of initial final state pairs. The ....
Parnas, D.L.: A Generalized Control Structure and Its Formal Definition. Communications of the ACM 26(8) (1983) 572--581.
.... int [ base; int [ pattern; int findpos ( int p = 0, s = 0; while (true) if (p = pattern.length) return s; else if (s p = base.length) return 1; else if (base[s p] pattern[p] p ; else s ; p = 0; This algorithm is based on a pattern match algorithm described in [Par83] The it ti construction proposed there is programmed in Java as a while loop, with a condition which always evaluates to true. The loop is exited using one of two return statements. Explicit continues, as used in [Par83] are not necessary, because the loop body only consists of one if ....
....p = 0; This algorithm is based on a pattern match algorithm described in [Par83] The it ti construction proposed there is programmed in Java as a while loop, with a condition which always evaluates to true. The loop is exited using one of two return statements. Explicit continues, as used in [Par83] are not necessary, because the loop body only consists of one if statement. In [Lei95, Chapter 5] a comparable algorithm is presented which searches the position of an element in a 2 dimensional array via two (nested) while loops. If the element is found, an exception is thrown, which is caught ....
D. Parnas. A generalized control structure and its formal definition. Communications of the ACM, 26(8):572--581, 1983.
.... a Formal Semantics of Tabular Expressions Ryszard Janicki Ridha Khedri Department of Computing and Software McMaster University Hamilton, Ontario, Canada L8S 4K1 fjanicki,khedrig mcmaster.ca Abstract In [24, 35, 38, 39] Parnas et al. advocate the use of relational model for documenting the intended behaviour of programs. In this method, tabular expressions (or tables) are used to improve readability so that formal documentation can replace conventional documentation. Parnas [36] describes several classes of ....
....table (input vector type) The multi dimensional tabular notation makes it easier to consider every case separately while writing or reading a design document. The key ideas of a tabular notation, one of the cornerstones of the relational model for documenting the intended behaviour of programs [24, 35, 38, 39], were rst developed in work for the U.S. Navy and applied to the A 7E aircraft [9, 15, 16, 42] The ideas were picked up by Grumman, the U.S. Air Force, Bell Laboratories and many others. Recently the tabular notations have been applied by Ontario Hydro in Darlington Nuclear Plant [4, 33, 34] ....
D. L. Parnas, A Generalized Control Structure and Its Formal Denition, Communications of the ACM, 26, 8 (1983), 572-581.
.... Expressions and Their Relational Semantics Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada L8S 4K1 janicki mcmaster.ca Abstract Tabular expressions (Parnas et al. [17, 23, 25, 26]) are means to represent the complex relations that are used to specify or document software systems. A formal model and a semantics for tabular expressions are presented. The model covers all known types of tables used in Software Engineering. 1 Introduction In the classical engineering elds, ....
....of all the R i s. In principle, tabular expressions are generalization of plain two dimentional tables that are known from the beginnings of civilization. The key ideas of a tabular notation, one of the cornerstones of the relational model for documenting the intended behaviour of programs [17, 23, 25, 26], were rst developed in work for the U.S. Navy and applied to the A 7E aircraft [11, 10, 4, 29] The ideas were picked up by Grumman, the U.S. Air Force, Bell Laboratories and many others. Recently the tabular notations have been applied by Ontario Hydro in Darlington Nuclear Plant [3, 21, 22] ....
D. L. Parnas, A Generalized Control Structure and Its Formal Denition, Communications of the ACM, 26, 8 (1983), 572-581.
.... a Formal Semantics of Tabular Expressions Ryszard Janicki Department of Computer Science and Systems McMaster University Hamilton, Ontario, Canada L8S 4K1 janicki mcmaster.ca Abstract In [15, 22, 25, 26] Parnas et al. advocate the use of relational model for documenting the intended behaviour of programs. In this method, tabular expressions (or tables) are used to improve readability so that formal documentation can replace conventional documentation. Parnas [23] describes several classes of ....
....while writing or reading a design document. It turns out that using tables helps to make mathematics more practical for computing systems applications [15] The key ideas of a tabular notation, one of the cornerstones of the relational model for documenting the intended behaviour of programs [15, 22, 25, 26], were first developed in work for the U.S. Navy and applied to the A 7E aircraft [10, 9, 4, 28] The ideas were picked up by Grumman, the U.S. Air Force, Bell Laboratories and many others. Recently the tabular notations have been applied by Ontario Hydro in Darlington Nuclear Plant [3, 20, 21] ....
D. L. Parnas, A Generalized Control Structure and Its Formal Definition, Communications of the ACM, 26, 8 (1983), 572-581.
....and decision (see Section 5.2.7) The algorithms are presented using a guarded command style pseudo code that is described briefly below. B. 1 Pseudo Code The pseudo code used in this appendix consists of some simple control constructs that allow the user to write well structured programs [16]. The notation is similar to Dijkstra s guarded commands [2, 3] and is intended to be used as a planning language. Explanation of the pseudo code constructs are given in Table 57. Boolean expressions are denoted using standard propositional logic operators. TABLE 57 Pseudo Code Symbols ....
D.L. Parnas, "A Generalized Control Structure and its Formal Definition", Communications of the ACM, Vol. 26, No. 8, August 1983, pp. 572--581.
....displays; each containing (1) the specification for that program, 2) the program text, and (3) the specifications for all of the other programs invoked within that program. The specifications summarise program behaviour using a straightforward generalisation of Harlan Mills program function [8, 13]. Tabular mathematical expressions, 11, 5] are used to make the representation of these functions easier to read. Each display is complete in the sense that it can be understood and verified without looking at any other displays. The set of displays is complete if every specification that ....
....explicitly rather than implicitly by backward arrows, Boxes that represent a program contain precise summaries of that program s behaviour, Like displays, each blueprint can be checked without referring to other blueprints. Blueprints are based on the control constructs of a pseudo code [13,14] based on Dijkstra s guarded commands [4] The control constructs are both simple and general. Using them, one can describe all well structured algorithms. The diagramming conventions are based on the observation that there are only 4 ways to combine sequential program components to get larger ....
Parnas D.L. "A Generalized Control Structure and Its Formal Definition" Communications of the ACM, Vol. 26, No. 8, pp. 572-581, August 1983
....do not change. We have shown that aliases can improve the readability of formal software documentation presented in tabular notation. The Alias Table Tool and the Code Generator can work together as a part of many tools, for example test oracle . Given a relational program specification [8] A test oracle is some mechanism that can determine if the output from a program is correct. 56 using tabular expressions [4] and an input, output pair from the program under test, the Alias Table Tool first evaluates and replaces the aliases in tabular expressions based on the pair and the ....
D. L.Parnas, "A Generalized Control Structure and Its Formal Definition", Communications of the ACM, vol. 26, No. 8 (August 1983), pp. 572-581.
....and decision (see Section 5.2.7) The algorithms are presented using a guarded command style pseudo code that is described briefly below. B. 1 Pseudo Code The pseudo code used in this appendix consists of some simple control constructs that allow the user to write well structured programs [16]. The notation is similar to Dijkstra s guarded commands [2, 3] and is intended to be used as a planning language. Explanation of the pseudo code constructs are given in Table 57. Boolean expressions are denoted using standard propositional logic operators. TABLE 57 Pseudo Code Symbols ....
D.L. Parnas, "A Generalized Control Structure and its Formal Definition", Communications of the ACM, Vol. 26, No. 8, August 1983, pp. 572--581.
.... want to know only: 1) is termination possible, i.e. are there finite executions beginning in s (2) is termination guaranteed, i.e. are all executions that begin in s finite (3) if termination is possible, what are the possible final states This information can be described by an LD relation [8,11]. An LD relation comprises a relation and a subset of the domain of that relation, called the competence set. In a description of a program, the set of starting states for which termination is guaranteed is the competence set. The set of starting states for which termination is possible is the ....
D.L. Parnas, "A Generalized Control Structure and Its Formal Definition", Communications of the ACM, Vol. 26, No. 8, August 1983, pp. 572-581
....condition is not satisfied, the mapping is called a (binary) relation 2 . In certain applications, it is useful to combine a relation with an additional set, a subset of the relation s domain, known as the competence set, to form what we call a limited domain relation (in short: LD relation) [27, 43, 44]. We use the term functional to denote approaches based on any of these concepts. The conventions below will be used inn the sequel. Let R be a (binary) relation, then: 1) R denotes the set of ordered pairs that constitutes the relation, 2) domain(R) denotes the set of values that appear ....
.... only: 1) is termination possible, i.e. are there finite executions beginning in s (2) is termination guaranteed, i.e. are all executions that begin in s finite (3) if termination is possible, what are the possible final states All of this information can be described by an LD relation ([27, 43, 44]) An LD relation comprises a relation and a subset of the domain of that relation, called the competence set. In a description of a program, the set of starting states for which termination is guaranteed is the competence set. The set of starting states for which termination is possible is the ....
D.L. Parnas, "A Generalized Control Structure and Its Formal Definition", Communications of the ACM, Vol. 26, No. 8, August 1983, pp. 572-581.
....the state in which the program terminated. 2.2 Relational Specification The set of acceptable execution summaries for a program is a binary relation. An LD relation, L, is a pair hRL ; CL i where RL is a binary relation and CL is a subset of the domain of RL , which we call the competence set. [21], 24] 27] The domain, DL , and characteristic predicate of L are the domain and characteristic predicate of RL . An LD relation, L, can be used to specify a program by letting RL be the complete set of acceptable execution summaries, and CL be the set of starting states for which all ....
D.L. Parnas, "A Generalized Control Structure and Its Formal Definition", Comm. ACM, vol. 26, no. 8, pp. 572--581, Aug. 1983.
....do not change. We have shown that aliases can improve the readability of formal software documentation presented in tabular notation. The Alias Table Tool and the Code Generator can work together as a part of many tools, for example test oracle 1 . Given a relational program specification [8] 1 A test oracle is some mechanism that can determine if the output from a program is correct. 5. Results and Conclusions 57 using tabular expressions [4] and an input, output pair from the program under test, the Alias Table Tool first evaluates and replaces the aliases in tabular expressions ....
D. L.Parnas, "A Generalized Control Structure and Its Formal Definition", Communications of the ACM, vol. 26, No. 8 (August 1983), pp. 572-581.
....if the program is formally documented it is possible to use the specification to determine the success or failure of a test execution, as in [1] for example. This thesis discusses the development of a prototype tool that automatically generates a test oracle from formal program documentation. In [25], 27] and [28] Parnas et al. advocate the use of a relational model for documenting the intended behaviour of programs. In this method, tabular expressions are used to improve readability so that formal documentation can replace conventional documentation. Relations are described by giving their ....
....their intentions to the programmers. Generating an oracle from this documentation allows us to ensure that the documentation and program are consistent. The purpose of this work is to develop a prototype automated Test Oracle Generator (TOG) tool that, given a relational program specification [25] using tabular expres 3 sions [29] will produce a program that will act as an oracle. This oracle program will take as input an input, output pair from the program under test and will return true if the pair satisfies the relation described by the specification, or false if it does not. 1.2 ....
[Article contains additional citation context not shown here]
Parnas, D. L., "A Generalized Control Structure and Its Formal Definition", Communications of the ACM, Vol. 26, No. 8 (August 1983), pp. 572-581.
No context found.
D. Parnas. A generalized control structure and its formal definition. Communications of the ACM, 26:572--581, 1983.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC