Many systems may benefit from scripting support. but the implementation of it is seldom trivial especially if the system has not originally been developed with scripting support In mind In this paper we describe a gen...
详细信息
ISBN:
(纸本)1932415211
Many systems may benefit from scripting support. but the implementation of it is seldom trivial especially if the system has not originally been developed with scripting support In mind In this paper we describe a generative incremental process for creating an intuitive Python interface to a large, hierarchic COM library, The approach is illuminated with the original, real-life case study.
We present a framework for code generation that allows programs to manipulate and generate code at the source level while the joining and splicing of executable code is carried out automatically at the intermediate co...
详细信息
We present a framework for code generation that allows programs to manipulate and generate code at the source level while the joining and splicing of executable code is carried out automatically at the intermediate code/VM level. The framework introduces a data type code to represent code fragments: methods/operators from this class are used to reify a method from a class, producing its representation as an object of type code. Code objects can be combined by partial application to other code objects. Code combinators, corresponding to higher-order methods, allow splicing the code of a functional actual parameter into the resulting Code object. CodeBricks is a library implementing the framework for the NET Common Language Runtime. The framework can be exploited by language designers to implement metaprogramming, multistage programming and other language features. We illustrate the use of the technique in the implementation of a fully featured regular expression compiler that generates code emulating a finite state automaton. We present benchmarks comparing the performance of the RE matcher built with CodeBricks with the hand written one present in NET.
The network-centric "system-of-systems" concept popular in current defense programs has been viewed from a very functional perspective. However, the heart of such a system is going to be an embedded software...
详细信息
ISBN:
(纸本)081944491X
The network-centric "system-of-systems" concept popular in current defense programs has been viewed from a very functional perspective. However, the heart of such a system is going to be an embedded software infrastructure of unprecedented complexity, and the technology for developing and testing this software needs as much if not more immediate attention than the concept of operations for the envisioned applications. Such an embedded software system will need to be infinitely scalable, modular, verifiable, and distributed, yet satisfy the myriad hard real-time performance constraints imposed by each of perhaps many different device types and service demands. It is suggested here that the only path to a robust design methodology for such systems is with model-based design. Model-based embedded system design is the focus of the Model-Based Integration of Embedded Software (MoBIES) program, currently underway at the Defense Advanced Research Projects Agency (DARPA), managed by the author. This paper will motivate the model-based approach to large-scale embedded software design and explain how projects funded under MoBIES are contributing to the development of interoperable model-based design tool components. An application for such technology is provided in the context of digital flight control systems for aggressive aircraft maneuvers, which is the subject of another DARPA sponsored program, Software-Enabled Control (SEC).
One of the major progress due to component based technology is the capability to let the "infrastructure" manage some (non functional or extra functional) aspects such as persistency, distribution and so on ...
详细信息
ISBN:
(纸本)9781581134698
One of the major progress due to component based technology is the capability to let the "infrastructure" manage some (non functional or extra functional) aspects such as persistency, distribution and so on without having to change the application code, using a wrappers technology (containers). Aspect Oriented programming (AOP) is a technology that provides a language in which different aspects can be applied to an application using a technology that "weaves" the code implementing the aspect inside the application *** technologies are addressing the same "separation of concerns" issue, but containers propose only a fixed set of services, while AOP require the capability to change the component code, and is working at the object *** our work, we merge both approaches, allowing aspect designers to define new aspects or services and aspect users to apply these aspects or services on components without the component code availability. This goal is reached by providing two languages, one for aspect designers the other one for aspect users, and by using a palette of technologies including object (stub) generation, method call interception and run-time instrumentation.
This paper argues that the current OO technology does not support reuse and configurability in an effective way, This problem can be addressed by augmenting OO Analysis and Design with feature modeling and by applying...
详细信息
This paper argues that the current OO technology does not support reuse and configurability in an effective way, This problem can be addressed by augmenting OO Analysis and Design with feature modeling and by applying generative implementation techniques. Feature modeling allows capturing the variability of domain concepts, Concrete concept instances can then be synthesized from abstract specifications. Using a simple example of a configurable list component, we demonstrate the application of feature modeling and how to implement a feature model as a generator. We introduce the concepts of configuration repositories and configuration generators and show how to implement them using object-oriented, generic, and generative language mechanisms. Interestingly, a configuration repository represents an effective approach for typing synthesized recursive classes. The configuration generator utilizes C++ template metaprogramming, which enables its execution at compile-time. Copyright (C) 2000 John Wiley & Sons, Ltd.
This paper argues that the current OO technology does not support reuse and configurability in an effective way. This problem can be addressed by augmenting OO Analysis and Design with feature modeling and by applying...
详细信息
暂无评论