We present a domain-specific-language (DSL) for writing instances of a class of filter programs. the values in the language are symbolic and independent of a concrete precision. Efficient code generation is required t...
详细信息
ISBN:
(纸本)3540291385
We present a domain-specific-language (DSL) for writing instances of a class of filter programs. the values in the language are symbolic and independent of a concrete precision. Efficient code generation is required to fit the program onto a target device limited in both memory and processing power. We construct an interpreter for the DSL in a language specific to the device which contains the semantics of the target instruction set embedded within a declarative meta-language. the compiler is automatically generated from the interpreter through specialisation. this extension of the instruction set allows the construction of an interpreter for the DSL that is both simple and clear. In particular it allows us to declare static representations of the symbolic values, and have the specialisation of the code produce operate upon these values in the instruction set of the target device.
the proceedings contain 31 papers. the topics discussed include: staging static analyses for program generation;a multi-stage language with intentional analysis;assimilating MetaBorg: embedding language tools in langu...
详细信息
ISBN:
(纸本)1595932372
the proceedings contain 31 papers. the topics discussed include: staging static analyses for program generation;a multi-stage language with intentional analysis;assimilating MetaBorg: embedding language tools in languages;creating custom containers withgenerative techniques;safe component updates;application-specific foreign-interface generation;when to use features and aspects?: a case study;a dynamic aspect-oriented system for OS kernels;concurrent aspects;software extension and integration with type classes;flexible and efficient measurement of dynamic bytecode metrics;patches as better bug reports;feature refactoring a multi-representation program into a product line;refactoring product lines;verifying feature-based model templates against well-formedness OCL constraints;roadmap for enhanced languages and methods to aid verification;semantic reasoning about feature composition via multiple aspect-weavings;and distributed meta-programming.
Extending a programming language by new language constructs often implies extending its compiler by additional machinery. To reduce the complex interweaving of compiler and extension implementations we present a simpl...
详细信息
ISBN:
(纸本)3540291385
Extending a programming language by new language constructs often implies extending its compiler by additional machinery. To reduce the complex interweaving of compiler and extension implementations we present a simple and modular concept of lifting the often needed additional preprocessing out of the base compiler implementation. Avoiding the introduction of standalone tools, this preprocessor framework for extensions of Haskell is designed as a separate portable library of monadic preprocessing functions based on Template Haskell. Additional preprocessing passes expressed in this framework can then much easier be carried along the series of ever advancing base compiler versions. Taking Eden, a parallel programming extension of Haskell, as an example we show that besides achieving improved portability and reusability pass code sizes can be reduced considerably.
the expressiveness of AspectJ's dynamic join point model has been shown in many useful applications, while the static join point model (also called lexical shadows) has been studied less. We propose a notion of sh...
详细信息
ISBN:
(纸本)3540291385
the expressiveness of AspectJ's dynamic join point model has been shown in many useful applications, while the static join point model (also called lexical shadows) has been studied less. We propose a notion of shadow programmingthat exposes a program's adapted lexical shadow information to compile time language constructs to enable customized static analysis and more expressive join point selection mechanisms. In particular, within the framework of the AspectJ language and compiler, we have designed and implemented two compile time language constructs, called Statically Executable Advice and Pointcut Evaluator respectively, to show how the lexical shadow information can be used.
Automatic programming (AP) systems have been used in a great variety of ways since the early days of software engineering. they have been used in Al related research approaches withthe nun to generate computer progra...
详细信息
ISBN:
(纸本)3540411720
Automatic programming (AP) systems have been used in a great variety of ways since the early days of software engineering. they have been used in Al related research approaches withthe nun to generate computer programs from informal, incomplete, natural language-like specifications as well as in more pragmatic approaches related to 4th level languages. Terms such as "application generator", "transformational system", "code synthesizer", "generative software development" were used for naming various approaches to AP. this paper presents a categorization scheme for AP systems. In this categorization scheme, a clear distinction is made between the Al related, hard AP- and soft AP systems. Alter that, a broad range of AP systems as well as their position in the categorization scheme is presented. Finally we discuss the relation between AP and software reuse.
Enterprise distributed real-time and embedded (DRE) systems are increasingly being developed withthe use of component-based software techniques. Unfortunately, commonly used component middleware platforms provide lim...
详细信息
ISBN:
(纸本)9781450306898
Enterprise distributed real-time and embedded (DRE) systems are increasingly being developed withthe use of component-based software techniques. Unfortunately, commonly used component middleware platforms provide limited support for event-based publish/subscribe (pub/sub) mechanisms that meet both quality-of-service (QoS) and configurability requirements of DRE systems. On the other hand, although pub/sub technologies, such as OMG Data Distribution Service (DDS), support a wide range of QoS settings, the level of abstraction they provide make it hard to configure them due to the significant source-level configuration that must be hard-coded at compile time or tailored at run-time using proprietary, ad hoc configuration logic. Moreover, developers of applications using native pub/sub technologies must write large amounts of boilerplate "glue" code to support run-time configuration of QoS properties, which is tedious and error-prone. this paper describes a novel, generative approach that combines the strengths of QoS-enabled pub/sub middleware withcomponent-based middleware technologies. In particular, this paper describes the design and implementation of DDS4CIAO which addresses a number of inherent and accidental complexities in the DDS4CCM standard. DDS4CIAO simplifies the development, deployment, and configuration of component-based DRE systems that leverage DDS's powerful QoS capabilities by provisioning DDS QoS policy settings and simplifying the development of DDS applications.
the development of embedded Systems becomes more and more complex. Model driven engineering can help to manage this complexity by specifying real-time properties in a declarative way and automating the deployment. the...
详细信息
ISBN:
(纸本)9781605584942
the development of embedded Systems becomes more and more complex. Model driven engineering can help to manage this complexity by specifying real-time properties in a declarative way and automating the deployment. the UML profile MARTE is a OMG standard that allows to model real-time properties. However, there is no execution infrastructure that supports MARTE's generic component model (GCM) and the application modeling (HLAM). the contribution of the paper is twofold: it presents a proposition of a component model with flexible interaction support that allows to tailor code generation to domain and target requirements. Second, it will show how MARTE's GCM concepts can be implemented by means of the proposed component model. the proposed component model has been largely developed in the context of the French national project Flex-eWare withthe intention to unify major components model, notably the CORBA component model (CCM) and Fractal. the paper explains the major elements of this model in detail and shows how specific connector and containers can implement MARTE specifications. We present the tool support that is integrated into a UML modeler and based on model-to- model and model to text transformations.
We describe the application of generativeprogramming to a problem in interactive information retrieval. the particular interactive information retrieval problem we study is the support for 'out of turn interactio...
详细信息
ISBN:
(纸本)3540291385
We describe the application of generativeprogramming to a problem in interactive information retrieval. the particular interactive information retrieval problem we study is the support for 'out of turn interaction' with a website - how a user can communicate input to a website when the site is not soliciting such information on the current. page, but will do so on a subsequent page. Our solution approach makes generous use of program transformations (partial evaluation, currying, and slicing) to delay the site's current solicitation for input until after the user's out-of-turn input is processed. We illustrate how studying out-of-turn interaction through a generative lens leads to several valuable insights: (i) the concept of a web dialog, (ii) an improved understanding of web taxonomies, and (iii) new web interaction techniques and interfaces. these notions allow us to cast-the design of interactive (and responsive) websites in terms of the underlying dialog structure and, further, suggest a simple implementation strategy with a clean separation of concerns. We also highlight new research directions opened up by the generativeprogramming approach to interactive information retrieval such as the idea of web interaction axioms.
the authors raise the problem of providing research work of students, postgraduates, and university teachers with up-To-date information on the functioning of national and international market structures, prove the ne...
详细信息
Modeling software systems as component & connector architectures with application-specific behavior modeling languages enables domain experts to describe each component behavior withthe most appropriate language....
详细信息
ISBN:
(纸本)9781450336871
Modeling software systems as component & connector architectures with application-specific behavior modeling languages enables domain experts to describe each component behavior withthe most appropriate language. Generating executable systems for such language aggregates requires composing appropriate code generators for the participating languages. Previous work on code generator composition either focuses on white-box integration based on code generator internals or requires extensive handcrafting of integration code. We demonstrate an approach to black-box generator composition for architecture description languages that relies on explicit interfaces and exploits the encapsulation of components. this approach is implemented for the architecture modeling framework MontiArcAutomaton and has been evaluated in various contexts. Ultimately, black-box code generator composition facilitates development of code generators for architecture description languages with embedded behavior languages and increases code generator reuse.
暂无评论