University of Minnesota
Software Engineering Center
/

You are here

Mats Heimdahl

Photo of Mats Heimdahl
Computer Science and Engineering Department Head
Professor
Phone Number: 
612-625-2068
Office Location: 
Kenneth H Keller Hall room 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

On the Effectiveness of Slicing Hierarchical State Machines: A Case Study

Formal specifications can be hundreds of pages in length — a reflection of the size and complexity of the systems being specified. Lengthy documents are difficult to read, understand, and use. Program slicing was developed to address these issues for programs. In this paper, we apply similar techniques to formal specifications expressed as hierarchical state machines. We present a two tiered approach to slicing (or simpli.cation) of hierarchical state machines.

Reduction and Slicing of Hierarchical State Machines

Formal specification languages are often criticized for being difficult to understand, difficult to use, and unacceptable by software practitioners. Notations based on state machines, such as, Statecharts,

Completeness and Consistency in Hierarchical State-Based Requirements.

This paper describes methods for automatically analyzing formal, state-based requirements specifications for some aspects of completeness and consistency. The approach uses a low-level functional formalism, simplifying the analysis process. State-space explosion problems are eliminated by applying the analysis at a high level of abstraction; i.e., instead of generating a reachability graph for analysis, the analysis is performed directly on the model.

Pages