The VAT tool : automatic transformation of VHDL to timed automata

Embedded systems have become an integral part of the systems we use today. These types of systems are constrained by both stringent time requirements and limited resource availability. Traditionally, high-integrity embedded systems operated on well understood hardware platforms. The emergence of inexpensive FPGAs (Field Programmable Gate Arrays) and ASICs (Application Specific Integrated Circuits) as operational platforms for embedded software, has resulted in the system developer having to verify both the hardware and the software components. The stringent processes used over the system development lifecycle have to be augmented to account for this paradigm shift. One possible approach is to create a homogenous formal model that accounts for both the hardware and the software components of the system. This thesis focuses on making a contribution to the extraction of formal models from the VHDL specification of the operational platform. The research underlying this thesis was driven by the goals of: a) augmenting the system developer's verification and validation toolbox with a powerful yet easy-to-use tool; b) developing a tool that is modular, extensible, and adaptable to changing customer requirements; c) providing a transparent transformation process, which can be leveraged by both academia and industry. The thesis discusses in detail, the design and development of the VAT tool, that transforms VHDL specifications into finite state machines. It discusses the use of model checking on the extracted formal model and presents a visualization technique that enables manual inspection of the formal model. Thesis Supervisor: I. Kristina Lundqvist Title: Charles S. Draper Assistant Professor of Aeronautics and Astronautics

[1]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[2]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[3]  David Harel,et al.  ACE: a fast multiscale eigenvectors computation for drawing huge graphs , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

[4]  Constance L. Heitmeyer,et al.  The SCR Method for Formally Specifying, Verifying, and Validating Requirements: Tool Support , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[5]  Radu Iosif,et al.  A deadlock detection tool for concurrent Java programs , 1999, Softw. Pract. Exp..

[6]  Mike Mills,et al.  Hardware/software co-design: VHDL and Ada 95 code migration and integrated analysis , 1998 .

[7]  Michael Marcotty,et al.  Improving computer program readability to aid modification , 1982, CACM.

[8]  John C. Cherniavsky,et al.  Validation, Verification, and Testing of Computer Software , 1982, CSUR.

[9]  Klaus Havelund,et al.  Model checking JAVA programs using JAVA PathFinder , 2000, International Journal on Software Tools for Technology Transfer.

[10]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[11]  Gretchen Hargis,et al.  Readability and computer documentation , 2000, AJCD.

[12]  Stavros Tripakis,et al.  The Tool KRONOS , 1996, Hybrid Systems.

[13]  Alan Burns,et al.  The Ravenscar tasking profile for high integrity real-time programs , 1998 .

[14]  Pierre Chapront Ada+B The Formula for Safety Critical Software Development , 1998, Ada-Europe.

[15]  James C. Corbett,et al.  Bandera: extracting finite-state models from Java source code , 2000, ICSE.

[16]  Edward M. Reingold,et al.  Graph drawing by force‐directed placement , 1991, Softw. Pract. Exp..

[17]  Claudio Demartini,et al.  dSPIN: A Dynamic Extension of SPIN , 1999, SPIN.

[18]  Johann Schumann,et al.  Automated Theorem Proving in Software Engineering , 2001, Springer Berlin Heidelberg.

[19]  Peter Eades,et al.  A Heuristic for Graph Drawing , 1984 .

[20]  Alan Burns The Ravenscar Profile and implementation issues (session summary) , 1999 .

[21]  Ronald Baecker,et al.  Enhancing program readability and comprehensibility with tools for program visualization , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[22]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[23]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[24]  Laurence Pierre,et al.  Formal verification of behavioral VHDL specifications: a case study , 1994, EURO-DAC '94.

[25]  Matthew B. Dwyer,et al.  Using the Bandera Tool Set to Model-Check Properties of Concurrent Java Software , 2001, CONCUR.