scispace - formally typeset

Journal ArticleDOI

Evolution towards specifications environment: experiences with syntax editors

01 Apr 1990-Information & Software Technology (Butterworth-Heinemann)-Vol. 32, Iss: 3, pp 191-198

TL;DR: Two current projects that extend the syntax-editing paradigm to the specifications and design phases of the software life-cycle are described.

AbstractLanguage-based editors have been thoroughly studied over the last 10 years and have been found to be less effective than originally thought. The paper reviews some relevant aspects of such editors, describes experiences with one such editor (Support), and then describes two current projects that extend the syntax-editing paradigm to the specifications and design phases of the software life-cycle.

...read more

Content maybe subject to copyright    Report

Citations
More filters

01 Jun 1992
TL;DR: Guidelines for an organized, disciplined approach to software development that is based on studies conducted by the Software Engineering Laboratory (SEL) since 1976 are presented.
Abstract: Guidelines for an organized, disciplined approach to software development that is based on studies conducted by the Software Engineering Laboratory (SEL) since 1976 are presented. It describes methods and practices for each phase of a software development life cycle that starts with requirements definition and ends with acceptance testing. For each defined life cycle phase, guidelines for the development process and its management, and for the products produced and their reviews are presented.

40 citations


01 Sep 1992
TL;DR: The SME provides an integrated set of experience-based management tools that can assist software development managers in managing and planning flight dynamics software development projects.
Abstract: This document presents the concepts and architecture of the Software Management Environment (SME), developed for the Software Engineering Branch of the Flight Dynamic Division (FDD) of GSFC. The SME provides an integrated set of experience-based management tools that can assist software development managers in managing and planning flight dynamics software development projects. This document provides a high-level description of the types of information required to implement such an automated management tool.

31 citations


Journal ArticleDOI
TL;DR: A model whose verification conditions depend only on elementary symbolic execution of a trace table is presented, and the techniques can be applied informally to determine the functionality of complex interactions.
Abstract: A model whose verification conditions depend only on elementary symbolic execution of a trace table is presented. The method is applied to rather simple programs. However, even in large complex implementations, the techniques can be applied informally to determine the functionality of complex interactions. The technique is easy to learn (it is used in a freshman computer science course) and lends itself to automation. >

10 citations


Journal ArticleDOI
TL;DR: It is concluded that studies comparing extreme programming approaches with conventional CASE tool approaches are needed to help determine if the struggle to understand the constraint environment at a high level of abstraction is worthwhile or not, and that every subject-based experiment should consider and understand the performance of individuals.
Abstract: This paper reports the results of an experiment undertaken for the CADPRO (Constraints And the Decision PROject) project. Subjects with varied experience produced data flow diagrams (DFDs) using a DFD tool generated by CASEMaker, a meta-CASE tool. Half the subjects received routine notice of instances of internal (as opposed to hierarchical) methodological constraint violations via an unobtrusive window whilst the other half did not. The DFD tool automatically recorded subjects' delivery and constraint profiles. Video records, observer notes, and subject debriefings were also used to yield other performance data. While evidence was found in support of the research model underpinning the CADPRO project, the model needs to be revised to take into account the affects of human-computer interface constraints and the different speeds with which people work. We learnt an important lesson about subject randomisation, which is not to assume that all subjects can be treated alike if they share the minimum necessary experience thought required of the problem. We believe it is important for every subject-based experiment to consider and understand the performance of individuals. Because of the complexity of constraint environments in CASE tools we also conclude that studies comparing extreme programming approaches with conventional CASE tool approaches are needed to help determine if the struggle to understand the constraint environment at a high level of abstraction is worthwhile or not. Further experiments, possibly replication variants of this one, are needed to help validate our interpretations.

7 citations


Cites background from "Evolution towards specifications en..."

  • ...…must, however, reflect on the user acceptance problems syntax-directed editors had because of the restrictions they imposed on program development (Zelkowitz, 1990; Khawaja and Urban, 1993): the constraint environments of any program editors used must be an integral part of any experimental…...

    [...]

  • ...Any comparison work must, however, reflect on the user acceptance problems syntax-directed editors had because of the restrictions they imposed on program development (Zelkowitz, 1990; Khawaja and Urban, 1993): the constraint environments of any program editors used must be an integral part of any experimental designs....

    [...]


