Generic types in programming languages are most often supported with various forms of parametric polymorphism, i.e. functions on types. Within the framework of object-oriented languages, virtual types present an alter...
详细信息
Discusses the estimation of the effort needed to update programs according to a given requirement change. In object-oriented prototyping development (OO prototyping), the requirement changes occur frequently and regul...
详细信息
The proceedings contains 26 papers from the conference on Technology of object-oriented Languages and Systems - Tools 32. The topics discussed include: software architectures;graphical user interfaces;multiple domain ...
详细信息
The proceedings contains 26 papers from the conference on Technology of object-oriented Languages and Systems - Tools 32. The topics discussed include: software architectures;graphical user interfaces;multiple domain objects;model-view controllers;embedded real-time systems;object-oriented languages;unified modelling languages;external iterators;distributed systems;databases and multiagent systems.
Abadi and Cardelli [1] present a series of type systems for their object calculi, four of which are first-order. Palsberg [22] has shown how typability in each one of these systems can be decided in time O(n(3)) and s...
详细信息
Abadi and Cardelli [1] present a series of type systems for their object calculi, four of which are first-order. Palsberg [22] has shown how typability in each one of these systems can be decided in time O(n(3)) and space O(n(2)), where n is the size of an untyped object expression, using an algorithm based on dynamic transitive closure. In this paper we improve each one of the four type inference problems from O(n(3)) to the following time complexities: [GRAPHICS] Furthermore, our algorithms improve the space complexity from O(n(2)) to O(n) in each case. The key ingredient that lets us "beat" the worst-case time and space complexity induced by general dynamic transitive closure or similar algorithmic methods is that object subtyping, in contrast to record subtyping, is invariant: an object type is a subtype of a "shorter" type with a subset of the method names if and only if the common components have equal types. (C) 1999 John Wiley & Sons, Inc.
We present a general framework HM(X) for type systems with constraints. The framework stays in the tradition of the Hindley/Milner type system. Its type system instances are sound under a standard untyped compositiona...
详细信息
We present a general framework HM(X) for type systems with constraints. The framework stays in the tradition of the Hindley/Milner type system. Its type system instances are sound under a standard untyped compositional semantics. We can give a generic type inference algorithm for HM(X) so that, under sufficient conditions on X, type inference will always compute the principal type of a term. We discuss instances of the framework that deal with polymorphic records, equational theories, and subtypes. (C) 1999 John Wiley & Sons, Inc.
The use of entropy as a measure of information content has led to its use in measuring the code complexity of functionally developed software products;however, no similar capability exists for evaluating complexities ...
详细信息
The use of entropy as a measure of information content has led to its use in measuring the code complexity of functionally developed software products;however, no similar capability exists for evaluating complexities of object-oriented systems using entropy. In this paper a new metric based on entropy as a complexity measure for object-oriented classes is defined and validated using several large commercial object-oriented projects. The metric is computed using information available in class definitions. The new complexity measure of classes is correlated with traditional complexity measures such as McCabe's cyclomatic metric and the number-of-defects metric, both of which were evaluated from the implementation of the methods of the classes. The correlation study used the final versions of the class definitions. The high degree of positive correlation between the entropy-based class definition measure and the traditional measures of class implementation complexity verify that the new entropy measure computed from class definitions can be used as a predictive measure for class implementation complexities provided the class definitions do not change significantly during the implementation. (C) 1999 John Wiley & Sons, Inc.
One key activity in the early phases of software development is the production of accurate, reliable effort estimates for an optimal efficiency of project management. However, producing such estimates relies mainly on...
详细信息
One key activity in the early phases of software development is the production of accurate, reliable effort estimates for an optimal efficiency of project management. However, producing such estimates relies mainly on the ability to accurately predict the size of the software product and then to derive from this size the effort needed to develop it. In order to alleviate this estimation, an estimation model based on the Function Point Analysis method is developed.
Type dispatch constructs are an important feature of many programming languages. Scheme has predicates for testing the runtime type of a value. Java has a class cast expression and a try statement for switching on an ...
详细信息
Type dispatch constructs are an important feature of many programming languages. Scheme has predicates for testing the runtime type of a value. Java has a class cast expression and a try statement for switching on an exception's dass. Crucial to these mechanisms, in typed languages, is type refinement: The static type system will use type dispatch to refine types in successful branches. Considerable previous work has addressed type case constructs for structural type systems without subtyping, but these do not extend to named type systems with subtyping, as is common in objectoriented languages. Previous work on type dispatch in named type systems with subtyping has not addressed its implementation formally. This paper describes a number of type dispatch constructs that share a common theme: class cast and class case constructs in objectoriented languages, ML style exceptions, hierarchical extensible sums, and multimethods. I describe a unifying mechanism, tagging, that abstracts the operation of these constructs, and I formalise a small tagging language. After discussing how to implement the tagging language, I present a typed language without type dispatch primitives, and a give a,formal translation from the tagging language.
Like most software systems, manufacturing resource planning systems suffer from high maintenance expense. This article examines how object-oriented techniques can be used to develop systems that require less maintenan...
详细信息
Like most software systems, manufacturing resource planning systems suffer from high maintenance expense. This article examines how object-oriented techniques can be used to develop systems that require less maintenance. Emphasis is placed on reuse to lower postdevelopment costs.
This paper focuses on the numerical simulation of phase-change processes using a moving finite element technique. In particular, directional solidification and melting processes for pure materials and binary alloys ar...
详细信息
This paper focuses on the numerical simulation of phase-change processes using a moving finite element technique. In particular, directional solidification and melting processes for pure materials and binary alloys are studied. The melt is modelled as a Boussinesq fluid and the transient Navier-Stokes equations are solved simultaneously with the transient heat and mass transport equations as well as the Stefan condition. The various streamline-upwind/Petov-Galerkin-based FEM simulators developed for the heat, flow and mass transport subproblems are reviewed. The use of classes, virtual functions and smart pointers to represent and link the particular simulators in order to model a phase change process is discussed. The freezing front is modelled using a spline interpolation, while the mesh motion is defined from the freezing front motion using a transfinite mapping technique. Various two- and three-dimensional numerical tests are analysed and discussed to demonstrate the efficiency of the proposed techniques. Copyright (C) 1999 John Wiley & Sons, Ltd.
暂无评论