Developing information systems for the office environment of today requires powerful representation formalisms and techniques capable of modelling all office elements. Furthermore, these formalisms should provide appr...
详细信息
Developing information systems for the office environment of today requires powerful representation formalisms and techniques capable of modelling all office elements. Furthermore, these formalisms should provide appropriate facilities for the validation of a conceptual schema. In the paper, it is argued that an office modelling approach should provide semantic account for the various aspects of the schema, as well as facilities for simulating its behaviour. A conceptual modelling language is presented that combines the objectoriented and logic programming paradigms, and it is demonstrated how this language can be used to validate the conceptual design of an office information system.
Recent studies indicate that transient memory errors (soft errors) have become a relevant source of system failures. This paper presents a generic software-based fault-tolerance mechanism that transparently recovers f...
详细信息
Recent studies indicate that transient memory errors (soft errors) have become a relevant source of system failures. This paper presents a generic software-based fault-tolerance mechanism that transparently recovers from memory errors in object-oriented program data structures. The main benefits are the flexibility to choose from an extensible toolbox of easily pluggable error detection and correction schemes, such as Hamming and CRC codes. This is achieved by a combination of aspect-oriented and generative programming techniques. Furthermore, we present a wait-free synchronization algorithm for error detection in data structures that are used concurrently by multiple threads of control. We give a formal correctness proof and show the excellent scalability of our approach in a multiprocessor environment. In a case study, we present our experiences with selectively hardening the eCos operating system and its benchmark suite. We explore the trade-off between resiliency and performance by choosing only the most vulnerable data structures for error recovery. Thereby, the total number of system failures, manifesting as silent data corruptions and crashes, is reduced by 69.14 percent at a negligible runtime overhead of 0.36 percent.
This paper presents an implementation in C + + of an explicit parallel finite element code dedicated to the simulation of impacts. We first present a brief overview of the kinematics and the explicit integration schem...
详细信息
This paper presents an implementation in C + + of an explicit parallel finite element code dedicated to the simulation of impacts. We first present a brief overview of the kinematics and the explicit integration scheme with details concerning some particular points. Then we present the OpenMP parallelization toolkit used in order to parallelize our FEM code, and we focus on how the parallelization of the DynELA FEM code has been conducted for a shared memory system using OpenMP. Some examples are then presented to demonstrate the efficiency and accuracy of the proposed implementations concerning the Speedup of the code. Finally, an impact simulation application is presented and results are compared with the ones obtained by the commercial Abaqus explicit FEM code. (c) 2005 Elsevier Ltd. All rights reserved.
With the recent development of powerful workstations integrated in local area networks, the need for distributed applications has increased significantly. This way, formerly autonomous applications of areas like compu...
详细信息
With the recent development of powerful workstations integrated in local area networks, the need for distributed applications has increased significantly. This way, formerly autonomous applications of areas like computer integrated manufacturing or office automation can be integrated to cooperating entities. However, the development of these kinds of applications is still not well supported.
The paper describes an object-oriented software engineering approach for distributed applications. The approach is centered around a wide-spectrum design language used as a common base for a set of workbenches. The associated tools are focusing on problems related to distribution and complexity of applications. Life-cycle spanning development support shall be provided by the environment.
Software design, development and evolution commonly require programmers to model design decisions, visualize implemented programs, and detect conflicts between design and implementation. However, common design notatio...
详细信息
Software design, development and evolution commonly require programmers to model design decisions, visualize implemented programs, and detect conflicts between design and implementation. However, common design notations rarely reconcile theoretical concerns for rigor and minimality with the practical concerns for abstraction, scalability and automated verifiability. The language of Codecharts was designed to overcome these challenges by narrowing its scope to visual specifications that articulate automatically-verifiable statements about the structure and organization of object-oriented programs. The tokens in its visual vocabulary stand for the building-blocks of object-oriented design, such as inheritance class hierarchies, sets of dynamically-bound methods, and their correlations. The formalism was tailored for those pragmatic concerns which arise from modeling class libraries and design patterns, and for visualizing programs of any size at any level of abstraction. We describe design verification, a process of proving or refuting that a Java program (i.e. its native code) conforms to the Codechart specifying it. We also describe a toolkit which supports modeling and visualization with Codecharts, as well as a fully-automated design verification tool. We conclude with empirical results which suggest gains in both speed and accuracy when using Codecharts in software design, development and evolution.
Seismic isolation can significantly reduce the induced seismic loads to a relatively stiff building by inserting flexibility at its base to avoid resonance with the predominant frequencies of common earthquakes. Somet...
详细信息
Seismic isolation can significantly reduce the induced seismic loads to a relatively stiff building by inserting flexibility at its base to avoid resonance with the predominant frequencies of common earthquakes. Sometimes the width of the provided seismic gap to facilitate the large relative displacements at the isolation level of a seismically isolated building is limited. Hence, there is a possibility of poundings of the building with adjacent structures during strong earthquakes. This work investigates, through numerical simulations using a specially developed software, how potential poundings of seismically isolated buildings with adjacent structures affects the effectiveness of seismic isolation. (C) 2007 Elsevier Ltd. All rights reserved.
We describe a production quality implementation of Scheme. Its design, and therefore the program, is based around objects although it is written in C, a language not specifically intended for object-oriented programmi...
详细信息
We describe a production quality implementation of Scheme. Its design, and therefore the program, is based around objects although it is written in C, a language not specifically intended for object-oriented programming. This was a fortuitous choice as it allowed us to recover from a design mistake that was not discovered until implementation time. Moreover, as we designed the program around objects and were not constrained by a strict object-oriented notation, this created a program that others have found easy to understand, extend and tune for improved performance.
Bounded existential types are a powerful language feature for modeling partial data abstraction and information hiding. However, existentials do not mingle well with subtyping as found in current object-oriented langu...
详细信息
Bounded existential types are a powerful language feature for modeling partial data abstraction and information hiding. However, existentials do not mingle well with subtyping as found in current object-oriented languages: the subtyping relation is already undecidable for very restrictive settings. This paper considers two subtyping relations defined by extracting the features specific to existentials from current language proposals (JavaGI, WildFJ, and Scala) and shows that both subtyping relations are undecidable. One of the two subtyping relations remains undecidable even if bounded existential types are restricted to the equivalent of interface types. With the goal of regaining decidable type checking for the JavaGI language, the paper also discusses various restrictions including the elimination of bounded existentials from the language as well as possible amendments to regain some of their features.
To effectively investigate the mechanical performance of microstructure-based layered composites, an object-oriented software with interactive graphical user interface has been developed. This software, named PCLab, i...
详细信息
To effectively investigate the mechanical performance of microstructure-based layered composites, an object-oriented software with interactive graphical user interface has been developed. This software, named PCLab, is able to analyze the microstructure evolution and mechanical performance by both Monte Carlo (MC) simulation and the Finite Element method (FEM). The software has integrated preprocessors, solvers and postprocessors. Some examples are tested and explored the functionality of the software package. It shows that the PCLab software with a user-friendly graphical interface provides an efficient tool for faster material analysis, design and application. It also provides a flexible, robust platform for the future extensity in the material multi-physics research. (C) 2015 Elsevier Ltd. All rights reserved.
MOON is a notation for designing complete systems, addressing the description of subsystems to be executed by both computer and non-computer processors. The design method is object-oriented in approach, based primaril...
详细信息
MOON is a notation for designing complete systems, addressing the description of subsystems to be executed by both computer and non-computer processors. The design method is object-oriented in approach, based primarily on the Mascot 3 notation and also on the JSP notation. Systems and subsystems are defined as collections of data repositories, related activities and subsystems. It should therefore also be considered as a modular notation. MOON abstracts a system to a hierarchy of networks of activities and data repositories, using an extension of the Mascot 3 notation. A further development of the system uses a more data-oriented approach, describing actions and data items separately using an extension of the JSP notation. The extensions to the two notations ensure that consistency between network and program abstractions can be enforced.
暂无评论