Results 1 
5 of
5
Evolving Algebras: An Attempt To Discover Semantics
, 1993
"... Machine (a virtual machine model which underlies most of the current Prolog implementations and incorporates crucial optimization techniques) starting from a more abstract EA for Prolog developed by Borger in [Bo1Bo3]. Q: How do you tailor an EA machine to the abstraction level of an algorithm wh ..."
Abstract

Cited by 74 (12 self)
 Add to MetaCart
Machine (a virtual machine model which underlies most of the current Prolog implementations and incorporates crucial optimization techniques) starting from a more abstract EA for Prolog developed by Borger in [Bo1Bo3]. Q: How do you tailor an EA machine to the abstraction level of an algorithm whose individual steps are complicated algorithms all by themselves? For example, the algorithm may be written in a high level language that allows, say, multiplying integer matrices in one step. A: You model the given algorithm modulo those algorithms needed to perform single steps. In your case, matrix multiplication will be built in as an operation. Q: Coming back to Turing, there could be a good reason for him to speak about computable functions rather than algorithms. We don't really know what algorithms are. A: I agree. Notice, however, that there are different notions of algorithm. On the one hand, an algorithm is an intuitive idea which you have in your head before writing code. Th...
High level system design and analysis using abstract state machines
 CURRENT TRENDS IN APPLIED FORMAL METHODS (FMTRENDS 98), NUMBER 1641 IN LNCS
, 1999
"... We provide an introduction to a practical method for rigorous system development which has been used successfully, under industrial constraints, for design and analysis of complex hardware/software systems. The method allows one to start system development with a trustworthy high level system specif ..."
Abstract

Cited by 50 (12 self)
 Add to MetaCart
We provide an introduction to a practical method for rigorous system development which has been used successfully, under industrial constraints, for design and analysis of complex hardware/software systems. The method allows one to start system development with a trustworthy high level system specification and to link such a "ground model" in a well documented and inspectable way through intermediate design steps to its implementation. The method enhances traditional operational modelling and analysis techniques by incorporating the most general abstraction, decomposition and re nement mechanisms which have become available through Gurevich's Abstract State Machines. Through its versatility the ASM approach is nonmonolithic and integratable at any development level into current design and analysis environments. We also collect experimental evidence for the ASM thesis, a generalization of Turing's thesis.
Why use evolving algebras for hardware and software engineering?
, 1995
"... In this paper I answer the question how evolving algebras can be used for the design and analysis of complex hardware and software systems. I present the salient features of this new method and illustrate them through several examples from my work on specification and verification of programming lan ..."
Abstract

Cited by 37 (4 self)
 Add to MetaCart
In this paper I answer the question how evolving algebras can be used for the design and analysis of complex hardware and software systems. I present the salient features of this new method and illustrate them through several examples from my work on specification and verification of programming languages, compilers, protocols and architectures. The definition of a mathematical model for Hennessy and Patterson's RISC architecture DLX serves as a running example; this model is used in [24] to prove the correctness of instruction pipelining. I will point out the yet unexplored potential of the evolving algebra method for largescale industrial applications.
The ASM ground model method as a foundation of requirements engineering
 Verification: Theory and Practice, volume 2772 of LNCS
, 2003
"... Abstract. Building ground models is one of the three constituents of the engineering method for computerbased systems which is known as Abstract State Machine (ASM) method [16]. In this note we characterize ground models, whose epistemological role for a foundation of system design resembles the on ..."
Abstract

Cited by 21 (9 self)
 Add to MetaCart
Abstract. Building ground models is one of the three constituents of the engineering method for computerbased systems which is known as Abstract State Machine (ASM) method [16]. In this note we characterize ground models, whose epistemological role for a foundation of system design resembles the one Aristotle assigned to axioms to ground science in reality, avoiding infinite regress. We explain how ASM ground models help to resolve two major problems of requirements engineering, providing means a) to obtain for complex computerbased systems an adequate understanding by humans, and b) to cope with everchanging requirements by faithfully capturing and tracing them via welldocumented modeling–for–change. We point out that via an appropriate refinement method one can relate ground models to executable code. 1 IINTRODUCTION In a recent paper [6] Daniel Berry identifies requirements engineering as the main source for “the inevitable pain of software development”, explaining “why there
A HighLevel Modular Definition of the Semantics of C#
 Journal Theoretical Computer Science
, 2004
"... We propose a structured mathematical definition of the semantics of C# programs to provide a platformindependent interpreter view of the language for the C# programmer, which can also be used for a precise analysis of the ECMA [22] standard of the language and as a reference model for teaching. The ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
We propose a structured mathematical definition of the semantics of C# programs to provide a platformindependent interpreter view of the language for the C# programmer, which can also be used for a precise analysis of the ECMA [22] standard of the language and as a reference model for teaching. The definition takes care to reflect directly and faithfully  as much as possible without becoming inconsistent or incomplete  the descriptions in the C# standard to become comparable with the corresponding models for Java in [37] and to provide for implementors the possibility to check their basic design decisions against an accurate highlevel model. The model sheds light on some of the dark corners of C# and on some critical differences between the ECMA standard and the implementations of the language.