In most business software systems the time dimension of business objects plays a significant role. Time is a crosscutting concern that is hard to separate from other business logic. We have developed a toolkit that al...
详细信息
ISBN:
(纸本)1581137516
In most business software systems the time dimension of business objects plays a significant role. Time is a crosscutting concern that is hard to separate from other business logic. We have developed a toolkit that allows existing business application systems to be extended with "time- conscious" behavior in a non-intrusive way by factoring out all aspects of time-related behavior into a framework and a set of classes that is distinct from the existing code base. The Time Conscious Objects™ (TCO™) toolkit is currently implemented in Java™, but through the use of generation technology the toolkit can easily be made available in any language that supports polymorphism.
Concepts - sets of abstractions related by common requirements have a central role in generic programming. This paper proposes a general framework for using concepts to control polymorphism in different ways. First, c...
详细信息
ISBN:
(纸本)3540201025
Concepts - sets of abstractions related by common requirements have a central role in generic programming. This paper proposes a general framework for using concepts to control polymorphism in different ways. First, concepts can be used to constrain parametric polymorphism, as exemplified by type classes in Haskell. Second, concepts can be used to provide fine-grained control of function and operator overloading. Finally, generic functions can be overloaded (specialized) based on concepts, rather than simply on types. We describe a C++ implementation of a new mechanism, which we call enable-if, and its role in concept-controlled polymorphism.
An executable computational logic can provide the desired bridge between formal system properties and formal methods to verify them on the one hand, and executable models of system designs based on programming languag...
详细信息
ISBN:
(纸本)0769519237
An executable computational logic can provide the desired bridge between formal system properties and formal methods to verify them on the one hand, and executable models of system designs based on programminglanguages on the other. However, not all such logics are equally well suited for the task. This paper gives some requirements that seem important for a computational logic to be suitable in practice, and discusses the experience with rewriting logic, its Maude languageimplementation, and its formal tool environment, concluding that they seem to meet well those requirements.
In most business software systems the time dimension of business objects plays a significant role. Time is a crosscutting concern that is hard to separate from other business logic. We have developed a toolkit that al...
详细信息
ISBN:
(纸本)1581137516
In most business software systems the time dimension of business objects plays a significant role. Time is a crosscutting concern that is hard to separate from other business logic. We have developed a toolkit that allows existing business application systems to be extended with "time- conscious" behavior in a non-intrusive way by factoring out all aspects of time-related behavior into a framework and a set of classes that is distinct from the existing code base. The Time Conscious Objects™ (TCO™) toolkit is currently implemented in Java™, but through the use of generation technology the toolkit can easily be made available in any language that supports polymorphism.
The Ovm framework is a set of tools and components for building language runtimes. We present the intermediate representation and software design patterns used throughout the framework. One of the main themes in this ...
详细信息
Families of independent classes, where each class represents a separate, orthogonal concern are highly attractive for implementing collaboration-based design. However, required subtype relationship between such famili...
详细信息
ISBN:
(纸本)3540201025
Families of independent classes, where each class represents a separate, orthogonal concern are highly attractive for implementing collaboration-based design. However, required subtype relationship between such families cannot be expressed in many programminglanguages. This paper presents a framework to handle collaborating groups of classes using template metaprogramming based on standard C++ features in the style of Loki: :Typelist. Our solution provides tailor-made implicit conversion rules between appropriate groups, inclusion polymorphism and a tool for dynamic binding.
The Generative Model Transformer (GMT) project is an Open Source initiative to build a Model Driven Architecure™ tool that allows fully customisable Platform Independent Models, Platform Description Models, Texture Ma...
详细信息
ISBN:
(纸本)1581137516
The Generative Model Transformer (GMT) project is an Open Source initiative to build a Model Driven Architecure™ tool that allows fully customisable Platform Independent Models, Platform Description Models, Texture Mappings, and Refinement Transformations. The project should result in (a) a tool that fulfils the MDA promise for faster/more accurate/better maintainable application development, (b) a tool for industrial use, and (c) MDA related research - which is encouraged and needed. A distinctive feature of GMT is the emphasis of model transformations as "first-class model citizens". The implementation of model transformations is envisaged to be in conformance with the future OMG modeling standard for Queries, Views, and Transformations (QVT).
The Real-Time Specification for Java (RTSJ) provides facilities for deterministic, real-time execution in a language that is otherwise subject to variable latencies in memory allocation and garbage collection. A major...
详细信息
ISBN:
(纸本)1581137516
The Real-Time Specification for Java (RTSJ) provides facilities for deterministic, real-time execution in a language that is otherwise subject to variable latencies in memory allocation and garbage collection. A major consequence of these facilities is that the normal Java practice of passing around references to objects in heap memory cannot be used in hard real-time activities. Instead, designers must think carefully about what type of non-heap memory to use and how to transfer data between components without violating RTSJ's memory-area assignment rules. This report explores the issues of programming with non-heap memory from a practitioner's view in designing and programming real-time control loops using a commercially available implementation of the RTSJ.
The Generative Model Transformer (GMT) project is an Open Source initiative to build a Model Driven Architecure™ tool that allows fully customisable Platform Independent Models, Platform Description Models, Texture Ma...
详细信息
ISBN:
(纸本)1581137516
The Generative Model Transformer (GMT) project is an Open Source initiative to build a Model Driven Architecure™ tool that allows fully customisable Platform Independent Models, Platform Description Models, Texture Mappings, and Refinement Transformations. The project should result in (a) a tool that fulfils the MDA promise for faster/more accurate/better maintainable application development, (b) a tool for industrial use, and (c) MDA related research - which is encouraged and needed. A distinctive feature of GMT is the emphasis of model transformations as "first-class model citizens". The implementation of model transformations is envisaged to be in conformance with the future OMG modeling standard for Queries, Views, and Transformations (QVT).
Traits are a programminglanguage technology that promote the reuse of methods between unrelated classes. This paper reports on a refactoring of the Smalltalk collections classes using traits. The original collection ...
详细信息
Traits are a programminglanguage technology that promote the reuse of methods between unrelated classes. This paper reports on a refactoring of the Smalltalk collections classes using traits. The original collection classes contained much duplication of code;traits let us remove all of it. We also found places where the protocols of the collections lacked uniformity;traits allowed us to correct these non-uniformities without code duplication. Traits also make it possible to reuse fragments of collection code outside of the existing hierarchy;for example, they make it easy to convert other collection-like things into true collections. Our refactoring reduced the number of methods in the collection classes by approximately 10 per cent. More importantly, understandability maintainability and reusability of the code were significantly improved.
暂无评论