We present an imperative object-oriented language featuring a dependent type system designed to support class-based programming and inheritance. Programmers implement classes in the usual imperative style, and may tak...
详细信息
Previous work has shown how the well-studied and SIMD-friendly Structure of Arrays (SOA) data layout strategy can speed up applications in high-performance computing compared to a traditional Array of Structures (AOS)...
详细信息
Multiple inheritance is a valuable feature for object-orientedprogramming. However, it is also tricky to get right, as illustrated by the extensive literature on the topic. A key issue is the ambiguity arising from i...
详细信息
object-oriented (OO) programs, which use subtyping and dynamic dispatch, make specification and verification difficult because the code executed by a method call may dynamically be dispatched to an overriding method i...
详细信息
This paper brings a complete comparison among three power flow methods used worldwide for radial distribution systems. These methods are referred to as Power Summation, Current Summation and Ladder. For analysis, the ...
详细信息
In this study, we propose a transparent model for reliable execution of object-oriented software. We design a generic object-orientedprogramming tool for redundant software execution to provide the desired level of r...
详细信息
In this study, we propose a transparent model for reliable execution of object-oriented software. We design a generic object-orientedprogramming tool for redundant software execution to provide the desired level of reliability against transient hardware faults. To achieve this, we utilize the Proxy design pattern which is one of the well-known GoF design patterns that are formed to make software systems flexible and easy to maintain. Proxy design pattern provides a controlled access and a transparent mechanism for adding new functionalities to an existing object when accessing it. Combining the instruments of dynamic proxy and annotations in Java programming language, we present, RedundantCaller, a generic, transparent, and configurable tool for redundant execution and majority voting. Our tool takes any object and creates a dynamic proxy for it which executes the methods of the object multiple times in separate threads, and performs majority voting on the background, requiring minimum amount of change in the original user code. Thanks to annotations, users can configure the redundant execution scheme methodwise. Our experiments demonstrate that our tool provides a significant level of reliability to any object-oriented software with a reasonable amount of performance degradation through multithreaded execution.
Observing and modifying object-oriented programs often means interacting with objects. At runtime, it can be a complex task to identify those objects due to the live state of the program. Some objects may exist for on...
详细信息
Reference immutability type systems such as Javari and ReIm ensure that a given reference cannot be used to mutate the referenced object. These systems are conservative in the sense that a mutable reference may be mut...
详细信息
Software Design Patterns are a concept for solving common problems in object-orientedprogramming. This concept offers standard solutions for architectural and conceptual problems in computer programming and modeling ...
详细信息
Reflective practice is needed for a balanced integration of new learning and teaching approaches in higher education. However, it often remains unacknowledged or is even seen as too expensive. The paper presents a cas...
详细信息
暂无评论