Results 1 - 10
of
15
Propagating Class and Method Combination
- In Proceedings ECOOP ’99, volume 1628 of LNCS, 67–91
, 1999
"... This paper presents a mixin based class and method combination mechanism with block structure propagation. Traditionally, mixins can be composed to form new classes, possibly merging the implementations of methods (as in CLOS). In our approach, a class or method combination operation may cause any n ..."
Abstract
-
Cited by 33 (9 self)
- Add to MetaCart
This paper presents a mixin based class and method combination mechanism with block structure propagation. Traditionally, mixins can be composed to form new classes, possibly merging the implementations of methods (as in CLOS). In our approach, a class or method combination operation may cause any number of implicit combinations. For example, it is possible to specify separate aspects of a family of classes, and then combine several aspects into a full-fledged class family. The combination expressions would explicitly combine whole-family aspects, and by propagation implicitly combine the aspects for each member of the class family, and again by propagation implicitly compose each method from its aspects. As opposed to CLOS, this is type-checked statically; and as opposed to other systems for advanced class combination/merging/weaving, it is integrated directly in the language, ensuring a clear semantics and a seamless interaction with the type system. Moreover, the ba...
The M.A.D. experience: Multiperspective Application Development in evolutionary prototyping
- Proceedings of the Twelfth European Conference on Object-Oriented Programming, 1441
, 1998
"... Abstract. This paper describes experience obtained through a joint project between a university research group and a shipping company in developing a prototype for a global customer service system. The research group had no previous knowledge of the complex business of shipping, but succeeded in dev ..."
Abstract
-
Cited by 15 (11 self)
- Add to MetaCart
Abstract. This paper describes experience obtained through a joint project between a university research group and a shipping company in developing a prototype for a global customer service system. The research group had no previous knowledge of the complex business of shipping, but succeeded in developing a prototype that more than fulfilled the expectations of the shipping company. A major reason for the success of the project is due to an experimental and multiperspective approach to designing for practice. Some of the lessons to be learned for object-orientation are (1) analysis is more than finding nouns and verbs, (2) design is more than filling in details in the object-oriented analysis model, and (3) implementation is more than translating design models into code. Implications for system development in general and objectorientation in particular consist in the preliminary respecification of the classical working order: analysis – design – implementation. Keywords: Large-scale system development, multiperspective application development, cooperative design, ethnography, object-orientation, rapid prototyping, evolutionary prototyping, OO-tools, experience report. 1
An Introduction to Control and Scheduling
- 39TH IEEE CONFERENCE ON DECISION AND CONTROL
, 1999
"... The report gives a state-of-the-art survey of the field of integrated control and scheduling. Subtopics discussed are implementation and scheduling of periodic control loops, scheduling under overload, control and scheduling co-design, dynamic task adaptation, feedback scheduling, and scheduling o ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
The report gives a state-of-the-art survey of the field of integrated control and scheduling. Subtopics discussed are implementation and scheduling of periodic control loops, scheduling under overload, control and scheduling co-design, dynamic task adaptation, feedback scheduling, and scheduling of imprecise calculations. The report also presents the background, motivation, and research topics in the ARTES project “Integrated
Difference-based modules: A class independent module mechanism
- In Proceedings ECOOP 2002, volume 2374 of LNCS, Malaga
, 2002
"... Abstract. We describe a module mechanism, which we call differencebased modules, and an object-oriented language we call MixJuice. MixJuice is an enhancement to the Java language that adopts difference-based modules instead of Java’s original module mechanism. Modules are units of information hiding ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
Abstract. We describe a module mechanism, which we call differencebased modules, and an object-oriented language we call MixJuice. MixJuice is an enhancement to 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 can 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. 1
Modules as Objects in Newspeak
"... We describe support for modularity in Newspeak, a programming language descended from Smalltalk [33] and Self [68]. Like Self, all computation — even an object’s own access to its internal structure — is performed by invoking methods on objects. However, like Smalltalk, Newspeak is class-based. Clas ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
We describe support for modularity in Newspeak, a programming language descended from Smalltalk [33] and Self [68]. Like Self, all computation — even an object’s own access to its internal structure — is performed by invoking methods on objects. However, like Smalltalk, Newspeak is class-based. Classes can be nested arbitrarily, as in Beta [44]. Since all names denote method invocations, all classes are virtual; in particular, superclasses are virtual, so all classes act as mixins. Unlike its predecessors, there is no static state in Newspeak, nor is there a global namespace. Modularity in Newspeak is based exclusively on class nesting. There are no separate modularity constructs such as packages. Top level classes act as module definitions, which are independent, immutable, self-contained parametric namespaces. They can be instantiated into modules which may be stateful and mutually recursive.
Design and Evolution of Software Architecture in Practice
- In Mingins, C., Meyer, B. (Eds.) Proceedings of TOOLS Pacific
, 1999
"... With special focus on software architectural issues, we report from the first two major phases of a software development project. Our experience suggests that explicit focus on software architecture in these phases was an important key to success. More specifically: Demands for stability, flexibi ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
With special focus on software architectural issues, we report from the first two major phases of a software development project. Our experience suggests that explicit focus on software architecture in these phases was an important key to success. More specifically: Demands for stability, flexibility and proper work organisation in an initial prototyping phase of a project are facilitated by having an explicit architecture. However, the architecture should also allow for certain degrees of freedom for experimentation. Furthermore, in a following evolutionary development phase, architectural redesign is necessary and should be firmly based on experience gained from working within the prototype architecture. Finally, to get it right, the architecture needs to be prototyped, or iterated upon, throughout evolutionary development cycles. In this architectural prototyping process, we address the difficult issue of identifying and evolving functional components in the architecture a...
A Conceptual Approach To Teaching Object-Orientation To C Programmers
- In Proceedings of the Educators' Symposium at OOPSLA'98
, 1998
"... This paper describes experiences from a three-day course held as part of a collaborative research project, in which object-oriented programming was taught to a group of engineers who were all proficient C programmers. Our approach to teaching object-oriented programming focuses on conceptual modelin ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This paper describes experiences from a three-day course held as part of a collaborative research project, in which object-oriented programming was taught to a group of engineers who were all proficient C programmers. Our approach to teaching object-oriented programming focuses on conceptual modeling, emphasizing that object-orientation is not a bag of solutions and technology; rather, object-orientation is a means to understand, describe (model) and communicate. The paper describes a general approach to teaching object-oriented programming to C-programmers and reports on the experience from a concrete course. 1. INTRODUCTION The Devise Centre at University of Aarhus is currently engaged in a large research project called Centre for Object Technology (COT), which is a joint project between industry and universities in Denmark. One of the research goals of COT is to investigate techniques for introducing object-orientation in companies. Despite the fact that there has been enormous in...
Language Support for Application Framework Design
, 1998
"... The relationship between framework design and language constructs are discussed for two reasons: firstly, designing frameworks requires the ability to give the framework designer precise control over aspects of the framework extensions; secondly, the framework constraints should be specified such th ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The relationship between framework design and language constructs are discussed for two reasons: firstly, designing frameworks requires the ability to give the framework designer precise control over aspects of the framework extensions; secondly, the framework constraints should be specified such that they are statically checkable. Four existing language constructs are discussed: generalized block structure, generalized inheritance, generalized virtuality, and singular objects. It is discussed how these language constructs give precise means for controlling the framework extensions in statically checkable ways. 1 Frameworks and Languages A framework encapsulates a reusable, stable design and provides hooks for extending and varying this design and is planned for reuse. Its whole reason for existence is to be reused in different applications. A framework realizes a coherent software architecture, consisting of classes and objects with well-defined structural and behavioral properties ...
Talking Work: language-games, organisations and computer supported cooperative work
, 2000
"... . This paper asks the question: how might CSCW system design obtain and be informed by an adequate real-world, real-time understanding of work and organisation on any occasion of work-oriented design? The problem is not a new one but foundational within contemporary research and development communit ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
. This paper asks the question: how might CSCW system design obtain and be informed by an adequate real-world, real-time understanding of work and organisation on any occasion of work-oriented design? The problem is not a new one but foundational within contemporary research and development communities. Building on established, albeit contentious, sociological reasoning within CSCW, this paper proposes that existing approaches may be complemented through a methodological or procedural attention to the relationship between language, work and the local production of organisation. As such, this paper outlines a practical strategy or approach towards producing real-world understandings of work and organisation within the constraints of design. The approach is derived from work and lessons learnt in conducting ethnographic studies in the course of accomplishing the Dragon Project; an interdisciplinary project involved in the development of a production version prototype of a global customer...

