Aspect-oriented programming (AOP) is increasingly gaining in popularity. However, the focus of aspect-oriented language research has been mostly on languagedesign issues;efficient implementation techniques have been ...
详细信息
Many applications written in garbage collected languages have large dynamic working sets and poor data locality. We present a new system for continuously improving program data locality at run time with low overhead. ...
详细信息
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound because of possible memory errors due to dangling pointer references, uninitialized pointers, and array bounds overflow. W...
详细信息
Garbage collection has proven benefits, including fewer memory-related errors and reduced programmer effort. Garbage collection, however, trades space for time. It reclaims memory only when it is invoked: invoking it ...
详细信息
A number of hardware and software techniques have been proposed to detect dynamic program behaviors that may indicate a bug in a program. Because these techniques suffer from high overheads they are useful in finding ...
详细信息
Java's interface construct allows for a clear distinction between subtype polymorphism based on a shared interface and code reuse based on class extension or inheritance. design Patterns argues that in an object-o...
详细信息
ISBN:
(纸本)159593491X
Java's interface construct allows for a clear distinction between subtype polymorphism based on a shared interface and code reuse based on class extension or inheritance. design Patterns argues that in an object-oriented setting, programming should be done to an interface, not to an implementation, that class inheritance is a mechanism for code reuse rather than for subtyping and polymorphism, and that even composition should be favored over class inheritance. We conclude from this that interface should be introduced prior to and given more focus than classes and class inheritance. We survey 27 textbooks from major publishers to show that very few available texts teach Java this way. We propose an alternative ordering of material that will promote the principles mentioned above.
This paper introduces the expander, a new object-oriented (OO) programminglanguage construct designed to support object adaptation. Expanders allow existing classes to be noninvasively updated with new methods, field...
详细信息
sigplan sponsors the premier conferences in the area of programminglanguage research and maintains a vigorous program of workshops. sigplan explores programminglanguage concepts and tools focusing on design, impleme...
详细信息
sigplan sponsors the premier conferences in the area of programminglanguage research and maintains a vigorous program of workshops. sigplan explores programminglanguage concepts and tools focusing on design, implementation and efficient use. It has two types of relationships with conferences and workshops, sponsorship and in-cooperation. It also promotes a Republication Policy to clarify issues of overlap between related publications. It has arranged bulk provisions of conference management services from Softconf, which uses START V2. The service includes web hosting which relieves conference organizers of the responsibility for running the web server. The bulk rate negotiated with Softconf reduces cost to sigplan while at the same time improves the level of services.
This paper presents a case for the design and implementation of a modern programminglanguage for systems programming. It shows that traditional systems languages like C and Fortran possess features no longer relevant...
详细信息
ISBN:
(纸本)1595933158
This paper presents a case for the design and implementation of a modern programminglanguage for systems programming. It shows that traditional systems languages like C and Fortran possess features no longer relevant to the modern world. The paper also demonstrates how many of these features have a negative impact on the practice of systems programming. Finally, it proposes alternatives to these features that promote better practice. Additionally, the paper presents a number of features that should be included in a modern systems language and argues in favor of their inclusion. It shows that these features have a beneficial impact on the expressive power of the language or the practices it promotes. The paper also demonstrates that these features do not compromise the objectives of simplicity, efficiency, and direct control that characterize a systems language. Copyright 2006 acm.
Though Object-Oriented Analysis, design, and languages have become the dominant practices in many, or most, domains of software engineering, concerns about complexity, size, and performance in the embedded, real-time ...
详细信息
ISBN:
(纸本)159593491X
Though Object-Oriented Analysis, design, and languages have become the dominant practices in many, or most, domains of software engineering, concerns about complexity, size, and performance in the embedded, real-time software domain have led to a prevalent view that OO technology is not suitable for the domain. We challenge this view through a successful application of OOA, OOD, and C++ (including STL) in the embedded, real-time flight software in an Earth-orbiting science instrument named Aquarius (see [1]). We've found that OOA and OOD with UML actually enhance communication with systems and hardware engineers. We also found that C++, thoughtfully used, need not lead to code bloat, and that its performance is every bit as good as that of C. We egin with an overview of the requirements and describe our overall use of UML modeling, followed by a discussion of the use of UML for Object-Oriented Analysis with use cases. Then the application of UML for high-level and detailed design, the use of frameworks supporting a component architecture and multi-platform execution, and code generation from UML detailed design are described. We also present the use of UML for organizing and designing and documenting our verification and test environment and scenarios, and using HTML, generated by our UML tool, for all documentation and for requirement traceability. Finally, we discuss the use of C++ as the implementationlanguage, and give an overview of status and work metrics.
暂无评论