9 research outputs found
A methodology for producing reliable software, volume 1
An investigation into the areas having an impact on producing reliable software including automated verification tools, software modeling, testing techniques, structured programming, and management techniques is presented. This final report contains the results of this investigation, analysis of each technique, and the definition of a methodology for producing reliable software
Recommended from our members
Transformational maintenance by reuse of design histories
This thesis provides theory and procedures for modifying software artifacts implemented by a formal transformation process. Installing modifications requires knowing not only what transformations were applied (a derivation history) to construct the artifact, but also why the application sequence ensures that the artifact meets its specification. The derivation history and the justification are collectively called a design history. A Design Maintenance System (DMS), when provided with a formal change called a maintenance delta, revises a design history to guide construction of a new artifact. A DMS can be used to integrate a stream of deltas into a history, providing implementations as a side effect, leading to an incremental-evolution model for software construction.We provide a broadly applicable formal model of transformation systems in which specifications are performance predicates, subsuming the functional specifications which are traditional for transformation systems. Such performance predicates provide vocabulary used in the design history to describe the effect of applying sets of transformations.A nonprocedural, performance-goal-oriented Transformation Control Language (TCL) is defined to control navigation of the design space for a transformation system. Recording the execution of a TCL metaprogram directly provides a design history.A complete classification of, and representation for, the set of possible maintenance deltas is given in terms of the inputs defined by the transformation system model. Such deltas include not only specification changes, but also changes to implementation support technologies. Delta integration procedures for revising derivation histories given functional or support technology deltas are provided, based on rearranging the order of transformations in the design space. Building on these operations, integration procedures that revise the design history for each type of delta are described. An agenda-oriented TCL execution process dovetails smoothly with the integration procedures.Our DMS is compared to a number of other maintenance systems. By using an explicit delta and verified commutativity, our DMS often reuses transformations correctly when others fail
Computer science: the hardware software and heart of IT
1st edition, 201
Programming Languages and Systems
This open access book constitutes the proceedings of the 29th European Symposium on Programming, ESOP 2020, which was planned to take place in Dublin, Ireland, in April 2020, as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The actual ETAPS 2020 meeting was postponed due to the Corona pandemic. The papers deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems
Logic and intuition in architectural modelling: philosophy of mathematics for computational design
This dissertation investigates the relationship between the shift in the focus of architectural modelling from object to system and philosophical shifts in the history of mathematics that are relevant to that change. Particularly in the wake of the adoption of digital computation, design model spaces are more complex, multidimensional, arguably more logical, less intuitive spaces to navigate, less accessible to perception and visual comprehension. Such spatial issues were encountered much earlier in mathematics than in architectural modelling, with the growth of analytical geometry, a transition from Classical axiomatic proofs in geometry as the basis of mathematics, to analysis as the underpinning of geometry. Can the computational design modeller learn from the changing modern history, philosophy and psychology of mathematics about the construction and navigation of computational geometrical architectural system model space? The research is conducted through a review of recent architectural project examples and reference to three more detailed architectural modelling case studies. The spatial questions these examples and case studies raise are examined in the context of selected historical writing in the history, philosophy and psychology of mathematics and space. This leads to conclusions about changes in the relationship of architecture and mathematics, and reflections on the opportunities and limitations for architectural system models using computation geometry in the light of this historical survey. This line of questioning was motivated as a response to the experience of constructing digital associative geometry models and encountering the apparent limits of their flexibility as the graph of dependencies grew and the messiness of the digital modelling space increased. The questions were inspired particularly by working on the Narthex model for the Sagrada Família church, which extends to many tens of thousands of relationships and constraints, and which was modelled and repeatedly partially remodelled over a very long period. This experience led to the realisation that the limitations of the model were not necessarily the consequence of poor logical schema definition, but could be inevitable limitations of the geometry as defined, regardless of the means of defining it, the ‘shape’ of the multidimensional space being created. This led to more fundamental questions about the nature of Space, its relationship to geometry and the extent to which the latter can be considered simply as an operational and notational system. This dissertation offers a purely inductive journey, offering evidence through very selective examples in architecture, architectural modelling and in the philosophy of mathematics. The journey starts with some questions about the tendency of the model space to break out and exhibit unpredictable and not always desirable behaviour and the opportunities for geometrical construction to solve these questions is not conclusively answered. Many very productive questions about computational architectural modelling are raised in the process of looking for answers
Studies related to the process of program development
The submitted work consists of a collection of publications arising from research carried out at Rhodes University (1970-1980) and at Heriot-Watt University (1980-1992). The theme of this research is the process of program development, i.e. the process of creating a computer program to solve some particular problem. The papers presented cover a number of different topics which relate to this process, viz. (a) Programming methodology programming. (b) Properties of programming languages. aspects of structured. (c) Formal specification of programming languages. (d) Compiler techniques. (e) Declarative programming languages. (f) Program development aids. (g) Automatic program generation. (h) Databases. (i) Algorithms and applications