Browsing by Author "Birtwistle, Graham"
Now showing 1 - 20 of 24
Results Per Page
Sort Options
Item Metadata only AN APPROACH TO DISCRETE EVENT MODELLING PART 1: SIMULA(1981-11-01) Birtwistle, GrahamThis paper covers the design and implementation of the latest Simula based package for discrete event simulation modelling. Demos inherits Simula's process approach and provides additional features for handling process synchronisations and interrupts, (unobtrusive) data collection, automatic tracing and reporting, and for the automatic generation of well-separated seeds in the random number routines. This paper outlines the implementation of these facilities and gives examples of how they can be used. It is written in five parts: part 1 introduces Simula; part 2 describes the process approach to discrete event modelling; part 3 compares that approach with the transaction, event and activity styles and gives implementation outlines of GPSS, Simscript, and ECSL in Simula; part 4 goes through the facilities contained in Demos and motivates them via examples; and part 5 is concerned with the implementation techniques involved.Item Metadata only AN APPROACH TO DISCRETE EVENT MODELLING PART 2:THE PROCESS APPROACH TO DISCRETE EVENT MODELLING(1981-11-01) Birtwistle, GrahamIn this chapter we show what is involved in writing a straightforward process-style model in raw Simula. We show that a process description may be considered as a sequence of activities, and discuss what is involved in the correct coding of an activity. We introduce activity diagrams, which are pictorial representations of the gross model logic from which it is mechanically easy to construct process-style, transaction-style, event-style, or activity-style programs. Finally, we point out why raw Simula just will not do, and give an indication of how to set about improving things.Item Metadata only AN APPROACH TO DISCRETE EVENT MODELLING PART 3:THE TRANSACTION, ACTIVITY AND EVENTS APPROACHES(1981-11-01) Birtwistle, GrahamThis is the third paper in a series dealing with discrete event simulation modelling. The first part [BIRT 81b] looked at Simula. The second part [BIRT 81c] looked at the process style of discrete event modelling, and used a simple model of steel mill operations as an example. In this part we rework the mill model in the transaction, activity, and event styles, coding it in the archetypal language of each style (GPSS, ECSL, and SIMSCRIPT respectively). In each case, we display an appropriate Simula mini-context. This enables us to show the strengths and weaknesses of these styles from a programmer's point of view, and the threads that hold them together.Item Metadata only BLOCKAID A MODEL FOR PROGRAM EXECUTION(1984-06-01) Birtwistle, Graham; Wyvill, BrianWe illustrate a technique for picturing the dynamic behaviour of block structured programs under execution. Examples are shown using Pascal programs but the method is perfectly general. It shows how procedures are incarnated when called and deleted on exit. A clear interpretation of the binding rule is given for local and global variables and parameters; and the need for multiple copies for recursively called procedures is demonstrated.Item Metadata only Item Metadata only DEMOS IMPLEMENTATION GUIDE AND REFERENCE MANUAL(1981-11-01) Birtwistle, GrahamThis manual gives a complete documentation for Demos, a Simula-hosted, process-based, discrete event simulation language. Demos extends Simula by providing several new process synchronisations, unobtrusive data collection, random number generation with guaranteed well-spread seeds, tracing and automatic reports. Demos is coded entirely in Simula and is running on DEC 10, DEC 20, IBM 370, UNIVAR 1100, Cyber and ICL hardwares. Since Demos is process-based, it is particularly well-suited to computer system and computer network modelling, and for the specification and design of systems software. A complete listing of Demos and some twenty programs and their outputs are given as appendices. The Demos system is available from the author.Item Metadata only Item Open Access A distributed software prototyping and simulation environment: JADE(1985-10-01) Unger, Brian W; Dewar, Alan; Cleary, John; Birtwistle, GrahamJade is an environment that supports the development of distributed software. Components may be written in any of a number of different languages. A common inter-process communication protocol provides a uniform interface among the components. A window system allows the user to interact with many different processes at once. A hierarchical graphics system is provided for use with documentation and programming, and for support of monitoring. Monitoring in Jade is also supported by an extensible mechanism which allows for multiple views of the same process. The non- determinism of distributed systems may be controlled in order to provide repeatability of executions and to aid in testing and debugging. Finally, the formal specification of inter-process events in Jade is supported by a communications protocol verifier, allowing run-time consistency checking. Together, these tools provide a powerful environment for software prototyping and simulation.Item Metadata only EDICT: AN ENVIRONMENT FOR DESIGN USING INTEGRATED CIRCUIT TOOLS(1984-06-01) Birtwistle, Graham; Hill, David; Kendall, John; Coates, Bill; Esau, Richard; Kroeker, Wallace; Liblong, Breen; Liu, Erwin; Melham, Tom; Schediwy, RickWe shall conduct research into the design, construction, and applications of a VLSI design environment called EDICT which controls complexity by imposing an iterative structured design methodology, using hierarchies, regularity, and reusable building blocks, and incorporates the different design rules and fabrication processes of most foundries.Item Open Access HARDWARE VERIFICATION BY FORMAL PROOF(1988-10-01) Birtwistle, Graham; Graham, Brian; Melham, Tom; Schediwy, RichHardware verification is the art of proving formally that, to within the tolerance of an underlying model, a design meets (or perhaps does not meet) its specification. This paper is an introduction to hardware verification and its limitations. We illustrate the technique by specifying and verifying an $x$ or gate and a ripple carry sub-system using the HOL notation, (see [2,8,9]), and then demonstrate its capabilities with sample applications to VLSI CAD and system re-implementation.Item Open Access AN INTRODUCTION TO MODAL LOGIC AND ITS APPLICATIONS ON THE CONCURRENCY WORKBENCH(1992-03-01) Aldwinckle, John; Birtwistle, Graham; Nagarajan, RajagopalNo AbstractItem Open Access The JADE approach to distributed software development(1985-11-01) Unger, Brian W; Dewar, Alan; Cleary, John; Birtwistle, GrahamJade is an environment that supports the development of distributed software. Components may be written in any of a number of different languages. A common inter-process communication protocol provides a uniform interface among the components. A window system allows the user to interact with many different processes at once and allows for multiple views of the same process. A hierarchical graphics system is provided for use with documentation and programming, and for support of monitoring. The non-determination of distributed systems may be controlled in order to provide repeatability of executions and to aid in prototyping real-time distributed software. Finally, the formal specification of inter-process events in Jade is supported by a communications protocol verifier, allowing run-time consistency checking. We describe these tools and their use in the development of distributed software for the control of a simulated system of parking lots.Item Metadata only JADE: a simulation & software prototyping environment(1983-11-01) Unger, Brian W; Birtwistle, Graham; Cleary, John; Hill, David; Lomow, Greg; Neal, Radford; Peterson, Murray; Witten, Ian; Wyvill, BrianJade provides an integrated set of tools which are designed to support the development of distributed software and systems. The Jade environment provides tools for the design, implementation, debugging, testing, maintenance, and performance analysis of distributed, concurrent programs. Novel features of Jade are that it is based on the modelling and simulation of target distributed systems and partially automatic program generation is supported. The goals of Jade are to provide a cost effective software development environment that is both easy and comfortable to use, and which can produce more reliable, maintainable programs. This paper presents an overview of the Jade environment, describes its major components, and outlines the status of the project.Item Open Access NYGAARD'S MODEL OF PROGRAM EXECUTION: A FRAMEWORK FOR PROGRAM VISUALIZATION(1991-12-01) Loose, Kenneth D.; Birtwistle, GrahamThis paper presents a dynamic model for understanding and visualizing how computer programs are executed in a block structured domain. Useful in its present form, it also provides a framework for implementing a program visualization system and can be generalized to most imperative languages. The model is used to explain such topics as dynamic program structure, (including recursion) the binding rule, procedure entry and exit, and the passing of arguments to procedures. The model also serves as a good introduction to implementation techniques since it closely mimics the way programs are executed. The sequence of presentation and examples used rely heavily on extensive classroom experience dating back to the 1960's. The programming language used in the examples is Pascal.Item Metadata only Item Metadata only PERFORMANCE MODEL OF THE CAMBRIDGE RING(1981-11-01) Birtwistle, Graham; Hay, Bill; Ritchie, BrianThis report contains a detailed description of a simulation model of the ring-polling software on Edinburgh University's Cambridge Ring Local Area Network. The model is written in Demos, a Simula-hosted simulation language. The model faithfully reproduces the structure and timings of the current IMP implementation (August 81). A full listing of the model is given as an appendix.Item Metadata only A PROCESS BASED DISCRETE EVENT SIMULATION OF X25 USING DEMOS(1983-11-01) Pooley, Rob; Williams, Alan; Birtwistle, GrahamThis paper describes experiences with an implementation of the X25 long haul data communications protocol based on Demos, a Simula extension with enhanced discrete event capabilities. X25 has a modern definition with functionally separated layers which are mapped directly into a hierarchy of Simula (Demos) packages. During development and testing, the X25 processes were embedded in a simulation model of the real time environment, and subjected to extensive testing before acceptance. The design steps are repeated should further enhancements be required, or design errors be revealed after commissioning.Item Metadata only PROPOSAL FOR THE REINSTATEMENT OF THE PH D PROGRAMIN COMPUTER SCIENCE(1983-07-01) Birtwistle, GrahamThis document makes the case for the reinstatement of the PhD program in Computer Science at the University of Calgary. The program was already in existence within the then Department of Mathematics, Statistics, and Computing Science in 1975, but was withdrawn by the Faculty of Graduate Studies on the grounds that the new department had insufficient experienced researchers when Computer Science received independent status. This document contends that the program should be reinstated because that argument is no longer true.Item Open Access PROVING A COMPUTER CORRECT IN HIGHER ORDER LOGIC(1985-08-01) Joyce, Jeffrey; Birtwistle, GrahamMike Gordon has described the specification and verification of a register-transfer level implementation of a simple general purpose computer using the LCF_LSM hardware verification system [1] [2]. We have subsequently redone this example in higher order logic using the HOL system [3]. In this paper we present the specification and verification of Gordon's computer as an example of hardware specification and verification in higher order logic.Item Metadata only