By Topic

Software Engineering Journal

Issue 5 • Date Sep 1990

Filter Results

Displaying Results 1 - 5 of 5
  • The use of functional annotations in verifying imperative programs

    Page(s): 280 - 288
    Save to Project icon | Click to expandQuick Abstract | PDF file iconPDF (496 KB)  

    Functional programming languages have been advocated as a means for writing more reliable programs, although imperative programming languages permit more efficient execution on conventional computer hardware. The authors advocate a means of using a functional notation to annotate imperative programs and present a method for verifying that the annotated sections of code achieve the results specified in the annotation. Examples are given to show how the method is used. These demonstrate that this approach to program correctness leads to verification conditions which are briefer, but more numerous, than those which result from verifying more conventionally annotated programs. A goal of the article is to provide a technique to facilitate the activity of operational decomposition in a formal method in which refinements of specifications to implementations are made View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A mathematical perspective for software measures research

    Page(s): 246 - 254
    Save to Project icon | Click to expandQuick Abstract | PDF file iconPDF (780 KB)  

    Basic principles which necessarily underlie software measures research are analysed. In the prevailing paradigm for the validation of software measures, there is a fundamental assumption that the sets of measured documents are ordered and that measures should report these orders. The authors describe mathematically, the nature of such orders. Consideration of these orders suggests a hierarchy of software document measures, a methodology for developing new measures and a general approach to the analytical evaluation of measures. They also point out the importance of units for any type of measurement and stress the perils of equating document structure complexity and psychological complexity View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A distributed version control system for wide area networks

    Page(s): 255 - 262
    Save to Project icon | Click to expandQuick Abstract | PDF file iconPDF (628 KB)  

    A distributed revision control system (DRCS) that is suitable for use in wide area networks, is described. A selective amount of replication is used to improve performance. The system was developed as an extension to an existing revision control system (RCS). DRCS runs on various versions of the Unix system. It uses the UUCP communication protocol, but it can be easily adapted to use another communications protocol. The system has been used as a tool to control the source files for a document that is being jointly authored by two persons who are geographically separated by over 200 km. The performance of the system has been closely monitored, and the results of this monitoring will be used to provide ideas for improvements which will be incorporated into version 2 of the system View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Formal specifications and proofs of inheritance protocols for real-time scheduling

    Page(s): 263 - 279
    Save to Project icon | Click to expandQuick Abstract | PDF file iconPDF (1036 KB)  

    Priority is one means of representing scheduling information in a concurrent real-time programming language. Unfortunately, a static priority scheme can give rise to inversion when combined with synchronisation primitives. The use of semaphores for protecting access to critical regions is investigated using the formal notation Z. It is shown that the normal semantics for semaphores can lead to a high priority process being delayed indefinitely. The inclusion of inheritance into the semaphore model improves the situation, but delays can still be significant. To overcome this lack of responsiveness, Lui Sha et al., (1987), have developed a ceiling protocol that both removes the possibility of deadlock and limits (to one) the number of times a high priority process can be blocked. A formal specification of a complete and a simplified version of the ceiling protocol, together with proofs of their important properties are presented View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A graphical environment for user-interface design and development

    Page(s): 289 - 299
    Save to Project icon | Click to expandQuick Abstract | PDF file iconPDF (840 KB)  

    The design of an easy-to-use and flexible user-interface management system (UIMS) is described. The authors identify two major problems for UIMSs. The first problem is to find a way to make the UIMS easier to use without sacrificing important functionality. A design concept, behaviour abstraction, is described which allows important gains in ease-of-use, while retaining the kind of flexibility needed by user-interface designers. The second problem is to provide a user-interface design tool that allows easy and flexible runtime configuration. A traditional notation, the data-flow diagram, proves to be an appropriate organising principle for the design of the runtime connection between a user-interface module and application modules. An implementation, called the graphical specification system (GSS), provides an integrated environment for designing the user-interface component of interactive embedded system software. GSS provides two tools; an application display generator (ADG) for designing screen objects and a data-flow editor (DFE) for specifying runtime connections. GSS demonstrates the smooth integration of a drawing environment for display design and a data-flow editor for runtime specification. The results provide a platform for future work in extending the behaviour abstraction concept and for building in usability engineering tools View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.