The state of knowledge in how to specify sequential programs in object-oriented languages such as Java and C# and the state of the art in automated verification tools for such programs have made measurable progress in...
详细信息
The state of knowledge in how to specify sequential programs in object-oriented languages such as Java and C# and the state of the art in automated verification tools for such programs have made measurable progress in the last several years. This paper describes several remaining challenges and approaches to their solution.
SWAT(Soil and Water Assessment Tool)and APEX(Agricultural Policy/Environmental eXtender)are respectively large and small watershed simulation models derived from EPIC(Environmental Policy Integrated Climate),a field-s...
详细信息
SWAT(Soil and Water Assessment Tool)and APEX(Agricultural Policy/Environmental eXtender)are respectively large and small watershed simulation models derived from EPIC(Environmental Policy Integrated Climate),a field-scale agroecology simulation *** three models are coded in Fortran and have evolved over several *** are widely used to analyze anthropogenic influences on soil and water quality and *** of the original Fortran code has been retained even though Fortran has been through several cycles of *** now provides functionality originally restricted to languages like C,designed to communicate directly with the operating system and *** can now use an object-oriented style of programming in Fortran,including inheritance,run-time polymorphism and *** order to enhance their utility in research and policy-making,the models are undergoing a major revision to use some of the new Fortran *** these new programming paradigms the developers of SWAT,APEX,and EPIC are working to make communication between the two models *** paper describes the ongoing revision of these models that will make them easier to use,maintain,modify and *** is intended that they will converge as they continue to evolution,while maintaining their distinctive features,capabilities and identities.
A total of 295 junior, intermediate, and senior professional Java consultants ( 99 individuals and 98 pairs) from 29 international consultancy companies in Norway, Sweden, and the UK were hired for one day to particip...
详细信息
A total of 295 junior, intermediate, and senior professional Java consultants ( 99 individuals and 98 pairs) from 29 international consultancy companies in Norway, Sweden, and the UK were hired for one day to participate in a controlled experiment on pair programming. The subjects used professional Java tools to perform several change tasks on two alternative Java systems with different degrees of complexity. The results of this experiment do not support the hypotheses that pair programming in general reduces the time required to solve the tasks correctly or increases the proportion of correct solutions. On the other hand, there is a significant 84 percent increase in effort to perform the tasks correctly. However, on the more complex system, the pair programmers had a 48 percent increase in the proportion of correct solutions but no significant differences in the time taken to solve the tasks correctly. For the simpler system, there was a 20 percent decrease in time taken but no significant differences in correctness. However, the moderating effect of system complexity depends on the programmer expertise of the subjects. The observed benefits of pair programming in terms of correctness on the complex system apply mainly to juniors, whereas the reductions in duration to perform the tasks correctly on the simple system apply mainly to intermediates and seniors. It is possible that the benefits of pair programming will exceed the results obtained in this experiment for larger, more complex tasks and if the pair programmers have a chance to work together over a longer period of time.
techniques are indispensable for the specification and veri. cation of the functional behaviour of programs. In object-oriented specification languages like Java Modeling Language, a powerful abstraction technique is ...
详细信息
techniques are indispensable for the specification and veri. cation of the functional behaviour of programs. In object-oriented specification languages like Java Modeling Language, a powerful abstraction technique is the use of model classes, that is, classes that are only used for specification purposes and that provide object-oriented interfaces for essential mathematical concepts such as sets or relations. Although the use of model classes in specifications is natural and powerful, they pose problems for veri. cation. Program verifiers map model classes to their underlying logics. Flaws in a model class or the mapping can easily lead to unsoundness and incompleteness. This article proposes an approach for the faithful mapping of model classes to mathematical structures provided by the theorem prover of the program veri. er at hand. Faithfulness means that a given model class semantically corresponds to the mathematical structure it is mapped to. This approach enables reasoning about programs specified in terms of model classes. It also helps in writing consistent and complete model-class specifications as well as in identifying and checking redundant specifications.
Modern object-oriented systems have to cope with an increasing number of exceptional conditions and incorporate fault tolerance into systems' activities in order to meet dependability-related requirements. An exce...
详细信息
Modern object-oriented systems have to cope with an increasing number of exceptional conditions and incorporate fault tolerance into systems' activities in order to meet dependability-related requirements. An exception handling mechanism is one of the most important schemes for detecting and recovering errors, and for structuring fault-tolerant activities in a system. The mechanisms that were ill designed can make an application unreliable and difficult to understand, maintain and reuse in the presence of faults. This paper surveys various exception mechanisms implemented in different object-oriented languages, evaluates and compares different designs. A taxonomy is developed to help address 10 basic technical aspects for a given exception handling proposal, including exception representation, external exceptions in signatures, separation between internal and external exceptions, attachment of handlers, handier binding, propagation of exceptions, continuation of the control flow, clean-up actions, reliability checks, and concurrent exception handling. Practical issues and difficulties are summarized., major trends in actual languages are identified, and directions for future work are suggested. (C) 2001 Elsevier Science Inc. All rights reserved.
作者:
POWELL, MSDep. Comp.
Univ. Manchester Inst. Sci. and Technol. PO Box 88 Sackville St. Manchester M60 1QD UK
This paper describes an input/output primitive based on the concept of region hierarchies, which allows highly-structured images of simple or complex data objects to be constructed in a straightforward fashion. In add...
详细信息
This paper describes an input/output primitive based on the concept of region hierarchies, which allows highly-structured images of simple or complex data objects to be constructed in a straightforward fashion. In addition, any image of a data object may represent a hierarchical menu which provides access to the operations associated with the object. The programmer is not required to manage the details of an image at the level of the coordinates of the image elements and support is naturally provided for a screen/mouse pair as a fundamental input/output device. The primitive may be extended to support multidimensional representations and time-ordered sequences.
A model postgraduate curriculum for aspect-oriented software development has been derived from the practical experience of running postgraduate courses at nine institutions across Europe (part of the European Network ...
详细信息
A model postgraduate curriculum for aspect-oriented software development has been derived from the practical experience of running postgraduate courses at nine institutions across Europe (part of the European Network of Excellence on AOSD). Several institutions have made concrete instantiations of the curriculum, from a summer school to a university master's degree course. The curriculum also relates to the Software Engineering Body of Knowledge.
Test data are an invaluable resource for structural engineering research. In this paper, a numerical database system is built for material properties of steels, steel columns, steel beams and unstiffened steel plates,...
详细信息
Test data are an invaluable resource for structural engineering research. In this paper, a numerical database system is built for material properties of steels, steel columns, steel beams and unstiffened steel plates, etc. The database is used to clarify the strength variations of material properties and to obtain the mean value and the coefficient of variation of each member strength. In addition, these values are compared with existing design formulas. The database is further developed in the shape of a structural test information-based system. This system includes database functions, test data evaluation functions, reference retrieval functions and technical terms explanation functions. The usefulness of the knowledge base approach for representing the test data is proved and the potential and problems of the system are clarified. Copyright (C) 1996 Elsevier Science Ltd.
Multi-physics simulations based on multi-component multi-solver modeling approach were performed for high-temperature fuel cells. The developed approach was primarily aimed at the design of complex multi-component eng...
详细信息
Multi-physics simulations based on multi-component multi-solver modeling approach were performed for high-temperature fuel cells. The developed approach was primarily aimed at the design of complex multi-component engineering systems. It extends the libraries of earlier designed multi-physics system with component classes, which makes it particularly suitable for modeling of fuel cell systems. The C++ based class hierarchy enables simple implementations of different physical models based on general 3D PDE (partial differential equations) solvers, or simplified engineering ID or 2D models. Simulations of solid-oxide fuel cells were performed using a combined transport solver in multi-species environment. The components included the PEN complex (anode, cathode, electrolyte), air/fuel channels, interconnects, seals and ambient environments. Species concentrations, mass, momentum, energy fluxes, and electric potentials were solved for different components. Models for unsteady fluid dynamics of species, heat transport, electrochemistry and electric currents were combined within different components and interfaced for common variables at the inter-component boundaries. The results include steady and unsteady distributions of temperature, species concentrations, mass fluxes and electric potential inside co-flow and cross-flow fuel cells with different number of channels. (c) 2005 Elsevier B.V. All rights reserved.
Parallel computers provide challenging software problems which have yet to be solved. This paper presents a methodology for programming parallel machines based on a fusion of the process and object paradigms. The obje...
详细信息
Parallel computers provide challenging software problems which have yet to be solved. This paper presents a methodology for programming parallel machines based on a fusion of the process and object paradigms. The object approach provides a programming abstraction, and the process model provides an implementation abstraction. objects are represented as channels while instances and object connectivity are handled by a relational database manager-based object manager. The design of a manager kernel to support objects on a transputer is described and the issues of dynamic process creation, dynamic binding, inheritance and hardware encapsulation are discussed. The paper ends with the outline of a simple multitransputer implementation making use of the kernel.
暂无评论