Results 1 - 10
of
10
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.
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).
Generating an Action Notation Environment from Montages Descriptions
, 2001
"... . In this paper we present an implementation of action notation based on a formal and modular speci cation of its semantics. This specication allows an automatic generation of an environment consisting of an interpreter and a debugger which allows the visualization of an action notation program exec ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
. In this paper we present an implementation of action notation based on a formal and modular speci cation of its semantics. This specication allows an automatic generation of an environment consisting of an interpreter and a debugger which allows the visualization of an action notation program execution and relates it to the given formal specication. The semantic description presented here is based on Montages, which is a semi-visual formalism for the speci cation of the syntax and semantics of programming languages. The tool support for Montages, called GemMex is used to execute the action notation specication and thereby generate an environment for executing action notation programs. Moreover, the specication maintains and renes the structuring of actions in terms of facets and thus ensures that the modularity present in action notation is retained in its semantic description. 1 Introduction Action semantics [30,34,52] is a specication formalism for the semantics of program...
Enhanced Control Flow Graphs in Montages
, 1999
"... . A semi-visual framework for the specification of syntax and semantics of imperative programming languages, called Montages, was proposed in an earlier work by the authors. The primary aim of this formalism is to assist in recording the decisions taken by the designer during the language design ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
. A semi-visual framework for the specification of syntax and semantics of imperative programming languages, called Montages, was proposed in an earlier work by the authors. The primary aim of this formalism is to assist in recording the decisions taken by the designer during the language design process. The associated tool Gem-Mex allows the designer to maintain the specification and to inspect the semantics to verify whether the design decisions have been properly formalized. Experience with full-scale case studies on Oberon, Java, and domain specific languages showed the close relationship to Finite State Machines (FSMs). This paper gives a new definition of Montages based on FSMs. It confers to the formalism enhanced pragmatic qualities, such as writability, extensibility, readability, and, in general, ease of maintenance. 1 Introduction The aim of Montages is to document formally the decisions taken during the design process of realistic programming languages. Syntax,...
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...
Extensible Attribute Grammars
, 1992
"... This report introduces a new idea to make attribute grammars (AG) extensible. Both the context-free grammar and the attribution system of an AG may be extended. This concept is a valuable structuring technique when defining language-based programming environments or compilers. For instance, it allow ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
This report introduces a new idea to make attribute grammars (AG) extensible. Both the context-free grammar and the attribution system of an AG may be extended. This concept is a valuable structuring technique when defining language-based programming environments or compilers. For instance, it allows passes of a multipass compiler to be decomposed into different grammar levels, which renders the definition much clearer. Another application consists of defining an interface for an external tool (browser) on an independent grammar level neatly separated from the actual language definition. The concept of extensible attribute grammars is first introduced using a formal model, and thereafter practical examples demonstrate possible applications.
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...
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.
Enhanced Control and Data Flow Graphs in Montages
, 1998
"... Montages is a semi-visual framework for the specification of syntax and semantics of imperative programming languages. The primary aim of Montages is to allow for specifications which can be produced and used during the various stages of the language life cycle. This paper describes an extension of ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Montages is a semi-visual framework for the specification of syntax and semantics of imperative programming languages. The primary aim of Montages is to allow for specifications which can be produced and used during the various stages of the language life cycle. This paper describes an extension of Montages and its logical /algebraic characterization. The need for the extension occurred during full-scale case studies on Oberon, Java, and a domain specific language, that has been designed in industry. The tool support for Montages (Gem-Mex) has been completely re-implemented in order to support the new features and to generate an enhanced programming environment. 1 Introduction In this paper, we present an enhancement of Montages [22], a framework for the formal description of syntax and semantics of imperative programming languages. The aim of Montages is to give formal descriptions of realistic programming languages in way that such descriptions can be produced and used during the l...
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...

