Model Management for Continuously Evolving Systems
Steve Easterbrook, Professor
Marsha Chechik, Professor
Department of Computer Science, University of Toronto
Software development today takes place in the context of a complex system-of-systems that includes a broad technological infrastructure along with a wide set of human activities. The system context evolves continually, and can only ever be partially understood. Existing approaches to software development assume that we can write complete and consistent specifications, based on well-defined sets of features and interfaces. This leads to regular software errors, due to mismatches between the software as it was designed, and the various contexts in which it will be used.
To address this challenge, we propose to develop a model management framework that supports the development and evolution of collections of partial models of the system and its environment, from different perspectives. Our tools will support the use of partial, fragmentary models of the systems-of-systems in which software components are to be deployed, to support reasoning about the properties and end-to-end behaviours of these systems, without resolving all the unknowns and inconsistencies. The project will identify and characterize the set of operations performed in model management tasks, and characterize the different instances of these operations for different types of model. We will then develop a standard approach for representing connectors between partial and inconsistent models, and for expressing the (desired) properties of sets of inter-related models. The approach will be implemented as a suite of Eclipse tools that unify model management operations. The framework will enable analysts to create, view and manipulate models and their connectors, and provide support for deciding how and when to apply the various operators needed for model-driven development. The tools will also provide the ability to visualize collections of models and their relationships, and the model management operations performed on them.
Potential benefit to Ontario:
The proposed research will lead to technologies that will be incorporated into existing software development environments, and commercialized by Ontario companies. The resulting technologies will help Ontario to maintain its position as a leader in software technology.
Automated Management of Virtual Database Appliances
Fine-grained Resource Management and Problem Detection in Dynamic Content Servers
Semantically Configurable Modelling Notations and Tools
Modeling, Evolution, and Automated Configuration of Software Services
Elaborating and Evaluating UMLís 3-Layer Semantics Architecture
Intelligent Autonomic Computing for Computational Biology
Performance Management of IT Infrastructure
Performance-Model-Assisted Creation and Management of Service Systems