Director's Profile

Mats Heimdahl
Director of the Software Engineering Center
Phone Number: 
612-625-2068
Office Location: 
EE/CS 6-201
Education: 

M.S. Computer Science and Engineering from the Royal Institute of Technology, Sweden, 1988.

Ph.D. Computer Science, University of California at Irvine, 1994.

Biography: 

Professor Mats Heimdahl specializes in software engineering and safety critical systems. He is the director of the University of Minnesota Software Engineering Center (UMSEC).

Heimdahl is the recipient of the National Science Foundation's CAREER award, a McKnight Land-Grant Professorship and the McKnight Presidential Fellow award at the University of Minnesota, and the University of Minnesota Award for Outstanding Contributions to Post-Baccalaureate, Graduate, and Professional Education.

Research: 

Software is increasingly involved in our lives; software controls physical systems ranging from microwave ovens and watches to nuclear power plants, aircraft, and cars. Computer-related failures can, in many of these applications, have catastrophic effects.

My research group, the Critical Systems Research Group (CriSys), is conducting research in software engineering and is investigating methods and tools to help us develop software with predictable behavior free from defects.

Research in this area spans all aspects of system development ranging from concept formation and requirements specification, through design and implementation, to testing and maintenance. In particular, we are currently investigating model-based software development for critical systems.

Specifically, we are focusing on how to use various static verification techniques to assure that software requirements models possess desirable properties, how to correctly generate production code from software requirements models, how to validate models, and how to effectively use the models in the testing process.

Interests: 

Software engineering and safety critical systems.

Recent Publications

Flexibility in Modeling Languages and Tools: A Call to Arms

Date of Publication: 
June 2009
Authors: 
Eric Van Wyk
Authors: 
Mats Heimdahl
Abstract: 
In model-based development, the software development effort is centered around a formal description of the proposed software system; a description that can be subjected to various types of analysis and code generation. Based on years of experience with model-based development and formal modeling we believe that the following conjectures describe fundamental obstacles to wide adoption of formal modeling and the potential for automation that comes with it; (1) no single modeling notation will suit all, or even most, modeling needs, (2) no analysis tool will fit all, or even most, analysis tasks, and (3) flexible and stable tools must be made available for realistic evaluations and technology transfer.

Flexible and Extensible Notations for Modeling Languages

Date of Publication: 
March 2007
Authors: 
Jimin Gao
Authors: 
Mats Heimdahl
Authors: 
Eric Van Wyk
Abstract: 
In model-based development, a formal description of the software (the model) is the central artifact that drives other development activities. The availability of a modeling language well-suited for the system under development and appropriate tool support are of utmost importance to practitioners. Considering the diverse needs of different application domains, flexibility in the choice of modeling languages and tools may advance the industrial acceptance of formal methods. We describe a flexible modeling language framework by which language and tool developers may better meet the special needs of various users groups without incurring prohibitive costs. The framework is based on a modular and extensible implementation of languages features using attribute grammars and forwarding.

A Proposal for Model-Based Safety Analysis

Date of Publication: 
October 2005
Authors: 
Anjali Joshi
Authors: 
Steven Miller
Authors: 
Michael Whalen
Authors: 
Mats Heimdahl
Abstract: 
System safety analysis techniques are well es-tablished and are used extensively during the design of safety-critical systems. Despite this, most of the techniques are highly subjective and dependent on the skill of the practitioner. Since these analyses are usually based on an informal system model, it is unlikely that they will be complete, consistent, and error free. In fact, the lack of precise models of the system architecture and its failure modes often forces the safety analysts to devote much of their effort to finding undocumented details of the sys-tem behavior and embedding this information in the safety artifacts such as the fault trees.