This paper describes a software-engineering problem, proposes a solution and shows how that solution influences language design. In many object-orientedprogramming languages, when implementing equality the programmer...
详细信息
This paper describes a software-engineering problem, proposes a solution and shows how that solution influences language design. In many object-orientedprogramming languages, when implementing equality the programmer has to make sure that it obeys a set of rules, called equality contract. Not only is it difficult to adhere to these seemingly simple rules, but the equality contract itself is a source of potential errors. Even if equality complies with the contract, it can lead to faulty, unintended, indeterministic program behavior. This paper proposes a modified contract that avoids these problems. Additionally, the modified contract describes equality unambiguously, and it implies that equality for values and identity for objects can be regarded as the very same concept. Based on the modified contract the language design can be enhanced in a way that supports value equality and object identity more clearly and more safely.
To assist Java programming studies, we have developed a Web-based Java programming Learning Assistant System (JPLAS). As one function in JPLAS, it provides a statement fill-in-blank problem that asks students to fill ...
详细信息
Despite the advancements of concurrency theory in the past decades, practical concurrent programming has remained a challenging activity. Fundamental problems such as data races and deadlocks still persist for program...
详细信息
ISBN:
(数字)9783642169014
ISBN:
(纸本)9783642169007
Despite the advancements of concurrency theory in the past decades, practical concurrent programming has remained a challenging activity. Fundamental problems such as data races and deadlocks still persist for programmers since available detection and prevention tools are unsound or have otherwise not been well adopted. In an alternative approach, programming models that exclude certain classes of errors by design can address concurrency problems at a language level. In this paper we review SCOOP, an existing race-free programming model for concurrent object-orientedprogramming, and extend it with a scheme for deadlock prevention based on locking orders. The scheme facilitates modular reasoning about deadlocks by associating annotations with the interfaces of routines. We prove deadlock-freedom of well-formed programs using a rigorous formalization of the locking semantics of the programming model. The scheme has been implemented and we demonstrate its usefulness by applying it to the example of a simple web server.
This paper describes the design and implementation of a fast 6-Point skeleton extraction algorithm from human silhouette images which can be used for real-time video surveillance and analysis applications. The 6 Point...
详细信息
An object-oriented Software Evolution Process Meta-Model (OO-EPMM), formal OCL constraint of meta-model and a software evolution process model are presented in this paper. OO-EPMM can not only represent software devel...
详细信息
Agent-orientedprogramming (AOP) researchers have successfully developed a range of agent programming languages that bridge the gap between theory and practice. Unfortunately, despite the in-community success of these...
详细信息
object-orientedprogramming is one of the most used paradigms. Complementarily, the software maintainability is considered a software attribute playing an important role in quality level. In this context, object-Orien...
详细信息
Encapsulation is a programming technique that helps developers keeping code readable and maintainable. However, encapsulation in modern objectoriented languages often causes significant runtime overhead. Developers m...
详细信息
The Event Coordination Notation (ECNO) allows modelling the desired behaviour of a software system on top of any object-oriented software. Together with existing technologies from Model-based Software Engineering (MBS...
详细信息
This paper contains the consideration of knowledge extraction mechanisms of such object-oriented knowledge representation models as frames, object-orientedprogramming and object-oriented dynamic networks. In addition...
详细信息
暂无评论