16 research outputs found

    Requirements Engineering und Requirements Management

    No full text

    A Note on Similarity of Specifications and Reusability of Transformational Developments

    No full text
    This paper explores the possibilities of reuse of transformational developments. Although it has often been claimed that this could be done fully mechanically, the experience with a number of derivations in this chapter indicates that this claim is somewhat preposterous. Only by describing the transformation steps in a very abstract way (using just natural language) and by considering very general specifications, can the developments be reused. The central concept is similarity, and several definitions of this informal notion are given, each leading to a particular kind of reuse of derivations. Variants of a derivation of linear search lead to several interesting search algorithms, culminating in derivations by reuse of two complicated string matching algorithms

    Transformational derivation of (parallel) programs using skeletons

    No full text
    We describe a framework for the derivation of programs for arbitrary (in particular, parallel) architectures, motivated by a generalization of the derivation process for sequential algorithms. The central concept in this approach is that of a skeleton: on the one hand, a higher-order function for targeting transformational derivations at, on the other hand representing an elementary computation on the architecture aimed at. Skeletons thus form a basis for intermediate languages, that can be implemented once and for all, as a process separate from individual program developments. The available knowledge on the derivation of (higher-order) functional programs can be used for deriving parallel ones. In: H. Wijshoff, ed.: Computing Science in the Netherlands 1993, pp. 97-108. Copies on email request or (probably easiest) by clicking ftp://ftp.win.tue.nl/pub/math.prog.construction/skel.ps.Z

    How to produce correct software -- an introduction to formal specification and program development by transformations

    No full text
    The task of software production is to build software systems which are to fulfil certain requirements. For years the approach has been to build up by trial and error a program which, having satisfied carefully prepared test data, offers a plausible solution to the problem. But is it correct? Even for toy examples this is not obvious. In particular, it is often not even clear whether the original problem has been fully understood. The reason for this dilemma is that the transition from the informal problem statement to the final program is too big to be intellectually managable. To master these problems, we advocate a software development method where the whole process is split into smaller steps by introducing formal specifications for (parts of) the problem and then stepwisely deriving efficient programs by correctness-preserving transformations

    USTOPIA Requirements -- Thoughts on a User-friendly System for Transformation Of Programs In Abstracto

    No full text
    E.A. Boiten , http://adam.fwi.uva.nl/~markvdb/ , http://www.sci.kun.nl/cgi-bin-thalia/smoelfind?medewerkers/niekd.html , http://www.sci.kun.nl/cgi-bin-thalia/smoelfind?medewerkers/kees.html , http://www.informatik.uni-ulm.de/pm/mitarbeiter/helmuth.html & http://www.fernuni-hagen.de/DVT/Mitarbeiter/voelker.html : USTOPIA Requirements - Thoughts on a User-friendly System for Transformation Of Programs In Abstracto Transformational programming is a program development method which is usually applied using ''pen and paper''. Since this requires a lot of clerical work (copying expressions, consistent substitution) which is tiresome and prone to error, some form of machine support is desirable. We describe a number of systems that have already been built to this aim. Some of their shortcomings and limitations are identified. Based on our experience with program transformation and transformation systems, we present a long list of features that would be useful in an ''utopian'' transformation system. This list is presented using an orthogonal division of the problem area. A number of problems with the realisation of some aspects of our ''utopian'' system is identified, and some areas for further research are indicated. Technical Report 90-12, Dept. of Informatics, University of Nijmegen, 1990. Also: Periodica Polytechnica Ser. El. Eng., 35(2):101-123, 1992. Copies available on request by mailto:[email protected]
    corecore