23 research outputs found
An object-oriented database methodology for application development with extended relational or object-oriented DBMS : a thesis presented in partial fulfilment of the requirements for the degree of Master of Science in Computer Science at Massey University
Recently development methodologies have been proposed which describe themselves as "Object Oriented". While all of them offer approaches to extended data and behavioural modelling, none of them seem fully adequate to address the total concept of object-oriented development. They often do not provide constructs which lead to the use of databases, nor do they always recognise the shift from sequential to prototyping style which is inherent in much object-oriented technology. The objective of this thesis is to lay a framework for an object-oriented methodology suitable for OODBMS. Details of conventional methods for developing database applications, and of the recent OO methods, have been examined and compared in order to propose a coherent set of tasks and deliverables. Account has also been taken of designing for re-use, which has been one of the main selling points of the OO approach. The proposed methodology attempts to address related side issues, with particular focus on object concurrency, which seems particularly thinly covered in many of the current proposals. Many other side issues are also mentioned, but due to time constraints, they are not given any further discussion. The topic is an extremely multidisciplinary one, and a very wide range of expertise would be necessary to do justice to all these aspects. Mapping of the new methodology has been tried on two case study examples using Postgres and Ontos. Postgres is an extended relational DBMS developed as a research prototype at University of California, Berkeley. Ontos is the commercial object-oriented DBMS marketed by Ontos Incorporated, Burlington, Massachusetts. Some details of these implementation examples are included
Building Responsive Systems from Physically-correct Specifications
Predictability - the ability to foretell that an implementation will not violate a set of specified reliability and timeliness requirements - is a crucial, highly desirable property of responsive embedded systems. This paper overviews a development methodology for responsive systems, which enhances predictability by eliminating potential hazards resulting from physically-unsound specifications.
The backbone of our methodology is the Time-constrained Reactive Automaton (TRA) formalism, which adopts a fundamental notion of space and time that restricts expressiveness in a way that allows the specification of only reactive, spontaneous, and causal computation. Using the TRA model, unrealistic systems - possessing properties such as clairvoyance, caprice, in finite capacity, or perfect timing - cannot even be specified. We argue that this "ounce of prevention" at the specification level is likely to spare a lot of time and energy in the development cycle of responsive systems - not to mention the elimination of potential hazards that would have gone, otherwise, unnoticed.
The TRA model is presented to system developers through the CLEOPATRA programming language. CLEOPATRA features a C-like imperative syntax for the description of computation, which makes it easier to incorporate in applications already using C. It is event-driven, and thus appropriate for embedded process control applications. It is object-oriented and compositional, thus advocating modularity and reusability. CLEOPATRA is semantically sound; its objects can be transformed, mechanically and unambiguously, into formal TRA automata for verification purposes, which can be pursued using model-checking or theorem proving techniques. Since 1989, an ancestor of CLEOPATRA has been in use as a specification and simulation language for embedded time-critical robotic processes.Harvard University; DARPA (N00039-88-C-0163
ApplBuilder: An Object-Oriented Application Generator Supporting Rapid Prototyping
This paper describes an object-oriented application generator, APPLBUILDER, currently being developed in the Mjølner BETA programming environment. APPLBUILDER supports several rapid prototyping styles as well as final development of BETA applications. User interface objects such as dialogs, menus, and windows are designed using direct manipulation graphical editors. Actions behind buttons and menu items are programmed as ''scripts'' in textual editors activated from within a graphical editor. The editors reflect changes in the code directly in an underlying Abstract Syntax Tree (AST) thus saving compilation time. Moreover, generated applications are modularized so that editing, for instance the script for a button, only requires re-compilation of the script itself. An advantage of APPLBUILDER compared to other user-interface design tools such as HyperCard is that APPLBUILDER's scripts are embedded in a general purpose programming language making it possible to avoid calls to external routines written in another language. In addition, APPLBUILDER's ability to work with ASTs instead of textual code skeletons supports reverse engineering
Multiple Criteria Analysis for Regional Water Quality Management: The Nitra River Case
This Working Paper documents the implementation of an element of a Decision Support System (DSS) for regional water quality management, applied in cooperation with the Water Research Institute (VUVH, Bratislava) and the Vah River Basin Authority to the Nitra River case study in Slovakia. Several re-usable, modular software tools have been developed and implemented -- a problem-specific generator to produce the core part of the mathematical programming model, tools for the generation and interactive modification of multicriteria problems, and a solver for the resulting mixed-integer optimization problem.
Provided in the paper are the following: a complete formulation of the mathematical model (including the applied well-known dissolved oxygen model), a detailed discussion of the data used, documentation of the developed software, an overview of results which might be of interest, and recommendations for future work. Emphasis is placed on the advantages of multicriteria analysis for the regional water quality management problem
Model-Based Development of Distributed Embedded Systems by the Example of the Scicos/SynDEx Framework
The embedded systems engineering industry faces increasing demands for more
functionality, rapidly evolving components, and shrinking schedules. Abilities
to quickly adapt to changes, develop products with safe design, minimize
project costs, and deliver timely are needed. Model-based development (MBD)
follows a separation of concerns by abstracting systems with an appropriate
intensity. MBD promises higher comprehension by modeling on several
abstraction-levels, formal verification, and automated code generation. This
thesis demonstrates MBD with the Scicos/SynDEx framework on a distributed
embedded system. Scicos is a modeling and simulation environment for hybrid
systems. SynDEx is a rapid prototyping integrated development environment for
distributed systems. Performed examples implement well-known control algorithms
on a target system containing several networked microcontrollers, sensors, and
actuators. The addressed research question tackles the feasibility of MBD for
medium-sized embedded systems. In the case of single-processor applications
experiments show that the comforts of tool-provided simulation, verification,
and code-generation have to be weighed against an additional memory consumption
in dynamic and static memory compared to a hand-written approach. Establishing
a near-seamless modeling-framework with Scicos/SynDEx is expensive. An
increased development effort indicates a high price for developing single
applications, but might pay off for product families. A further drawback was
that the distributed code generated with SynDEx could not be adapted to
microcontrollers without a significant alteration of the scheduling tables. The
Scicos/SynDEx framework forms a valuable tool set that, however, still needs
many improvements. Therefore, its usage is only recommended for experimental
purposes.Comment: 146 pages, Master's Thesi
Animation prototyping of formal specifications
At the present time one of the key issues relating to the design of real-time systems is the specification
of software requirements. It is now clear that specification correctness is an essential factor for the
design and implementation of high quality software. As a result considerable emphasis is placed on
producing specifications which are not only correct, but provably so. This has led to the application
of mathematically-based formal specification techniques in the software life-cycle model.
Unfortunately, experience in safety-critical systems has shown that specification correctness is not, in
itself, sufficient. Such specifications must also be comprehensible to all involved in the system development. The topic of this thesis—Animation Prototyping—is a methodology devised to make
such specifications understandable and usable. Its primary objective is to demonstrate key properties
of formal specifications to non-software specialists. This it does through the use of computer-animated
pictures which respond to the dictates of the formal specification. [Continues.
Simple Scheduler Generator Tool
The CPU scheduler is a basic component that supports mUltiprogramming in operating systems. Many scheduling algorithms have been introduced to improve the performance of systems in terms of processor utilization. The best scheduling algorithm for each system may be different based on the specific circumstances of that system. Object-oriented programming, which facilitates reusability and extcndibility, has become quite popular for many computer applications. This thesis work involved the design and implementation of a simple scheduler generator tool. The scheduler generator tool simulated several scheduling algorithms by using object-oriented programming as the implementation language. The various components of the environment (i.e., the simulated operating system) used for CPU scheduling were developed as objects, and the scheduling algorithms were implemented using the technitques and characteristics of object-oriented programming. For a scheduling algorithm selected, the scheduler generator tool can compute performance parameters such as turnaround time, wailing lime, and CPU utilization. The tool can be used for investigating the relative merits of scheduling algorithms