Modular Monadic Semantics (MMS) is a well-known mechanism for structuring modular denotational semantic definitions for programming languages. the principal attraction of MMS is that families of language constructs ca...
详细信息
Modular Monadic Semantics (MMS) is a well-known mechanism for structuring modular denotational semantic definitions for programming languages. the principal attraction of MMS is that families of language constructs can be independently specified and later combined in a mix-and-match fashion to create a complete language semantics. this has proved useful for constructing formal, yet executable, semantics when prototyping languages. In this work we demonstrate that MMS has an additional software engineering benefit. In addition to composing semantics for various language constructs, we can use MMS to compose various differing semantics for the same language constructs. this capability allows us to compose and reuse orthogonal language tasks such as type checking and compilation. We describe algebra combinators, the principal vehicle for achieving this reuse, along with a series of applications of the technique for common language processing tasks. (C) 2010 Elsevier B.V. All rights reserved.
the proceedings contain 21 papers. the topics discussed include: generative metaprogramming;parsimony principles for software components and metalanguages;debugging macros;lightweight scalable components;constructing ...
详细信息
ISBN:
(纸本)9781595938558
the proceedings contain 21 papers. the topics discussed include: generative metaprogramming;parsimony principles for software components and metalanguages;debugging macros;lightweight scalable components;constructing language processors with algebra combinators;aspects of availability;refactoring-based support for binary compatibility in evolving frameworks;Repleo: a syntax-safe template engine;preventing injection attacks with syntax embeddings;context-aware scanning for parsing extensible languages;library composition and adaptation using C++ concepts;challenges in generating QoS-constrained software implementations;and safe composition of product lines.
programming in an open environment remains challenging because it requires combining modularity, security, concurrency, distribution, and dynamicity. In this paper, we propose an approach to open distributed programmi...
详细信息
Modular Monadic Semantics (MMS) is a well-known mechanism for structuring modular denotational semantic definitions for programming languages. the principal attraction of MMS is that families of language constructs ca...
详细信息
ISBN:
(纸本)9781595938558
Modular Monadic Semantics (MMS) is a well-known mechanism for structuring modular denotational semantic definitions for programming languages. the principal attraction of MMS is that families of language constructs can be independently specified and later combined in a mix-and-match fashion to create a complete language semantics. this has proved useful for constructing formal, yet executable, semantics when prototyping languages. In this work we demonstrate that MMS has an additional software engineering benefit. In addition to composing semantics for various language constructs, we can use MMS to compose various differing semantics for the same language constructs. this capability allows us to compose and reuse orthogonal language tasks such as type checking and compilation. We describe algebra combinators, the principal vehicle for achieving this reuse, along with a series of applications of the technique for common language processing tasks. (C) 2010 Elsevier B.V. All rights reserved.
Embedded systems can be viewed as scaled-down versions of their stand-alone counterparts. In many cases, the software abstractions and libraries for embedded systems can be derived from libraries for stand-alone syste...
详细信息
Recent advances in Software engineering have reduced the cost of coding programs at the expense of increasing the complexity of program synthesis, i.e. metaprograms, which when executed, will synthesize a target progr...
详细信息
Maintaining integrity and consistency, and effecting conformance in architectures of large-scale systems require specification and enforcement of many different forms of structural constraints. While type systems have...
详细信息
ISBN:
(纸本)9781595938558
Maintaining integrity and consistency, and effecting conformance in architectures of large-scale systems require specification and enforcement of many different forms of structural constraints. While type systems have proved effective for enforcing structural constraints in programs and data structures, most architectural modeling frameworks include only weak notions of typing or rely on first order logic constraint languages that have steep learning curves associated withthem and that become unwieldy when scaling to large systems. We present the CADENA Architecture Language with Meta-modeling (CALM) - that uses multi-level type systems to specify and enforce a variety of architectural constraints relevant to the development of large-scale component-based systems. CADENA is a robust and extensible tool that has been used to specify a number of industrial strengthcomponent models and applied in multiple industrial research projects on model-driven development and software product lines. (C) 2009 Elsevier B.V. All rights reserved.
Software engineering demands generality and abstraction, performance demands specialization and concretization. generativeprogramming can provide both, but developing high-quality program generators takes a large eff...
详细信息
ISBN:
(纸本)9781450301541
Software engineering demands generality and abstraction, performance demands specialization and concretization. generativeprogramming can provide both, but developing high-quality program generators takes a large effort, even if a multi-stage programming language is used. We present lightweight modular staging, a library-based multi-stage programming approach that breaks withthe tradition of syntactic quasi-quotation and instead uses only types to distinguish between binding times. through extensive use of component technology, lightweight modular staging makes an optimizing compiler framework available at the library level, allowing programmers to tightly integrate domain-specific abstractions and optimizations into the generation process. We argue that lightweight modular staging enables a form of language virtualization, i.e. allows to go from a pure-library embedded language to one that is practically equivalent to a stand-alone implementation with only modest effort.
the evolution of a software framework may invalidate existing plugins - modules that used one of its previous versions. To preserve binary compatibility (i.e., plugins will link and run with a new framework release wi...
详细信息
Maintaining integrity and consistency, and effecting conformance in architectures of large-scale systems require specification and enforcement of many different forms of structural constraints. While type systems have...
详细信息
Maintaining integrity and consistency, and effecting conformance in architectures of large-scale systems require specification and enforcement of many different forms of structural constraints. While type systems have proved effective for enforcing structural constraints in programs and data structures, most architectural modeling frameworks include only weak notions of typing or rely on first order logic constraint languages that have steep learning curves associated withthem and that become unwieldy when scaling to large systems. We present the CADENA Architecture Language with Meta-modeling (CALM) - that uses multi-level type systems to specify and enforce a variety of architectural constraints relevant to the development of large-scale component-based systems. CADENA is a robust and extensible tool that has been used to specify a number of industrial strengthcomponent models and applied in multiple industrial research projects on model-driven development and software product lines. (C) 2009 Elsevier B.V. All rights reserved.
暂无评论