Proceedings ArticleDOI
01 May 1991
TL;DR: The authors report on research experience using the Gandalf environment generation system as a prototyping vehicle for the Inscape environment, which included experimentation, incremental evolution, multiple views, the coupling of semantic and editing actions, and the use of domain-specific facilities.
Abstract: The authors report on research experience using the Gandalf environment generation system as a prototyping vehicle for the Inscape environment. A Gandalf-based environment consists of four parts: a structure editor kernel, which is simply linked into each executable, a set of grammar tables describing the language to the kernel in terms of its abstract syntax, one or more concrete syntax views, and a collection of action routines written in the extension language, ARL. Positive aspects of the research included experimentation, incremental evolution, multiple views, the coupling of semantic and editing actions, and the use of domain-specific facilities. Negative aspects consisted primarily of problems with presentation and object management. >

2 citations


Cites background from "Evolution towards specifications en..."

  • ...It is not about experience with a syntax editor; Zelkowitz [3] treats this area, discussing a similar (specificationbased environment) application....

    [...]

  • ...It is not about experience with a syntax edito~ Zelkowitz [3] treats this area, discussing a similar (specification­based environment) application....

    [...]


References
More filters

Book ChapterDOI
01 Jan 1983
Abstract: An algorithm is described which is capable of solving certain word problems: i.e. of deciding whether or not two words composed of variables and operators can be proved equal as a consequence of a given set of identities satisfied by the operators. Although the general word problem is well known to be unsolvable, this algorithm provides results in many interesting cases. For example in elementary group theory if we are given the binary operator ·, the unary operator −, and the nullary operator e, the algorithm is capable of deducing from the three identities a · (b · c) = (a · b) · c, a · a − = e, a · e = a, the laws a − · a = e, e · a = a, a − − = a, etc.; and furthermore it can show that a · b = b · a − is not a consequence of the given axioms.

1,674 citations


Journal ArticleDOI
TL;DR: The Cornell Program Synthesizer demands a structural perspective at all stages of program development and its separate features are unified by a common foundation: a grammar for the programming language.
Abstract: Programs are not text; they are hierarchical compositions of computational structures and should be edited, executed, and debugged in an environment that consistently acknowledges and reinforces this viewpoint. The Cornell Program Synthesizer demands a structural perspective at all stages of program development. Its separate features are unified by a common foundation: a grammar for the programming language. Its full-screen derivation-tree editor and syntax-directed diagnostic interpreter combine to make the Synthesizer a powerful and responsive interactive programming tool.

703 citations


Journal ArticleDOI
TL;DR: Gandalf environments integrate programming and system development, permitting interactions not available in traditional environments, and the structure and function of several existing environments are covered.
Abstract: Different programming projects require different environments, but handcrafting a separate environment for each project is not economically feasible. Gandalf solves this problem by permitting environment designers to generate families of software development environments semiautomatically without excessive cost. Environments generated using Gandalf address programming environments, which help ease the programming process, as well as system development environments, which reduce the degree to which a software project is dependent on the good will of its members. Gandalf environments integrate programming and system development, permitting interactions not available in traditional environments. The paper covers the basic characteristics of Gandalf environments. The method used to generate these environments, the structure and function of several existing environments, and ongoing research on the project.

331 citations


Additional excerpts

  • ...(7) headCeons(X, r)) == X,. (8) operation count : sequence -~ integer is axiom ( 9 ) count(epsilon) -~- O; (lo) count( ons(X, Y)) == I +count(r); (11) end;...

    [...]


Proceedings ArticleDOI
16 May 1972
TL;DR: The 'feel' of an interactive system can be compared to the impressions generated by a piece of music, which will seem, after a few listenings, to be so natural the observer wonders why it was never done before.
Abstract: The 'feel' of an interactive system can be compared to the impressions generated by a piece of music. Both can only be experienced over a period of time. With either, the user must abstract the structure of the system from a sequence of details. Each may have a quality of 'naturalness' because successive actions follow a logically self-consistent pattern. Finally, a good composer can write a new pattern which will seem, after a few listenings, to be so natural the observer wonders why it was never done before.

221 citations


Journal ArticleDOI
TL;DR: Issues relevant to the transition of promising technologies and projects to be undertaken by the Software Engineering Institute to address those issues are discussed.
Abstract: : The growing demand for reliable large-scale software systems cannot be met without advances in software development environments. Although promising technologies are emerging, a number of issues must be addressed to ensure the timely transition of those technologies to practice. This paper discusses issues relevant to the transition of such technologies and projects to be undertaken by the Software Engineering Institute to address those issues. The SEI'S primary mission is the transition of modern software engineering methods to practice. Software engineering environments represent a good means to support that end. They provide the means both to integrate tools and to provide a uniform conceptual framework for the user. While from one point of view an environment can enforce uniform practices, it also provides the means to maintain the rich information base that most likely will be required to support reusability of requirements and designs. The SEI's role with respect to environments is not to build a specific environment, but to help explore the validity of new concepts by building prototypes, to stimulate the research community to attack critical problems, and to refine the requirements for the next generation of large-scale environments.

164 citations