Results 1 -
7 of
7
Montages specifications of realistic programming languages
- JOURNAL OF UNIVERSAL COMPUTER SCIENCE
, 1997
"... Montages are a new way of describing all aspects of programming languages formally. Such specifications are intelligible for a broad range of people involved in programming language design and use. In order to enhance readability we combine visual and textual elements to yield specifications simil ..."
Abstract
-
Cited by 29 (7 self)
- Add to MetaCart
Montages are a new way of describing all aspects of programming languages formally. Such specifications are intelligible for a broad range of people involved in programming language design and use. In order to enhance readability we combine visual and textual elements to yield specifications similar in structure, length, and complexity to those in common language manuals, but with a formal semantics. The formal semantics is based on Gurevich's Abstract State Machines (formerly called Evolving Algebras).
The Formal Specification of Oberon
- Journal of Universal Computer Science
, 1997
"... : This paper presents the formal specification of the programming language Oberon. Using Montages we give a description of syntax, static, and dynamic semantics of all constructs of the language. The specification is arranged in five refinement steps, each of them results in a working sub--language ..."
Abstract
-
Cited by 21 (9 self)
- Add to MetaCart
: This paper presents the formal specification of the programming language Oberon. Using Montages we give a description of syntax, static, and dynamic semantics of all constructs of the language. The specification is arranged in five refinement steps, each of them results in a working sub--language of Oberon. The compactness and readability of the specification make us believe that it can be used for a reference manual. Key Words: abstract state machines, Oberon, Montages, programming languages specifications, reference manuals Category: F.3.2, D.3.1, D3.3 1 Introduction In this paper we present the formal specification of the programming language Oberon [7] using Montages taking advantage of existing ASM specifications of the dynamic semantics of imperative programming languages [1, 2, 6, 3]. A detailed presentation of Montages is given in [4]. The language specification is presented as a sequence of five sub-languages of Oberon (O 1 (section 2), O 2 (section 3), O 3 (section 4.1),...
ASM-Based Mechanized Verification of Compiler Back-Ends
"... We describe an approach to mechanically prove the correctness of BURS specifications and show how such a tool can be connected with BURS based back-end generators [9]. The proofs are based on the operational semantics of both source and target system languages specified by means of Abstract Stat ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
We describe an approach to mechanically prove the correctness of BURS specifications and show how such a tool can be connected with BURS based back-end generators [9]. The proofs are based on the operational semantics of both source and target system languages specified by means of Abstract State Machines [14]. In [27] we decomposed the correctness condition based on these operational semantics into local correctness conditions for each BURS rule and showed that these local correctness conditions can be proven independently. The specification and verification system PVS is used to mechanicaly verify BURS-rules based on formal representations of the languages involved. In particular, we have defined PVS proof strategies which enable an automatic verification of the rules. Using PVS, several erroneous rules have been found. Moreover, from failed proof attempts we were able to correct them.
Provably Correct Systems
, 1994
"... . The goal of the Provably Correct Systems project (ProCoS) is to develop a mathematical basis for development of embedded, realtime, computer systems. This survey paper introduces the specification languages and verification techniques for four levels of development: Requirements definition and con ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
. The goal of the Provably Correct Systems project (ProCoS) is to develop a mathematical basis for development of embedded, realtime, computer systems. This survey paper introduces the specification languages and verification techniques for four levels of development: Requirements definition and control design; Transformation to a systems architecture with program designs and their transformation to programs; Compilation of real-time programs to conventional processors, and Compilation of programs to hardware. 1 Introduction An embedded computer system is part of a total system that is a physical process, a plant, characterized by a state that changes over real time. The role of the computer is to monitor this state through sensors and to change the state through actuators. The computer is simply a convenient device that can be instructed to manipulate a mathematical model of the physical system and state. Correctness means that the program and the hardware faithfully implement the co...
The ProCoS Approach to the Design of Real-Time Systems: Linking Different Formalisms
, 1996
"... This report reflects work which is partially funded by the Commission of the European Communities (CEC) under the ESPRIT programme in the field of Basic Research Project No. 7071: "ProCoS II: Provably Correct Systems" ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
This report reflects work which is partially funded by the Commission of the European Communities (CEC) under the ESPRIT programme in the field of Basic Research Project No. 7071: "ProCoS II: Provably Correct Systems"
Integrating Domain Specific Language Design in the Software Life Cycle
- Proceedings of the International Workshop on Current Trends in Applied Formal Methods, volume 1641 of LNCS
, 1998
"... . Domain Specific Languages help to split the software live cycle in different independent cycles. While the use of the newly created language is just an additional tool in the established cycle, the language live cycle is independent and opens the doors for the application of formal methods. We rep ..."
Abstract
- Add to MetaCart
. Domain Specific Languages help to split the software live cycle in different independent cycles. While the use of the newly created language is just an additional tool in the established cycle, the language live cycle is independent and opens the doors for the application of formal methods. We report on an industrial case study, where a driver specification language has been designed, formally specified, and finally an implementation has been generated from the specification. Using Abstract State Machines and Montages for the language specification, it was possible that the industrial partners learned how to maintain and extend the language specification. On the other hand the formal semantics of the method allows to apply different verification-oriented methods to the artifacts. 1 Introduction Today's software and hardware systems are characterized by a composition of complex subsystems and complex interactions between them. These subsystems are very often based on different models...
Provably Correct Systems - FTRTFT'94 Tutorial
, 1994
"... ProCoS aims to improve dependability, reduce timescales and cut development costs of construction for embedded systems, particularly in real-time and safety-critical applications. It uses and develops the results of basic research into fundamental properties of interactive systems. It aims to provid ..."
Abstract
- Add to MetaCart
ProCoS aims to improve dependability, reduce timescales and cut development costs of construction for embedded systems, particularly in real-time and safety-critical applications. It uses and develops the results of basic research into fundamental properties of interactive systems. It aims to provide a scientific basis for future standards of practice in the development of embedded systems, ensuring correctness of all stages in the development, from elicitation and analysis of requirements through design and implementation of programs down to compilation and execution on verified hardware.

