Results 1 -
7 of
7
Formal Aspects of and Development Environments for Montages
, 1997
"... The specification of all aspects of a programming language requires adequate formal models and tool support. Montages specifications combine graphical and textual elements to yield language descriptions similar in structure, length, and complexity to those in common language manuals, but with a fo ..."
Abstract
-
Cited by 29 (11 self)
- Add to MetaCart
The specification of all aspects of a programming language requires adequate formal models and tool support. Montages specifications combine graphical and textual elements to yield language descriptions similar in structure, length, and complexity to those in common language manuals, but with a formal semantics. A broad range of people involved in programming language design and use may find it convenient to use Montages in combination with the tool GEM-MEX. It allows the automatic generation of high-quality documents, type-checkers, interpreters and symbolic debuggers.
A Correctness Proof for Pipelining in RISC Architectures
, 1996
"... We describe a technique for specifying and verifying the control of pipelined microprocessors which can be used where traditional or purely automatic methods do not scale up to complex commercial microprocessor design. We illustrate our approach through a formal specification of Hennessy's and Patte ..."
Abstract
-
Cited by 8 (4 self)
- Add to MetaCart
We describe a technique for specifying and verifying the control of pipelined microprocessors which can be used where traditional or purely automatic methods do not scale up to complex commercial microprocessor design. We illustrate our approach through a formal specification of Hennessy's and Patterson's RISC processor DLX [HP90] for which we prove the correctness of its pipelined model with respect to the sequential model. First we concentrate our attention on the provably correct refinement of the sequential ground model DLX to the pipelined parallel version DLX p in which structural hazards (resource conflicts) are eliminated. Then we extend the result to the model DLX data in which also data hazards for not jump instructions are treated. The next step consists of building the model DLX ctrl in which control hazards are eliminated. In the last step we define DLX pipe and prove that it refines DLX ctrl correctly and takes care also of data hazards relative to jump instruct...
Integrating State Charts in Specware and Aspects of Correct Oberon Code Generation
, 1996
"... State charts are finite state machines with hierarchical structuring and several models of communication. They are widely used in hardware, software, and communication industries to specify reactive and concurrent systems. In absence of a common semantics for state charts, we use Evolving Algebras, ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
State charts are finite state machines with hierarchical structuring and several models of communication. They are widely used in hardware, software, and communication industries to specify reactive and concurrent systems. In absence of a common semantics for state charts, we use Evolving Algebras, that showed to be powerful enough to model all types of sequential, parallel, distributed and real-time applications of dynamic systems. The generality of evolving algebras allows to mimic all state chart dialects. We use a many-sorted higher-order logic algebraic specification language with loose semantics to describe the states of evolving algebras. We have found that the hierarchical structuring operations of state charts coincide with the basic composition operations of the used specification language SLANG. We do not have to provide the complicated communication mechanisms existing in many state chart dialects, since SLANG is powerful enough to specify them upon need. SLANG supports con...
Montages: Unified Static and Dynamic Semantics of Programming Languages
, 1996
"... We unify static and dynamic semantics through the use of Montages, a version of Evolving Algebras specially tailored for programming languages. Montages combines graphical and textual elements to yield specifications similar in structure, length, and complexity to those in common language manuals, b ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
We unify static and dynamic semantics through the use of Montages, a version of Evolving Algebras specially tailored for programming languages. Montages combines graphical and textual elements to yield specifications similar in structure, length, and complexity to those in common language manuals, but with a formal semantics. We aim at a formal instrument which can be equally good understood by language designers, compiler constructors, and programmers. T I CT := CT.NT endif if CT.Condition.Value then Apply(CT)(CT.Left.Value, CT.Right.Value) else CT.Value := if RelOp(CT) then endif endif CT := CT.NT CT := CT.TrueTask Right Left S2-Expr S1-Expr NT NT S-RelOp WhileStment ::= WHILE Expr RelOp Expr DO StmentSeq END NT S-DO NT if DO(CT) then Condition TrueTask S-StmentSeq condition CHECK BOOL EXPR 1 Introduction Our work introduces Montages as a method for defining programming language semantics using Evolving Algebras. EAs have been proposed by Y. Gurevich as a dynamic generaliza...
State Transitions modeled as Refinements
, 1996
"... Introduction We are going to showhow state transitions can be modeled in the framework of algebraic specifications. We use the algebraic specification, composition, and refinement framework provided bythe Specware tool [28, 29] and Evolving Algebras [10] as a general framework for transition syste ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Introduction We are going to showhow state transitions can be modeled in the framework of algebraic specifications. We use the algebraic specification, composition, and refinement framework provided bythe Specware tool [28, 29] and Evolving Algebras [10] as a general framework for transition systems. Numerous case studies show that evolving algebras are well suited to model large and complex reactiveand concurrent systems [1, 7, 5, 6, 15, 16, 17, 22, 21]. We showhowevolving algebras can be embedded in Specware, and how Specware supports reasoning about Hoare triples [20]. Although Evolving Algebras are based on onesorted signatures we use for simplicity many sorted signatures for both algebraic specification and Evolving Algebras. We do not address the problem how one-sorted Evolving Algebras are translated to many-sorted ones [34]. The paper is structured as follows. In the second section we give the main ideas, and in the last section wedraw conclusions and indicate further work
K.: Modeling an Electronic Throttle Controller using the Timed Abstract State Machine Language and Toolset
- In: Proceedings of the Satellite Events of the 2006 MoDELS Conference. LNCS
, 2006
"... A key challenge in the design and analysis of real-time systems is the integration of functional and non-functional properties into a single specification. In this paper, we present an integrated toolset based on the TASM language. The toolset is used to specify and analyze reactive embedded real-ti ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
A key challenge in the design and analysis of real-time systems is the integration of functional and non-functional properties into a single specification. In this paper, we present an integrated toolset based on the TASM language. The toolset is used to specify and analyze reactive embedded real-time systems. The toolset implements the features of the Timed Abstract State Machine (TASM) language, a novel specification language. The non-functional properties that can be expressed in the language include timing behavior and resource consumption. The toolset enables the creation of executable specifications with well-defined execution semantics, abstraction mechanisms, and composition semantics. The toolset includes facilities for editing, analyzing, and simulating TASM specifications. The features of the toolset are demonstrated using an Electronic Throttle Controller (ETC) from a major automotive vendor. The TASM toolset is used to analyze the mode switching logic of the ETC. The ETC is used to calculate fuel injection and air intake to optimize fuel consumption. The TASM toolset is used to analyze the resource consumption resulting from the mode switching logic, and to verify the completeness and consistency of the specification. 1
Dynamic Semantics of the Oberon Programming Language
, 1996
"... In this paper we present an abstract mathematical model for the dynamic semantics of the Oberon programming language using the Evolving Algebras approach. Oberon is the object-oriented successor of Pascal and Modula2. The resulting formal specification is complete, compact, and understandable with m ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In this paper we present an abstract mathematical model for the dynamic semantics of the Oberon programming language using the Evolving Algebras approach. Oberon is the object-oriented successor of Pascal and Modula2. The resulting formal specification is complete, compact, and understandable with minimal training.

