Constraints allow developers to specify desired properties of a system. These properties are then maintained automatically rather than with scattered checks that imperatively re-satisfy the constraints. This results i...
详细信息
ISBN:
(纸本)9783869562735
Constraints allow developers to specify desired properties of a system. These properties are then maintained automatically rather than with scattered checks that imperatively re-satisfy the constraints. This results in compact, localized code to specify system invariants. However, despite expectations that this improves comprehensibility and maintainability, as well as possible performance advantages, constraint programming is not yet widespread, with standard imperative programming still the norm. We propose an extension to existing imperative, object-oriented languages that unifies the methods of encapsulation and abstraction for both the declarative and the imperative paradigm. Our current research addresses integration of these different paradigms into one another and how this integration can be useful for in a variety of application domains.
This paper introduces the relevant concept of observer pattern and realized method. Based *** framework, we make detailed discussion about the principle and method of observer pattern, which is simplified and improved...
详细信息
Based on our experience, we believe that games, competition and teamwork offer a pleasant and active way of learning. This is much more efficient when the learner has a smile on his face, when he is astonished and cur...
详细信息
Inheritance is an important mechanism in object-oriented languages and it has been subject of quite some research. Tempero, Yang and Noble made a research [Tempero13] about the usage of the inheritance in Java open so...
详细信息
Inheritance is an important mechanism in object-oriented languages and it has been subject of quite some research. Tempero, Yang and Noble made a research [Tempero13] about the usage of the inheritance in Java open source systems and found that the defined inheritance relationships are also used quite considerably in the code, mostly for subtyping and reuse. They also found that late-bound self-reference occurs frequently. They analysed the byte code of the projects. We replicated their study to verify the results by carrying out the same study on the source code. For most of the metrics introduced in their inheritance model we found similar results. We found some suspected false positives in the original study for late-bound self-reference and (external) reuse, but there are not many of them. Except for these cases, our study verifies the correctness of the original study results.
To detect races precisely without false alarms, vector clock based race detectors can be applied if the overhead in time and space can be contained. This is indeed the case for the applications developed in object-ori...
详细信息
Bootstrapping is a technique commonly known by its usage in language definition by the introduction of a compiler written in the same language it compiles. This process is important to understand and modify the defini...
详细信息
Writing concurrent programs that operate on shared memory is error-prone as it requires reasoning about the possible interleavings of threads that access shared locations. If programmers make mistakes, two kinds of so...
详细信息
ISBN:
(纸本)9783885796213
Writing concurrent programs that operate on shared memory is error-prone as it requires reasoning about the possible interleavings of threads that access shared locations. If programmers make mistakes, two kinds of software faults may occur. Data races and atomicity violations may arise when shared locations are not consistently protected by locks. Deadlock may occur as the result of undisciplined lock acquisition, preventing an application from making progress. Previously [VTD06, VTD+10, DHM+12], we proposed a data-centric approach to synchronization to raise the level of abstraction in concurrent object-orientedprogramming and prevent concurrency-related errors. With data-centric synchronization, fields of classes are grouped into atomic sets. Each atomic set has associated units of work, code fragments that preserve the consistency of their atomic sets. Our compiler inserts synchronization that is sufficient to guarantee that, for each atomic set, the associated units of work are serializable [HDVT08], thus preventing data races and atomicity violations by construction. Our previous work reported on the implementation of atomic sets as an extension of Java called AJ: we demonstrated that atomic sets enjoy low annotation overhead and that realistic Java programs can be refactored into A J without significant loss of performance [DHM+12]. However, our previous work did not address the problem of deadlock, which may arise in AJ when two threads attempt to execute the units of work associated with different atomic sets in different orders. This talk presents a static analysis for detecting possible deadlock in AJ programs. The analysis is a variation on existing deadlock-prevention strategies [Mas93, EA03] that impose a global order on locks and check that all locks are acquired in accordance with that order. However, we benefit from the declarative nature of data-centric synchronization in AJ to infer the locks that threads may acquire. We rely on two properties of
In order to provide highly available and effective task management operations on mobile devices, an object-oriented and aspect-oriented task management toolkit on mobile device called OATMTM is designed. It uses objec...
详细信息
Kinematics analysis is important to analyse and design planar gear transmission mechanism. Planar gear transmission mechanism is composed of two basic loop units. The kinematics analysis equation of the basic loop uni...
详细信息
The advent of the world-wide web has challenged traditional distance teaching to supplement custom textbooks, video broadcasting and limited personal interaction with computer-based learning technologies, multimedia s...
详细信息
ISBN:
(纸本)9781612083285
The advent of the world-wide web has challenged traditional distance teaching to supplement custom textbooks, video broadcasting and limited personal interaction with computer-based learning technologies, multimedia systems and compter-mediated interaction between geographically dispersed students and teachers. In this paper, we report on a project that aims to identify potential for improving learning outcomes of distance learners on the subject object-oriented (OO) programming through the use of new media and online learning technologies. We performed a quantitative and qualitative study based on a competence model for OO modeling and comprehension with two groups of distance students: a control group using classical textbooks and an examination group using a standard learning environment enhanced by digital interactive tools and re-purposed learning materials. In addition, we tracked the behavior of the online study group and analyzed the log data with the help of SAS Business Analytics to detect conspicuous learning behaviors.
暂无评论