Domain-specific languages (DSL) provides high-level functions making applications easier to write, and to maintain. Unfortunately, many applications axe written from scratch and poorly documented, which make them hard...
详细信息
ISBN:
(纸本)3540291385
Domain-specific languages (DSL) provides high-level functions making applications easier to write, and to maintain. Unfortunately, many applications axe written from scratch and poorly documented, which make them hard to maintain. An ideal solution should be to rewrite them in a appropriate DSL. In this paper, we present TeMa (Template Matcher), an automatic tool to recognize high-level functions in source code. Preliminary results show how TeMa can be used to reformulate Fortran code into Signal Processing Language (SPL) used in SPIRAL. this opens new possibilities for domain-specific languages.
Programs can be composed from features. We want to verify automatically that all legal combinations of features can be composed safely without errors. Prior work on this problem assumed that features add code monotoni...
详细信息
ISBN:
(纸本)9781605584942
Programs can be composed from features. We want to verify automatically that all legal combinations of features can be composed safely without errors. Prior work on this problem assumed that features add code monotonically. We generalize prior work to enable features to add and remove code, describe our analyses and implementation, and review case studies. We observe that more expressive features increase the complexity of developed programs rapidly - up to the point where tools and automated concepts as presented in this paper are indispensable for verification.
Multiple dispatch - the selection of a function to be invoked based on the dynamic type of two or more arguments - is a solution to several classical problems in object-oriented programming. Open multi-methods general...
详细信息
In this paper we describe a type system for a generative mechanism that generalizes the concept of generic types by combining it with a controlled form of reflection. this mechanism makes many code generation tasks po...
详细信息
ISBN:
(纸本)3540291385
In this paper we describe a type system for a generative mechanism that generalizes the concept of generic types by combining it with a controlled form of reflection. this mechanism makes many code generation tasks possible for which generic types alone would be insufficient. the power of code generation features are carefully balanced withtheir safety, so that we axe able to perform static type checks on generator code. this leads to a generalized notion of type safety for generators.
We describe a graphical programming system for a domain specific language in biosequence analysis. It supports the development of programs for RNA structure prediction and motif search, created by biologists with litt...
详细信息
this paper presents the definition of a language with reflection primitives. the language is a homogeneous multi-stage language that provides the capacity of code analysis by the inclusion of a pattern matching mechan...
详细信息
Template languages are widely used within generativeprogramming, because they provide intuitive means to generate software artefacts expressed in a specific object language. However, most template languages perform t...
详细信息
ISBN:
(纸本)9781605584942
Template languages are widely used within generativeprogramming, because they provide intuitive means to generate software artefacts expressed in a specific object language. However, most template languages perform template instantiation on the level of string literals, which allows neither syntax checks nor semantics analysis. To make sure that generated artefacts always conform to the object language, we propose to perform static analysis at template design time. In addition, the increasing popularity of domain-specific languages (DSLs) demands an approach that allows to reuse boththe concepts of template languages and the corresponding tools. In this paper we address the issues mentioned above by presenting how existing languages can be automatically extended with generic template concepts (e.g., placeholders, loops, conditions) to obtain safe template languages. these languages provide means for syntax checking and static semantic analysis w.r.t. the object language at template design time. We discuss the prerequisites for this extension, analyse the types of correctness properties that can be assured at template design time, and exemplify the key benefits of this approach on a textual DSL and Java.
Code instrumentation is finding more and more practical applications, but the required program transformations are often difficult to implement, due to the lack of dedicated, high-level tools. In this paper we present...
详细信息
the validation and verification of reliable systems is a difficult and complex task, mainly for two reasons: First, it is difficult to precisely state which formal properties a system needs to fulfil to be of high qua...
详细信息
ISBN:
(纸本)9781450306898
the validation and verification of reliable systems is a difficult and complex task, mainly for two reasons: First, it is difficult to precisely state which formal properties a system needs to fulfil to be of high quality. Second, it is complex to automatically verify such properties, due to the size of the analysis state space which grows exponentially withthe number of components. We tackle these problems by a tool-supported method which embeds application functionality in building blocks that use UML activities to describe their internal behaviour. To describe their externally visible behaviour, we use a combination of complementary interface contracts, so-called ESMs and EESMs. In this paper, we present an extension of the interface contracts, External Reliability Contracts (ERCs), that capture failure behaviour. this separation of different behavioural aspects in separate descriptions facilitates a two-step analysis, in which the first step is completely automated and the second step is facilitated by an automatic translation of the models to the input syntax of the model checker TLC. Further, the cascade of contracts is used to separate the work of domain and reliability experts. the concepts are proposed withthe background of a real industry case, and we demonstrate how the use of interface
Traditional protocol implementation approaches capture the structural aspects of protocols in a common base that can be used accross layers. However, they are usually not very good at capturing the behavioral aspects....
详细信息
ISBN:
(纸本)3540442847
Traditional protocol implementation approaches capture the structural aspects of protocols in a common base that can be used accross layers. However, they are usually not very good at capturing the behavioral aspects. Two important implementation problems result, namely, reprogramming similar behavior and configuration of crosscutting concerns. In this paper, we present an approach to solve the problems of reprogramming similar behavior and absence of systematic configuration mechanisms for crosscutting concerns in communication systems. Our approach is based on generativeprogramming, has been implemented in C++ and has been validated with several protocols. We also sketch an approach for run-time reconfigurable protocol stacks.
暂无评论