- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Transformations on dependency graphs : formal specification...
Open Collections
UBC Theses and Dissertations
UBC Theses and Dissertations
Transformations on dependency graphs : formal specification and efficient mechanical verification Rajan, Sreeranga Prasannakumar
Abstract
Dependency graphs are used to model data and control flow in hardware and software design. In a transformational design approach, optimization and refinement transformations are used to transform dependency-graph-based specifications at higher abstraction levels to those at lower abstraction levels. In this dissertation, we investigate the formal specification and mechanical verification of transformations on dependency graphs. Among formal methods, the axiomatic method provides a mechanism to specify an object by asserting properties it should satisfy. We show that an axiomatic specification coupled with an efficient mechanical verification is the most suitable formal approach to address the verification of transformations on dependency graphs. We have provided a formal specification of dependency graphs, and verified the correctness of a variety of transformations used in an industrial synthesis frame work. Errors have been discovered in the transformations, and modifications have been proposed and incorporated. Further, the formal specification has permitted us to examine the generalization and composition of transformations. In the process, we have discovered new transformations that could be used for further optimization and refinement than were possible before. We have devised an efficient verification scheme that integrates model-checking and theorem-proving, the two major techniques for formal verification, in a seamless manner. First, we focus on the dependency graph formalism used in the high-level synthesis system part of the SPRITE project at Philips Research Labs. The transformations in the synthesis system are used for refinement and optimization of descriptions specified in a dependency graph language called SPRITE Input Language (SIL). SIL is an intermediate language used during the synthesis of hardware described using languages such as VHDL, SILAGE and ELLA. Besides being an intermediate language, it forms the backbone of the TRADES synthesis system of the University of Twente. SIL has been used in the design of hardware for audio and video applications. Next, we present schemes for seamless integration of theorem-proving and model-checking for efficient verification. We use the Prototype Verification System (PVS) to specify and verify the correctness of the transformations. The PVS specification language, based on typed higher order logic allows us to investigate the correctness using a convenient level of abstraction. The PVS verifier features automatic procedures and interactive verification rules to check properties of specifications. We have integrated efficient simplifiers and model-checkers with PVS to facilitate verification. Finally, we show how our method can be applied in the study of formalisms for hybrid/real-time systems, optimizing compilers, data-flow languages, and software engineering. Based on the applications of our method on such off-the-shelf formalisms, we substantiate our claim - that an axiomatic specification coupled with an efficient mechanical verification is the most suitable approach to specify and verify transformations on dependency graphs independent of underlying behavior models.
Item Metadata
Title |
Transformations on dependency graphs : formal specification and efficient mechanical verification
|
Creator | |
Publisher |
University of British Columbia
|
Date Issued |
1995
|
Description |
Dependency graphs are used to model data and control flow in hardware and
software design. In a transformational design approach, optimization and refinement transformations are used to transform dependency-graph-based specifications
at higher abstraction levels to those at lower abstraction levels. In this dissertation,
we investigate the formal specification and mechanical verification of transformations
on dependency graphs. Among formal methods, the axiomatic method provides a
mechanism to specify an object by asserting properties it should satisfy. We show
that an axiomatic specification coupled with an efficient mechanical verification is
the most suitable formal approach to address the verification of transformations on
dependency graphs.
We have provided a formal specification of dependency graphs, and verified the
correctness of a variety of transformations used in an industrial synthesis frame
work. Errors have been discovered in the transformations, and modifications have
been proposed and incorporated. Further, the formal specification has permitted us
to examine the generalization and composition of transformations. In the process,
we have discovered new transformations that could be used for further optimization
and refinement than were possible before. We have devised an efficient verification scheme that integrates model-checking and theorem-proving, the two major
techniques for formal verification, in a seamless manner.
First, we focus on the dependency graph formalism used in the high-level synthesis system part of the SPRITE project at Philips Research Labs. The transformations in the synthesis system are used for refinement and optimization of descriptions
specified in a dependency graph language called SPRITE Input Language (SIL). SIL
is an intermediate language used during the synthesis of hardware described using
languages such as VHDL, SILAGE and ELLA. Besides being an intermediate language, it forms the backbone of the TRADES synthesis system of the University of
Twente. SIL has been used in the design of hardware for audio and video applications.
Next, we present schemes for seamless integration of theorem-proving and model-checking
for efficient verification. We use the Prototype Verification System (PVS)
to specify and verify the correctness of the transformations. The PVS specification
language, based on typed higher order logic allows us to investigate the correctness using a convenient level of abstraction. The PVS verifier features automatic
procedures and interactive verification rules to check properties of specifications.
We have integrated efficient simplifiers and model-checkers with PVS to facilitate
verification.
Finally, we show how our method can be applied in the study of formalisms for
hybrid/real-time systems, optimizing compilers, data-flow languages, and software
engineering. Based on the applications of our method on such off-the-shelf formalisms, we substantiate our claim -
that an axiomatic specification coupled with
an efficient mechanical verification is the most suitable approach to specify and
verify transformations on dependency graphs independent of underlying behavior
models.
|
Extent |
3719099 bytes
|
Genre | |
Type | |
File Format |
application/pdf
|
Language |
eng
|
Date Available |
2009-04-27
|
Provider |
Vancouver : University of British Columbia Library
|
Rights |
For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.
|
DOI |
10.14288/1.0051377
|
URI | |
Degree | |
Program | |
Affiliation | |
Degree Grantor |
University of British Columbia
|
Graduation Date |
1995-11
|
Campus | |
Scholarly Level |
Graduate
|
Aggregated Source Repository |
DSpace
|
Item Media
Item Citations and Data
Rights
For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.