Design of Object-Oriented Real-time Systems

In this directory you will find several papers that have been written as part of the DOORS (Design of Object-Oriented Real-time Systems) project at Carleton University, Ottawa Canada. You will also find several papers from a related project called Formal Methods in Design that builds upon some of the ideas from DOORS.

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.

Summary of Doors related papers

A Bibtex database of references to work on patterns and pattern languages. Not directly related to the other papers in this directory. Placed here as a service to researchers.
``Architectures with Pictures'' R.J.A. Buhr and R.S. Casselman

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.
"Applying Formal Techniques to the Design of Real-time Systems".

A Phd thesis written by Mark Vigder. Uses LOTOS on a "slice-based" specification style.
M. Vigder and R.J.A. Buhr

A paper presented at the Forte'92 conference. Based on the work of Vigder.
"Timethread-Driven Design of Dual Frameworks for Real-time and Distributed Systems" R.J.A. Buhr, R.S. Casselman, F. Pomerleau. Feb'93

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.
"Pictures that Play: for Designing Real-time and Distributed Systems" R.J.A. Buhr. Sept'93

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 Role-Based Architectural Model Applied to Object Oriented Systems". R.S. Casselman Aug'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.
"Designing with Timethreads". R.J.A. Buhr and R.S. Casselman Revised Nov'93

A thorough presentation of timethreads and the timethreads design process. A communications protocol example is used.
"From Timethreads to Petri Nets: A First Attempt".

The flow semantics of timethreads defined using Petri Nets. In progress (Sept 20/93).
"Visualizing the Designs of Real-time Object Oriented Systems". Francois Pomerleau March'93

Interesting use of timethreads for understanding global issues like resource management. First mention of dual frameworks idea (see
"Architectural Invariants in Object-Oriented Design". R.J.A. Buhr and R.S. Casselman Dec'93

Discusses how to use object-oriented techniques to manufacture objects that will fill a role model.
"Architecture of the Whole: with Roles and Timethreads" R.J.A. Buhr and R.S. Casselman, Jan'94

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.
"Timethread-Role Maps for Object-Oriented Design of Real-Time-and-Distributed Systems". R.J.A. Buhr and R.S. Casselman Feb'94

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.
"Visual Models for Reverse- and Re-engineering of Object-Oriented systems". R.S. Casselman and R.J.A. Buhr March'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 Framework for Formal Methods in Design: Working Paper". F. Bordeleau, R.J.A. Buhr, L. Logrippo, and D. Amyot, Dec'93

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.
"Lotos Interpretation of Architecture-Based Designs: A Method and a Case Study". F. Bordeleau and D. Amyot, Dec'93

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.
"Visual Descriptions, Formalisms and the Design Process". Francis Bordeleau Master Thesis discusses the integration of formal methods in the design process of distributed systems. Sept'93
"From Timethreads to LOTOS: A First Pass". D. Amyot, Jan'94.

Expressing the flow semantics of timethreads in LOTOS as a basis for future tool development.
"LOTOS Interpretation of Timethreads: A Method and a Case Study".
"Timethreads applied to a Multimedia Application: A Case Study" D. Amyot Jan'94
"Generation of Formal Expressions from Graphical Structure Representations", Bordeleau and Buhr. April'94.

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.

Other OO Stuff

  • Resources List from Taligent.

  • We would appreciate any comments you have on this work. We realize that we have not provided the bridges necessary to relate all the concepts you will find in the papers; so please feel free to call or send mail if you have any questions.

    Ray Buhr / / (613) 788-5718


    Ron Casselman / / (613) 788-2899