Many design concepts can be expressed only indirectly in source code. When this occurs, a single concept at design results in a verbose amount of code that is scattered across the system structure. In this paper, we p...
详细信息
ISBN:
(纸本)158113469X
Many design concepts can be expressed only indirectly in source code. When this occurs, a single concept at design results in a verbose amount of code that is scattered across the system structure. In this paper, we present explicit programming, an approach that enables a developer to introduce new vocabulary into the source to capture a design concept explicitly. An introduced vocabulary item modularizes the implementation details associated with a design concept, reducing the scattering of code needed to express the concept. The vocabulary item appears in the code where the concept is needed;uses of the vocabulary may thus remain distributed through the code. We believe explicit programming provides a useful engineering point, balancing modularization and separation in (at least) two cases. First, when a design concept is tightly coupled with particular constructs in a program, separation is unlikely to lead to any benefits of reusability or comprehensibility. Second, concepts that emerge as a system evolves can be encapsulated and recorded, paving the way for later separation when conditions warrant it. We introduce ELIDE, a tool that supports explicit programming in Java, and describe several cases showing the utility of the explicit programming approach.
This paper presents a component-based programming model whose goal is to make construction and management of distributed cooperative applications easier. The approach taken aims at combining Module Interconnection Lan...
详细信息
This paper presents a component-based programming model whose goal is to make construction and management of distributed cooperative applications easier. The approach taken aims at combining Module Interconnection Language features with the concept of class derived from object-oriented models. Using our model, an application is seen as a hierarchy of interacting components, where a component represents the building unit for construction and management. Low level components contain objects or piece of software written in any programming language. The proposed model is being implemented on top of a distributed object-based platform that provides object distribution, object sharing and clustering. We argue that adequacy between application requirements and system mechanisms achieved with this model will allow efficient use of OS functionalities as well as provide an easy way of managing and maintaining applications on any given architecture.
This paper presents a practical formalism for modeling the dynamics of rigid/flexible multibody systems having either a non-fixed base or a fixed base. The mechanical components of the multibody systems are represente...
详细信息
The design of many popular object-oriented languages like Smalltalk, Eiffel, or Sather follows a certain trend: The class is the only structuring form. In this paper, the need for having modules besides classes is cla...
详细信息
Grace is a gradually typed, object-oriented language for use in education. Grace needs a module system for several reasons: To teach students about modular program design, to organise large programs, especially its se...
详细信息
ISBN:
(纸本)9781450320412
Grace is a gradually typed, object-oriented language for use in education. Grace needs a module system for several reasons: To teach students about modular program design, to organise large programs, especially its self-hosted implementation, and to provide access to resources defined in other languages. Grace uses its basic organising construct, objects, to provide modules, and is then able to use its gradual structural typing to obtain a number of interesting features without any additional mechanisms.
In order to analyze different liquid rocket engine systems quickly and conveniently, an object-oriented analysis method based on component and sequential calculation is studied. The concepts and structure of three typ...
详细信息
Invocation is the communication paradigm of objects. It is asymmetric by definition: the invoker initiates the invocation whereas the invokee reacts to it. A proxy is a local representative of the invokee on the invok...
详细信息
Invocation is the communication paradigm of objects. It is asymmetric by definition: the invoker initiates the invocation whereas the invokee reacts to it. A proxy is a local representative of the invokee on the invoker's machine. Like the invocation, the proxy notion is asymmetric. However, when replicated objects are considered, there is a need for symmetric proxies: a regular proxy plus an invoker proxy on the invokee's machine. This paper shows that symmetric proxies are needed to implement pre-filtering of duplicated invocations. It defines both the duplicated invocation problem and the pre-filtering approach as an efficient solution. The paper presents an object model based on symmetric proxies. Finally, the implementation of the model in the GARF system is presented as well as similar works in the literature.
object-oriented class frameworks are promising alternatives to traditional languages and their parallelizing compilers due to their higher abstraction facilities for encapsulating parallelism and distribution. We clai...
详细信息
object-oriented class frameworks are promising alternatives to traditional languages and their parallelizing compilers due to their higher abstraction facilities for encapsulating parallelism and distribution. We claim that language features already available in existing object-oriented languages such as C++ for constructing class frameworks can be maximally exploited for achieving separation of parallelism and data distribution, without language extensions or ad-hoc methodologies. We first model parallel computation as ordered application of a function onto structured elements, and, based on the model, we construct a class framework which formulates 1) data distribution as hierarchical decomposition of the structured elements to layered objects and 2) parallelism as nested traversals across these objects. We evaluate the feasibility of our proposal on the Fujitsu AP1000 parallel computer by extending the EPEE class framework.
Software analysis and design are relative terms, often used in order to identify software quality attributes and the requirements. It can be considered as a set of yardsticks to measure software quality. The main idea...
详细信息
The work deals with copyright protection for software written in object-oriented language (such as C++ and Java). The model used allows to insert watermarks on three "orthogonal" levels. For the first level,...
详细信息
暂无评论