41 research outputs found

    Differences between Modula-2 and Pascal

    Full text link

    Circuit tutor : a computer-aided learning package for electrical engineering

    Get PDF
    The development of Circuit Tutor, the subject of this dissertation, resulted from a conviction that computers can further enrich the Electronic Engineering curriculum. After an investigation into the different roles of the computer in education the use of modelling and simulation was selected as an effective Computer Aided Learning method. It was realised that the development of any non-trivial simulation program is however not an easy task. The programmer must not only model the circuit behaviour, but also write the man-machine interface (MMI). The main goal of Circuit Tutor was to provide a ready-made simulation environment which makes effective use of the graphics capabilities of the microcomputer for the simulation of a whole class of electrical circuit simulations. To facilitate rapid prototyping the installer is provided with: (1) a man-machine interface which provides the user with a graph, 3 meters, a circuit diagram of the circuit, a menu facility, windows to view circuit parameters and outputs: (2) a program scheduler; (3) a library of maths functions, including Gauss-Jordan elimination of complex matrices; and (4) Circuit Draw: a utility to draw a circuit diagram. Particular emphasis was placed on the design of the user's interface. It has been possible to restrict the effort to link in a new circuit model to 3 modifications to the man-machine interface (MMI) part of the program. Present software and MMI design were investigated. Circuit Tutor and Circuit Draw were developed using modular software design techniques. A modular design chart similar to that proposed by Wiener (1984) was found to be useful during the design stages of both Circuit Tutor and Circuit Draw. Available computer languages for the IBM PC were evaluated and Turbo Pascal selected, as it offered most of the features necessary for the implementation of a modern, modular software design. Four circuits were implemented to serve as examples. The documentation was structured in a manner appropriate to a software project: Part 1 gives an introduction to computers in education and provides the rationale for the use of simulation. A brief overview of Circuit Tutor and Circuit Draw is presented. Part 2 contains the User's Reference Manual for Circuit Tutor and the Circuit Draw Utility. Part 3 contains the Designer's Reference Manual for Circuit Tutor and the Circuit Draw Utility

    On the engineering of crucial software

    Get PDF
    The various aspects of the conventional software development cycle are examined. This cycle was the basis of the augmented approach contained in the original grant proposal. This cycle was found inadequate for crucial software development, and the justification for this opinion is presented. Several possible enhancements to the conventional software cycle are discussed. Software fault tolerance, a possible enhancement of major importance, is discussed separately. Formal verification using mathematical proof is considered. Automatic programming is a radical alternative to the conventional cycle and is discussed. Recommendations for a comprehensive approach are presented, and various experiments which could be conducted in AIRLAB are described

    Computer control of an HF chirp radar

    Get PDF
    This thesis describes the interfacing of an IBM compatible microcomputer to a BR Communications chirp sounder. The need for this is twofold: Firstly for control of the sounder including automatic scheduling of operations, and secondly for data capture. A signal processing card inside the computer performs a Fast Fourier Transform on the sampled data from two phase matched receivers. The transformed data is then transferred to the host computer for further processing, display and storage on hard disk or magnetic tape, all in real time. Critical timing functions are provided by another card in the microcomputer, the timing controller. Built by the author, the design and operation of this sub-system is discussed in detail. Additional circuitry is required to perform antenna and filter switching, and a possible design thereof is also presented by the author. The completed system, comprising the chirp sounder, the PC environment, and the signal switching circuitry, has a dual purpose. It can operate as either a meteor radar, using a fixed frequency (currently 27,99 MHz), or as an advanced chirp ionosonde allowing frequency sweeps from 1,6 to 30 MHz. In the latter case fixed frequency doppler soundings are also possible. Examples of data recorded in the various modes are given

    A comparative study of structured and un-structured remote data access in distributed computing systems

    Get PDF
    Recently, the use of distributed computing systems has been growing rapidly due to the result of cheap and advanced microelectronic technology. In addition to the decrease in hardware costs, the tremendous development in machine to machine communication interfaces, especially in local area networking, also favours the use of distributed systems. Distributed systems often require remote access to data stored at different sites. Generally, two models of access to remote data storage exist: the un structured and structured models. In the former, data is simply stored as row of bytes, whereas in the latter, data is stored along with the associated access codes. The objective of this thesis is to compare these two models and hence determines the tradeoffs of each model. First of all, an extended review of the field of distributed data access is provided which addressing key issues such as the basic design principles of distributed computing systems, the notions of abstract data types, data inheritance, data type system and data persistence. Secondly, a distributed system is implemented using the persistent programming language PS-algol and the high level language C in conjunction with the remote procedure call facilities available in Unix(^1) 4.2 BSD operating system. This distributed system makes extensive use of Unix's software tools and hence it is called DCSUNIX for Distributed Computing System on UNIX. Thirdly, two specific applications which employ the implemented system will be given so that a comparison can be made between the two remote data access models mentioned above. Finally, the implemented system is compared with the criteria established earlier in the thesis. keywords: abstract data types, class, database management, data persistence, information hiding, inheritance, object oriented programming, programming languages, remote procedure calls, transparency, and type checking

    An Object-Oriented Model for Extensible Concurrent Systems: the Composition-Filters Approach

    Get PDF
    Applying the object-oriented paradigm for the development of large and complex software systems offers several advantages, of which increased extensibility and reusability are the most prominent ones. The object-oriented model is also quite suitable for modeling concurrent systems. However, it appears that extensibility and reusability of concurrent applications is far from trivial. The problems that arise, the so-called inheritance anomalies are analyzed and presented in this paper. A set of requirements for extensible concurrent languages is formulated. As a solution to the identified problems, an extension to the object-oriented model is presented; composition filters. Composition filters capture messages and can express certain constraints and operations on these messages, for example buffering. In this paper we explain the composition filters approach, demonstrate its expressive power through a number of examples and show that composition filters do not suffer from the inheritance anomalies and fulfill the requirements that were established

    EOS: A project to investigate the design and construction of real-time distributed embedded operating systems

    Get PDF
    The EOS project is investigating the design and construction of a family of real-time distributed embedded operating systems for reliable, distributed aerospace applications. Using the real-time programming techniques developed in co-operation with NASA in earlier research, the project staff is building a kernel for a multiple processor networked system. The first six months of the grant included a study of scheduling in an object-oriented system, the design philosophy of the kernel, and the architectural overview of the operating system. In this report, the operating system and kernel concepts are described. An environment for the experiments has been built and several of the key concepts of the system have been prototyped. The kernel and operating system is intended to support future experimental studies in multiprocessing, load-balancing, routing, software fault-tolerance, distributed data base design, and real-time processing

    Modula-2 concurrency

    Get PDF

    Concurrency in modula-2

    Get PDF
    A concurrent program is one in which a number of processes are considered to be active simultaneously . It is possib l e to t hink of a process as being a separate sequential program executing independently of other processes, although perhaps communicating with them at desired pOints . The concurrent program, as a whole, can be executed in one of two ways: il ii) in true concurrent manner, wi th each process executing on a dedicated processor in a quasi - concurrent manner, where a processor's processes . time is multiplexed between single the There are two motivations for the study of concurrency in programming languages : i) concurrent programming facilities can be exploited in systems where one has more t han one processor . As technology i mproves, machines having multiple processors will proliferate ii) concurrent p r ogramming facilities may allow programs to be structured as independent , bu t co - operating, processes which can then be implemented on a single processor system . This structure may be more natural to the programmer then the traditional sequential structures. An example is provided by Conway's - 1- Clearly, languages Pascal) problem [Ben82] . by their very nature, traditional sequential- type (Fortran, Basic, Cobol and earlier versions of prove inadequate for the purposes of concurrent programming without considerable extension (which some manufacturers have provided, rendering their compilers non standard-conforming). The general convenience of high level languages provides strong motivation for their development for rea l time programming. Modula - 2 [Wir83] is but one of a number of such r ecently developed languages, designed not only to fulfil a "sequential" role but also to offer facilities for concurrent programming. Developed by Niklaus Wirth in 1979 as a successor to Pascal and Modula, it is intended to serve under the banner of a generalpurpose systems - implementation language. This thesis investigates concurrency i n Modula - 2 and takes the following form: i ) an analYSis of the concurrent facilities offered ii) problems and difficulties associated with these facilities iii) improveme nts and enhancements, including the feasibility of using Modula - 2 to simulate constructs found in other languages, such as the Hoare monitor [Hoa74] and the Ada rendezvous [Uni81]. - 2- Each section concludes with an appraisal of the work conducted in that section . The final section consists of a critical assessment of those Modula - 2 language constructs and facilities provided for the implementation of concurrency and a brief look at concurrency in Modula, Modula-2's predecessor. - Introduction.KMBT_363Adobe Acrobat 9.53 Paper Capture Plug-i
    corecore