object-orientedprogramming promises to increase programmer productivity through better reuse of existing code. However, reuse is not yet pervasive in today’s object-oriented programs. Why is this so? We argue that o...
详细信息
R is a dynamic language for statistical computing that combines lazy functional features and object-orientedprogramming. this rather unlikely linguistic cocktail would probably never have been prepared by computer sc...
详细信息
ISBN:
(纸本)9783642310577;9783642310560
R is a dynamic language for statistical computing that combines lazy functional features and object-orientedprogramming. this rather unlikely linguistic cocktail would probably never have been prepared by computer scientists, yet the language has become surprisingly popular. With millions of lines of R code available in repositories, we have an opportunity to evaluate the fundamental choices underlying the R language design. Using a combination of static and dynamic program analysis we assess the success of different language features.
the object-oriented data model TM is a language that is based on the formal theory of FM, a typed language withobject-oriented features such as attributes and methods in the presence of subtyping. the general (typed)...
详细信息
We describe a module mechanism, which we call difference-based modules, and an object-oriented language we call MixJuice. MixJuice is an enhancement tu the Java language that adopts difference-based modules instead of...
详细信息
ISBN:
(纸本)3540437592
We describe a module mechanism, which we call difference-based modules, and an object-oriented language we call MixJuice. MixJuice is an enhancement tu the Java language that adopts difference-based modules instead of Java's original module mechanism, Modules are units of information hiding, reuse and separate compilation. We have completely separated the class mechanism and the module mechanism, and then unified the module mechanism and the differential programming mechanism. Although this module mechanism is simpler than that of Java, it enhances ease with which programs can be extended, reused and maintained. Collaborations that crosscut several classes call be separated into different modules. Modules are composable in the same way as mixins. the composition of modules sometimes causes name collision and an interesting phenomenon, which we call implementation defects. We describe solutions to these problems.
As software evolves, so does the interaction between its components. But how can we check if components are updated consistently? By abstracting object usage into temporal properties, we can learn evolution patterns t...
详细信息
ISBN:
(纸本)9783642226557;9783642226540
As software evolves, so does the interaction between its components. But how can we check if components are updated consistently? By abstracting object usage into temporal properties, we can learn evolution patterns that express how object usage evolves over time. Software can then be checked against these patterns, revealing code that is in need of update: "Your check for isValidWidget() is now superseded by checkWidget()." In an evaluation of seven different versions of three open source projects, our LAMARCK tool was able to detect existing code issues with a precision of 33%-64% and to prevent such issues with a precision of 90%-100%.
this paper proposes an extension of the notion of method as it is currently used in most object-oriented languages. We define polymethods as methods that we’can attach directly to types, as opposed to classes and tha...
详细信息
the challenge facing the International Organization for Standardization (ISO) in the early eighties, in developing Open Systems Interconnection (OSI) protocol standards for network management, was to ensure that such ...
详细信息
A generic formal model of distributed object reflection is proposed, that combines logical reflection with a structuring of distributed objects as nested configurations of metaobjectthat can control subobjects under ...
详细信息
ISBN:
(纸本)3540437592
A generic formal model of distributed object reflection is proposed, that combines logical reflection with a structuring of distributed objects as nested configurations of metaobjectthat can control subobjects under them. the model provides mathematical models for a good number of existing models of distributed reflection and of reflective middleware. To illustrate the ideas, we show in some detail how two important models of distributed actor reflection can be naturally obtained as special cases of our generic model, and discuss how several recent models of reflective middleware can be likewise formalized as instances of our model.
In this paper, we present a temporal, object-oriented algebra which serves as a formal basis for the query language of a temporal, object-oriented data model. Our algebra is a superset of the relational algebra in tha...
详细信息
Writing applications that connect to external services and yet remain responsive and resource conscious is a difficult task. Withthe rise of web programmingthis has become a common problem. the solution lies in usin...
详细信息
ISBN:
(纸本)9783642310577;9783642310560
Writing applications that connect to external services and yet remain responsive and resource conscious is a difficult task. Withthe rise of web programmingthis has become a common problem. the solution lies in using asynchronous operations that separate issuing a request from waiting for its completion. However, doing so in common object-oriented languages is difficult and error prone. Asynchronous operations rely on callbacks, forcing the programmer to cede control. this inversion of control-flow impedes the use of structured control constructs, the staple of sequential code. In this paper, we describe the language support for asynchronous programming in the upcoming version of C-#. the feature enables asynchronous programming using structured control constructs. Our main contribution is a precise mathematical description that is abstract (avoiding descriptions of compiler-generated state machines) and yet sufficiently concrete to allow important implementation properties to be identified and proved correct.
暂无评论