In this paper, we present a case study of evolution (or vertical reuse) in the domain of visual interactive software tools. We introduce an architecture suitable for this purpose, called orthogonal architecture. The p...
详细信息
In this paper, we present a case study of evolution (or vertical reuse) in the domain of visual interactive software tools. We introduce an architecture suitable for this purpose, called orthogonal architecture. The paper describes the architecture itself, the reverse engineering process by which it was obtained, and the forward engineering process by which it was evolved.
As a rule, developing a new programming language is not a good idea. Of all the myriad languages that have been devised to programme computers relatively few survive, and popular wisdom holds that the world needs yet ...
详细信息
As a rule, developing a new programming language is not a good idea. Of all the myriad languages that have been devised to programme computers relatively few survive, and popular wisdom holds that the world needs yet another language like a hole in the head. In 1995, US computer company Sun Microsystems threw popular wisdom to the wind and launched Java-a new object-oriented programming language. Today, Java has become arguably the most discussed and hyped technology in the IT business, a status attributable to the remarkable fit between the unique features of Java and the computing landscape of today. Java can be used to distribute executable content across the Internet, an ability that has led some to conclude that it may transform the nature of computing. The Java programming language is revolutionising the capabilities of the Internet and the World Wide Web.
In Malenfant et al. [19], we have described a reflective model for a prototype-based language based on the lookup o apply reflective introspection protocol. In this paper, we augment our previous protocol by convertin...
详细信息
We address the problem of how to handle exceptions in distributed object-oriented systems. In a distributed computing environment exceptions may be raised simultaneously and thus need to be treated in a coordinated ma...
详细信息
ISBN:
(纸本)0818673982
We address the problem of how to handle exceptions in distributed object-oriented systems. In a distributed computing environment exceptions may be raised simultaneously and thus need to be treated in a coordinated manner. We take two kinds of concurrency into account: 1) several objects are designed collectively and invoked concurrently to achieve a global goal, and 2) concurrent objects or object groups that are designed independently compete for the same system resources. We propose a new distributed algorithm for resolving concurrent exceptions and show that the algorithm works correctly even in complex nested situations, and is an improvement over previous proposals in that it requires only O(N2) messages, and is fully object-oriented.
The management of complexity is proving to be a major issue for organisations, as are problems of reliability and flexibility. It is widely agreed that these problems can be traced to organisational architectures emph...
详细信息
The management of complexity is proving to be a major issue for organisations, as are problems of reliability and flexibility. It is widely agreed that these problems can be traced to organisational architectures emphasising centralisation and control. A solution to the problem of complexity lies then, not in developing more sophisticated approaches to the 'management of complexity', but in cutting back the complexity at source. A range of alternative architectures has emerged, in both industrial settings and in technological systems, where the emphasis is on building autonomy into nested sequences of operational entities;in these architectures, the achievement of system order arises as an issue of coordination of these semi-autonomous entities rather than centralised control over the atomistic operations themselves. Examples of this solution are given in cellular manufacturing, robotic systems, software engineering (object-oriented programming') and in communication systems. These solutions are generalised as 'holonic organisational architecture' (after Koestler's 1967 terminological innovation) and their general properties derived. Use is made of a triad of relations which arises naturally from the holonic perspective: there are first order relations pertaining to holons themselves;second order relations pertaining to inter-holonic integration at any particular level;and third order relations linking the total system to its holonic constituents. The dynamic properties of holonic systems are demonstrated, again using the triad of relations, such as in organisational learning and innovation. These insights are applied in some remarks concerning the prescriptive use of the holonic perspective, in the design of holonic systems. Finally the paper looks beyond techno-organisational constructs to find evidence of holonic architectures throughout the natural and biological world, adding further support to the resilience and robustness of this structure. Its significance a
We propose a new approach to adding objects to Standard ML (SML) based on explicit declarations of object types, object constructors, and subtyping relationships, with a generalization of the SML case statement to a &...
详细信息
ISBN:
(纸本)9780897917957
We propose a new approach to adding objects to Standard ML (SML) based on explicit declarations of object types, object constructors, and subtyping relationships, with a generalization of the SML case statement to a ''typecase'' on object types. The language, called object ML (OML), has a type system that conservatively extends the SML type system, preserves sound static typing, and permits type inference. The type system sacrifices some of the expressiveness found in recently proposed schemes, but has the virtue of simplicity. We give examples of how features found in other object-oriented languages can be emulated in OML, discuss the formal properties of OML, and describe some implementation issues.
object-oriented programming has brought many advantages to the software engineering community. The reuse of existing software components and application frameworks can improve the productivity in software development ...
详细信息
ISBN:
(纸本)0818673036
object-oriented programming has brought many advantages to the software engineering community. The reuse of existing software components and application frameworks can improve the productivity in software development considerably. The same object-oriented techniques, i.e., inheritance and information hiding, that ease reusing software, can be applied to documentation and thus, enable its reuse. One can document each software component-regardless of what a component is-from scratch. This leads to multiple documentation of features that are multiply reused. One can also describe a component's differences to other components. This seems logical for the systems documentation of object-oriented software. However, as will be shown, this kind of reuse can not only be applied to source-code related documentation, but also to documentation, where there is no source code involved at all, e.g., user documentation. In this paper we describe the concepts for documentation reuse, how these concepts can be realized with a literate programming tool, and the application of documentation reuse.
This paper presents a study aiming to analyse the design strategies of experts in object-oriented programming. We report an experiment conducted with four experts. Each subject solved three problems. Our results show ...
详细信息
This paper presents a study aiming to analyse the design strategies of experts in object-oriented programming. We report an experiment conducted with four experts. Each subject solved three problems. Our results show that three strategies may be used in program design according to the solution structure. An object-centred strategy and a function-centred strategy are used when the solution has a hierarchical structure with vertical communication between objects. In this case, the plan which guides the design activity is declarative. A procedure-centred strategy is used when the solution has a flat structure with horizontal communication between objects. in this case, the plan which guides the design activity is procedural. These results are discussed in relation with results on design strategies in procedural design. Furthermore, our results provide insight into the knowledge structures of experts in object-oriented design. To conclude, we point out limitations of this study and discuss implications of our results for Human-Computer Interaction systems, in particular for systems assisting experts in their design activity.
An appropriate combination of object-oriented programming concepts allows not only the development of single reusable components but also of semifinished architectures (=frameworks). The paper first discusses the conc...
详细信息
We show some of the specific problems for testing software introduced by the object-oriented features of Ada 95, and focus on specification-based testing, since this strategy is the key strategy for testing object-ori...
详细信息
暂无评论