18 research outputs found
Montages/Gem-Mex: a meta visual programming generator
Last decade witnessed a disappointing lack in technology transfer from formal semantics to language design. Research in formal semantics has developed increasingly complex concepts and notation, at the expense of calculational clarity and applicability in the development of languages. Montages is a visual domain-specific formalism for specifying all the aspects of a programming language. It is intelligible to a broad range of people involved in the language life cycle, from design to programming. Language descriptions are fed to a rapid prototyping tool, called Gem-Mex, which generates a visual programming environment for the given language. Gem-Mex consists of a graphical front-end which allows a comfortable editing of the visual components of the specification. Starting from these visual descriptions the tool is able to generate in an automatic way high-quality documents, type-checkers, interpreters and a visual symbolic debugger. All these products form a powerful suite where the programmer can write, execute, animate and debug programs written in the specified language
Using Domain-Specific Languages for the Realization of Component Composition
In recent years, component-based development has evolved to one of the key technologies in software engineering, because it provides a promising way to deal with large scale software developments. Due to this, the realization of component interactions has become an important task while implementing a system being assembled from (existing) components. Scripting languages, like Perl, Tcl, Unix-Shell, are often used for implementing this so-called glue code, because they provide a exible way to process string-based input, the most common data structures used for component interactions. However, often it turns out that the algorithms of the component interactions are too sophisticated to be adequately expressed in this kind of languages. In this paper, we propose the use of language technology for that purpose: the strings passed between the components are treated as sentences in specialized component interaction languages (CIL). The syntax of such a language denes the in..
An ASM Dynamic Semantics for Standard ML
The Abstract State Machines (ASM) methodology is a methodology for formally specifying computing systems. We use the ASM methodology to give the dynamic semantics of the functional programming language Standard ML. We give an operational semantics for Standard ML by means of an interpreter for (appropriately pre-processed) Standard ML programs; the effect of a Standard ML instruction can be seen in terms of the corresponding actions performed by the ASM
Modular analysis of dataflow process networks
The original publication is available at www.springerlink.comProcess networks are popular for modelling distributed computing and signal processing applications, and multi-processor architectures. At the architecture description level, they have the flexibility to model actual processes using various formalisms. This is especially important where the systems are composed of parts with different characteristics, e.g. control-based or dataflow-oriented. However, this heterogeneity of processes presents a challenge for the analysis of process networks. This research proposes a lightweight method for analysing properties of such networks, such as freedom from unexpected reception and deadlock. The method employs interface automata as a bridge between the architectural model and heterogeneous processes. Thus, the properties are determined by a series of small tasks at both the architecture level and the process level. This separation of concerns simplifies the handling of heterogeneous processes and alleviates the potential state space explosion problem when analysing large systems.Yan Jin, Robert Esser, Charles Lakos and Jörn W. Jannec