The project is a joint research project between the Systems and Computer Engineering project and Bell-Northern Research. Prof. Ray Buhr is the project lead. Ron Casselman is the chief research engineer. Bell-Northern Research is not responsible for, nor should it be deemed that they endorse, any of the research contained in the reports.
The general objective of DOORS is to develop a method for the design of real-time (RT) systems that: is practical for systems of large scale and complexity; includes support of object-oriented (OO) techniques for achieving reuseability in implementations; helps with visualizing and testing design concepts during the early stages when the big decisions are being made. The output of the project will include papers, a textbook, case studies, theses (both Masters and Phd), and proof-of-concept demonstrations with existing tools (including tools ranging all the way from BNR's own ObjecTime CASE tool to Hypercard). New tool development is outside the project's scope. This output will be useful to designers of real-time systems to help them do their job better, and to designers of future tools (including future versions of ObjecTime) to help them identify the capabilities required.
There is no big object-oriented-method-in-the-sky that will satisfy the objectives by itself, so our approach is to develop a loosely-coupled set of (1) modified versions of existing OO and RT methods (including ones previously developed at Carleton) and (2) new methods. Important tasks are: development of a new design method that focuses on a concept we call timethreads, the method is called Timethread-Driven design; visualization techniques for OO frameworks and design guidelines for frameworks; research into integrating the ideas of our design method into CASE tools; and new visualization techniques for displaying the structure and behaviour of a large system in a limited screen area.
An attempt to reconcile what appear to be different views of software architectures: wired systems organized around subsystems, modules and layers; and wireless systems organized around OO frameworks. This paper appeared at OOPSLA'92 in Vancouver.
A Phd thesis written by Mark Vigder. Uses LOTOS on a "slice-based" specification style.
A paper presented at the Forte'92 conference. Based on the work of Vigder.
Presents a skeleton of the timethread notation and the timethread-driven design process. Shows how both may be used when real-time concerns and design for extensibility concerns (of OO) are considered jointly. Newer papers by Buhr and Casselman give a cleaner presentation of some of the ideas in this paper.
Motivates the Timethread notation and the Machine Charts notation. Shows how the two are related. Emphasis placed on informality over formality and the need for flexible thinking tools for design. Appeared in Software Practice and Experience Sept'93.
A Masters Thesis that presents a model for role architecture. Novel aspects are the use of timethreads for behaviour spec., and the ability to express elements of dynamic structure. Graphical techniques are used. Newer papers by Buhr and Casselman have refined and improved the ideas in this thesis.
A thorough presentation of timethreads and the timethreads design process. A communications protocol example is used.
The flow semantics of timethreads defined using Petri Nets. In progress (Sept 20/93).
Interesting use of timethreads for understanding global issues like resource management. First mention of dual frameworks idea (see DualFrameworks.ps).
Discusses how to use object-oriented techniques to manufacture objects that will fill a role model.
Argues for connectionless models of software architecture that scale up. Brings the role architecture and timethreads ideas together. Submitted to TSE special issue on software architecture.
Shows how timethreads and connectionless role organizations (called timethread-role maps) can be used to reason about performance, robustness and organizational fluidity. Submitted to OOPSLA'94.
Demonstrates the use of timethread-role maps, role collaboration graphs, class hierarchies and object visibility for reverse-engineering and re-engineering. A case study of HotDraw, a graphics editor written is Smalltalk, is used to demonstrate the models.
A review of the main projects and reports that have been developed by the FMD (Formal Methods in Design) Research Group in the last 5 years, a description of the ongoing projects, and a definition of the research orientations for the new Timethread project.
A method for the generation of LOTOS specifications from architecture- based designs is presented. Then, the method is applied for the generation of a LOTOS specification from a MachineCharts design of an elevator system.
Expressing the flow semantics of timethreads in LOTOS as a basis for future tool development.
This paper describes the GLE method (Generation of LOTOS Expressions) which provides an analytical framework for the generation of LOTOS expressions from graph structure representations. The method is based on a particular type of structure representation, called SR-Graphs (Structure-Representation Graphs), on which different types of transformations have been defined.
Ray Buhr / buhr@sce.carleton.ca / (613) 788-5718
or
Ron Casselman / cassel@sce.carleton.ca / (613) 788-2899