Software component selection relies on the suitability and completeness of the criteria used to evaluate and compare the components. Experiences from determining such criteria for several industrial projects provide i...
详细信息
Software component selection relies on the suitability and completeness of the criteria used to evaluate and compare the components. Experiences from determining such criteria for several industrial projects provide important lessons.
Different semantic models are studied for a language called POOL: parallel object-oriented language. It is a simplified version of POOL-T, a language that is actually used to write programs for a parallel machine. The...
详细信息
Different semantic models are studied for a language called POOL: parallel object-oriented language. It is a simplified version of POOL-T, a language that is actually used to write programs for a parallel machine. The most important aspect of this language is that it describes a system as a collection of communicating objects that all have internal activities which are executed in parallel. For POOL, operational and denotational semantics have been developed previously. The former aims at the intuitive operational meaning of the language, whereas the main characteristic of the latter is compositionality. In this paper, the author relates both models, which are quite different, and proves the semantic correctness of the denotational semantics with respect to the operational semantics. These semantic investigations take place in the mathematical framework of complete metric spaces. For the operational semantics a simple space of functions from states to compact sets of streams (which are sequences of states) is used; for the denotational semantics, a domain of processes is used, which is the solution of a reflexive domain equation over a category of complete metric spaces. The main mathematical tool we use is Banach’s theorem, which states that contractions on complete metric spaces have unique fixed points. Both the operational and the denotational semantics are reformulated and are presented, as well as many operators on the semantic domains, as the fixed point of a suitably defined contraction. In this way, a formal equivalence between both models is established. For this purpose, an intermediate domain, which is first compared to the operational model by means of an abstraction operator, is introduced. This function takes processes, which are treelike structures, as arguments and yields sets of streams as results. Next, it is shown that both intermediate and the denotational model are fixed points of the same contraction, from which their equ
The component integration phase is key to component-based system (CBS) success because of its profound impact on the quality of a software product. However, CBS integration is a complex phase because it is rarely the ...
详细信息
The component integration phase is key to component-based system (CBS) success because of its profound impact on the quality of a software product. However, CBS integration is a complex phase because it is rarely the case that components are perfectly matched and ready for 'plug and play'. The component integration phase involves assembling pre-existing software components usually developed by different parties, and writing glue-code to handle the mismatches between CBS-to-be requirements and available component features. The objective of the study is to gain an in-depth understanding of the impact of integration process activities on the overall success of a CBS. The empirical study also investigates the inter-dependency between the CBS integration process activities. A survey was developed and data from CBS practitioners working in small-to-medium-sized organisations were collected. The results show that 'component functional specification', 'structural compatibility analysis', 'architectural model development' and 'early glue-code specification' are integration process activities that have positive correlation with the successful development of a CBS. However, the results indicate that the 'quality properties analysis' is not carried out as an integration process activity by the majority of CBS practitioners during development of a CBS. Furthermore, the results of the survey also provide empirical evidence that there is a positive association between various key CBS integration process activities.
The object-oriented programming (OOP) language systems tend to perform object creation and deletion prolifically. An empirical study has shown that C++ programs can have 10 times more memory allocation and deallocatio...
详细信息
The object-oriented programming (OOP) language systems tend to perform object creation and deletion prolifically. An empirical study has shown that C++ programs can have 10 times more memory allocation and deallocation than comparable C programs. However, the allocation behavior of C++ programs is rarely reported. This paper attempts to locate where the dynamic memory allocations are coming from and report an empirical study of the allocation behavior of C++ programs. Firstly, this paper summarizes the hypothesis of situations that invoke the dynamic memory management explicitly and implicitly. They are: constructors, copy constructors, overloading assignment operator=, type conversions and application-specific member functions. Secondly, the development of a source code level tracing tool is reported as a procedure to investigate the hypothesis. Most of the five C++ programs traced are real-world applications. Thirdly, allocation patterns, object size and age distribution are summarized. Among other things, we found that objects tend to have a very short life-span, and most of them are created through constructors and copy constructors. With these findings, we may improve the performance of dynamic memory management through, a profile-based strategy or reusing objects. (C) 2001 Elsevier Science Inc. All rights reserved.
To produce modular and re-usable simulation models, previous studies have found out that objectoriented approach seems to be more appropriate. Various paradigms have been proposed and their results are promising. Thi...
详细信息
To produce modular and re-usable simulation models, previous studies have found out that objectoriented approach seems to be more appropriate. Various paradigms have been proposed and their results are promising. This paper illustrates how objectorientedprogramming concept can be applied to implement a simulation model of JIT system. Another objective of this research is to implement the simulation model by visual interactive approach. The interactive interface, built in this research allows the managers to change their decisions and justify the consequence very quickly. Moreover, the program during execution can display its results in an animated manner so that users can observe and understand the process during simulation. Some illustrated operations process will be demonstrated in the paper. Computational results obtained using the JIT simulator to examine effects of different number of Kanbans or arrival time distributions are also reported. Later, this paper uses objectoriented approach to implement an animated simulation model in order to analyze the design and implementation factors of a JIT system. The results clearly show that this approach is feasible and deserves more efforts for further research.
The association of object-oriented programming and symbolic computation techniques introduces certain changes in finite element code organization. The purpose of this approach is to speed up the design of new formulat...
详细信息
The association of object-oriented programming and symbolic computation techniques introduces certain changes in finite element code organization. The purpose of this approach is to speed up the design of new formulations. Previous papers have described the basic concepts of the method. In this paper, the focus is placed on functional aspects of symbolic tools for the development of finite element formulations. Two practical examples are used to illustrate this point. The first is a space-time formulation for an incompressible flow driven by the Navier-Stokes equations, and the second is a finite element derivation of the total potential energy for linear elasticity. (C) 2000 Elsevier Science B.V. All rights reserved.
The role of stress analysis in design is limited by the batch processing of single design geometries when subjected to prescribed load cases. While this approach is reasonable for detailed design, it limits the engine...
详细信息
The role of stress analysis in design is limited by the batch processing of single design geometries when subjected to prescribed load cases. While this approach is reasonable for detailed design, it limits the engineer in early stage design, when rapid availability of stress information for different geometries is perhaps more important than geometric precision. This paper presents structural re-analysis in a boundary element context, providing information on a suitable object-oriented structure, and giving details on the operations required when processing various types of re-analysis. Computational performance improvements (over a full analysis) of 50-80% are found, depending on the degree of perturbation to a pre-existing boundary element method model. An illustration, in which multiple modifications are made to different parts of a design geometry, shows how stress reduction and weight reduction may be achieved as analysis results guide the design in the concept stage. (C) 2001 Elsevier Science Ltd. All rights reserved.
MOON is a design method suitable for real-time systems that supports concurrency and asynchronous communication. A MOON design specifies the structure of the software system, the hardware resources and the allocation ...
详细信息
MOON is a design method suitable for real-time systems that supports concurrency and asynchronous communication. A MOON design specifies the structure of the software system, the hardware resources and the allocation of software components to hardware resources. Performance evaluation is very important throughout the development of a real-time system. Program resource mapping nets (PRM-Nets) are a timed Petri net formalism used for performance evaluation studies. PRM-Nets are integrated performance models recognising the influence of the software structure, physical resources and mapping between software elements and physical resources on performance. Simulation of PRM-Nets allows estimates of response time, throughout and resource utilisation for a variety of hardware configurations to be investigated. The paper proposes the use of PRM-Nets for performance evaluation studies during a MOON design. The transformation of MOON activities and IDAs to PRM-Net performance models is outlined, and the modelling of hardware resources is considered.
The software interface P2MESH is a collection of C CC class templates suitable for developing prototypes of high-performance PDE solvers on unstructured 2-D meshes. P2MESH supports several discretization methods on tr...
详细信息
The software interface P2MESH is a collection of C CC class templates suitable for developing prototypes of high-performance PDE solvers on unstructured 2-D meshes. P2MESH supports several discretization methods on triangles and quadrilaterals, such as finite volume or finite element. The design philosophy of P2MESH does not consider specific model problems or built-in approximation algorithms. The software package is general purpose and it may also be used as a building block in the implementation of numerical codes both for engineering applications and mathematical problems.
The emergence of exception handling (EH) mechanisms in modern programming languages made available a different way of communicating errors between procedures. For years, programmers trusted in correct documentation of...
详细信息
The emergence of exception handling (EH) mechanisms in modern programming languages made available a different way of communicating errors between procedures. For years, programmers trusted in correct documentation of error codes returned by procedures to correctly handle erroneous situations. Now, they have to focus on the documentation of exceptions for the same effect. But to what extent can exception documentation be trusted? Moreover, is there enough documentation for exceptions? And in what way do these questions relate to the discussion on checked against unchecked exceptions? For a given set of Microsoft .NET applications, code and documentation were thoroughly parsed and compared. This showed that exception documentation tends to be scarce. In particular, it showed that 90% of exceptions are undocumented. Furthermore, programmers were demonstrated to be keener to document exceptions they explicitly throw while typically leaving exceptions resulting from method calls undocumented. This conclusion lead to another question: how do programmers use the EH mechanisms available in modem programming languages? More than 16 different .NET applications were examined in order to provide an answer. The major conclusion of this work is that exceptions are not being correctly used as an error-handling mechanism. These results contribute to the assessment of the effectiveness of the unchecked exceptions approach.
暂无评论