The MetaBorg usage pattern allows concrete syntax to be associated with application programmer interfaces (API's). Once a concrete syntax is defined, library writers use the Stratego language to write transformati...
详细信息
Template metaprogramming is an emerging new direction in C++ programming for executing algorithms in compilation time. Despite all of its already proven benefits and numerous successful applications, it is yet to be a...
详细信息
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 with generative 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.
Increasingly, object-oriented technology, specifically the Unified Modeling Language (UML), is being used to develop critical embedded systems. Several efforts have attempted to translate UML models into formal specif...
详细信息
ISBN:
(纸本)3540457720
Increasingly, object-oriented technology, specifically the Unified Modeling Language (UML), is being used to develop critical embedded systems. Several efforts have attempted to translate UML models into formal specification languages, thus enabling the models to be analyzed by model checkers. Unfortunately, the complexity and volume of the analysis results often prevents developers from fully taking advantage of the analysis capabilities. This paper introduces a generic visualization framework, Theseus, that provides developers with a model-based, visual interpretation of the analysis results in terms of the original UML diagrams. Within this framework, a playback mechanism displays the execution path that has led to a model checking violation in terms of the original UML state diagram and a newly generated sequence diagram that depicts the problem scenario. A Theseus prototype supporting the Spin and SMV model checkers has been applied to the analysis of UML models for embedded systems from industry.
This roadmap describes ways that researchers in four areas - -specification languages, program generation, correctness by construction, and programminglanguages - -might help further the goal of verified software. It...
详细信息
We propose an approach that combines MDE and AOSD to automatically translate high-level business rules to aspects and integrate them with existing object-oriented applications. The separation of rule-based knowledge f...
详细信息
ISBN:
(纸本)3540457720
We propose an approach that combines MDE and AOSD to automatically translate high-level business rules to aspects and integrate them with existing object-oriented applications. The separation of rule-based knowledge from the core application as explicit business rules has been the focus of existing approaches. However, they fail at supporting rules that are both high-level, i.e. defined in domain terms, and operational, i.e. automatically executable from the core application. In this paper we propose high-level languages for expressing business rules at the domain level as well as their connections to the core application. We provide support for automatically translating high-level rules to object-oriented programs and their connections to aspects, since these crosscut the core application. Separation of concerns is preserved at the domain and implementation levels, facilitating traceability, reusability and adaptability. A prototype implementation and a discussion on trade-offs are presented.
Program generators are most naturally specified using a quote/antiquote facility;the programmer writes programs with holes which are filled in, at program generation time, by other program fragments. If the programs a...
详细信息
Runtime reflection facilities, as present in Java and .NET, are powerful mechanisms for inspecting existing code and metadata, as well as generating new code and metadata on the fly. Such power does come at a high pri...
详细信息
The proceedings contain 12 papers. The topics discussed include: linguistic support for modern operating systems workshop on programminglanguages and operating systems 2006 (PLOS 2006);atomicity and visibility in tin...
ISBN:
(纸本)1595935770
The proceedings contain 12 papers. The topics discussed include: linguistic support for modern operating systems workshop on programminglanguages and operating systems 2006 (PLOS 2006);atomicity and visibility in tiny embedded systems;writing Solaris device drivers in java;OSEK/VDX API for Java;SysObjC: C extension for development of object-oriented operating systems;efficient type and memory safety for tiny embedded systems;type inference for unboxed types and first class mutability;a: an assertion language for distributed systems;programming language challenges in systems codes why systems programmers still use C, and what to do about it;issues in holistic system design;and portability events: a programming model for scalable system infrastructures.
Despite the fact that the refinement technique is one of the cornerstones of a formal approach to software engineering, the concept of refinement in model driven engineering is loosely defined and open to misinterpret...
详细信息
ISBN:
(纸本)3540457720
Despite the fact that the refinement technique is one of the cornerstones of a formal approach to software engineering, the concept of refinement in model driven engineering is loosely defined and open to misinterpretations. In this article we present a rigorous technique for specifying and verifying frequently occurring forms of refinement that take place in software modeling. Such strategy uses the formal language object-Z as a background foundation, whereas designers only have to deal with the broadly accepted UML and OCL languages, thus propitiating the inclusion of verification in ordinary software engineering activities, increasing in this way the level of confidence on the correctness of the final product. Finally, an automatic tool is provided to support such model refinement activities;this tool adopts the micromodels strategy to reduce the search scope, making the verification process feasible.
暂无评论