TIMe - The Integrated Method
by Richard Sanders
TIMe is a systems engineering methodology developed by SINTEF Telecom and Informatics in co-operation with Norwegian industry. The methodology has been under continuous development since its inception in 1988, when its development started as one of the key elements of SISU, a technology transfer programme supported by the Norwegian Research Council.
TIMe uses visual design languages to facilitate communication between clients (ie people requiring new or modified software systems) and developers (ie the people who produce them). Elements of TIMe are currently in use by many Norwegian companies, helping them to enhance the management, improve the quality and reduce the lead times in their software engineering activities.
The method helps master the complexity of real-time systems development, and features automatic software production in a variety of computing languages. TIMe is published in an electronic textbook available on CD from SINTEF.
Figure2: Rules and guidelines are provided that help to make high quality descriptions.TIMe is designed for systems that are reactive, concurrent, real-time, distributed, heterogeneous and complex.
TIMe seeks to achieve the higher process maturity levels. The goal is to enable what we call Property oriented development. This is characterised by:
- better product planning through focus on the early stages of system development, in particular domain analysis and requirements specification
- emphasis on system families, evolution and reuse
- formal expressions of required and provided properties
- quality-by-construction through integration of methods for verification, validation and design synthesis.
The descriptions in TIMe are expressed using a few powerful languages, which are international standards supported by commercial tools:
- Object Modeling Technique (OMT) or Unified Modeling Language (UML) for Object Models in early phases
- Specification and Description Language (SDL) for design of structure and behaviour
- Message Sequence Charts (MSC) for describing interaction.
TIMe is truly object oriented in its approach. It defines its own underlying object and property models, and contains detailed guidelines on how to make analysis and design models.
The TIMe CD contains tutorials on OMT/UML, SDL and MSC, and uses a common system example to exemplify notations, descriptions, types of development processes and how the methodology can be used. Rules and guidelines are provided that help to make high quality descriptions. They are organised in several levels. Some are language specific, some are description specific and some are project activity specific.
Characteristics of TIMe
- Emphasis on abstract models and descriptions: Abstract descriptions leave out implementation specific details and let the developers focus on functionality.
- Focus on (external) properties: Objects are the building materials from which systems and components are constructed. Property descriptions are used at an early stage of development to express the properties required from a system or an object. At a later stage they are used to express the properties actually provided by a system or component.
- Service orientation: Users tend to think in terms of services and interfaces. Therefore TIMe recommends use of separate property models for services and interfaces. These models are used for high level service engineering, and for synthesising object designs that provide the services.
- Strong object-property relationships: Role models are used to describe properties, and are related to object designs by projection. Roles are used to link properties and objects. Projections are used for synthesis of new objects and for documenting existing objects.
- Planned variability and reuse: TIMe seeks to make generic system families, which may be adapted as easily and safely as possible to the needs of particular systems. Components for reuse across families come from general domain descriptions. TIMe describes a cost-effective way to define instantiation of particular systems by defining the general parts by reference to the family description, detailing only what is special for that particular occurrence, ie its configuration.
- Design synthesis: Property oriented design involves:
- decomposing required service and interface properties into object properties
- synthesising object designs from required object properties, by transformation and by composition, taking reuse into account
- comparing properties: required against provided (validation)
- searching for components with provided properties corresponding to some required properties
- composing properties corresponding to object composition.
TIMe for the Project Manager
TIMe has been used in real industrial development projects, carried out in co-operation with the Norwegian SISU project. Experience in SISU (based on hard metrics as well as interviews with project managers) showed various advantages of using TIMe:
- 50% reduction in errors in delivered systems
- reduced development costs equalling or surpassing the cost of introduction on the first project
- 20% or more reduction of development costs on subsequent projects
- better control over the development process
- more flexible staffing, with less dependency on individuals
- smoother cooperation between professionals
Like all major changes in the development process, TIMe should be introduced into a development organisation with care.
TIMe for the Software Developers
Systems and software designers in SISU using TIMe typically reported:
- increased focus on designing functionality
- more precise communication with peers on design issues
- the pleasure of simulating (executing) designs at an early stage
- modern, state-of-the-art development tools
- less dependence on detailed development environment know-how, more focus on domain knowledge, making for easier shifts to new projects
- easier maintenance, simpler error correction
- the initial burden of learning a new development paradigm being outweighed by a better working environment and more job possibilities.
Developers spend time on descriptions that are worthwhile, thus saving time and making development work more enjoyable. For more information on TIMe, see http://www.sintef.no/time.
Please contact:
TIMe c/o SINTEF Telecom and Informatics
Tel: +47 73 59 30 00
E-mail: richard.sanders@sintef.no