| C. Prehofer. Feature-oriented programming: a fresh look at objects, Proceedings of ECOOP'97, Springer LNCS. |
....to the scaling of step wise refinement are multi dimensional models that compactly describe and specify target product line members. We begin with a brief description of our prior work. 2 FOP and AHEAD Feature Oriented Programming (FOP) is the study of feature modularity in product lines [16]. AHEAD (Algebraic Hierarchical Equations for Application Design) is an approach to FOP based on step wise refinement [2] The fundamental premise of AHEAD is that programs are constants and refinements are functions that add features to pro 1. This work was supported in part by the U.S. Army ....
....formed classes [3] As AHEAD deals with cross cuts, it is related to aspects in Aspect Oriented Programming. We explain this relationship in Section 5. The concept of AHEAD refinements has a long history, originating in collaboration based designs [17] and their implementations as mixins [21][16] and mixin layers [19] 3 Multi Dimensional Models In this section, we present three examples of multi dimensional AHEAD models. The first describes a simple product line, where programs are under 30 lines. Our next examples discuss multi dimensional models whose programs range from 14K LOC to ....
C. Prehofer, "Feature-Oriented Programming: A Fresh Look at Objects", ECOOP 1997.
....cross cutting implementation changes; this high level design model should be traceable to the code modification. Composability Modifications should be composable, and there should be support for composition in the infra structure. There should be explicit ways of dealing with feature interactions [12]. 3 We have developed practical designs that address some of these goals. We hope to develop these designs further, implement them, and evaluate them. 3 Related Work The challenges of evolving large systems to adapting to changing non functional requirements has been recognized by many ....
....into the context of the operations on a monad. While monadic evolution doesn t allow nearly as much flexibility in selecting groups of program execution events as parts of cross cuts, the mathematical foundations of monads allow for more compositionality (through combinators and explicit lifting [12] to handle feature interaction) generality (though higher order programming) and static checking (through built in, powerful higher order type systems) Our goal, however, is to seek language independent mechanisms that allow adaptations in systems built out of components in di#erent ....
[Article contains additional citation context not shown here]
Christian Prehofer. Feature-oriented programming: A fresh look at objects. In Mehmet Aksit and Satoshi Matsuoka, editors, ECOOP'97---Object-Oriented Programming, 11th European Conference, volume 1241, pages 419--443, Jyvaskyla, Finland, 9--13 1997. Springer.
....programming. In Aspect oriented programming, features are weaved into the product code [Kiczalez et al..1997] These features are in the magnitude of a few lines of source code. Feature oriented programming extends this concept by weaving together entire classes of additional functionality [Prehofer 1997]. Subject oriented programming [Kaplan et al. 1996] is concerned with merging classes developed in parallel to achieve a combination of the merged classes. 8. CONCLUSIONS Variability is not trivial to manage. There are several factors that influence the choice of implementation technique, such ....
C. Prehofer, "Feature-Oriented Programming: A fresh look at objects", in Proceedings of ECOOP'97,LectureNotesin Computer Science 1241, Springer Verlag, Berlin Germany, 1997.
....First, metaCombiners are introduced to keep up the encapsulation of classes, whereas aspects explicitly break encapsulation to merge equally named attributes. Second, aspects do not de ne any incremental order when combined, whereas metaCombiners work best with incremental additions of behaviour. Pre97] proposes the composition of objects and methods from so called features . A pair of features is combined using a lifter which adapts the methods of one feature to the context of the other. An arbitrarily xed combination order is de ned on the features so only one lifter has to be de ned for ....
Christian Prehofer. Feature-oriented programming: A fresh look at objects. In Mehmet Aksit and Satoshi Matsuoka, editors, 11th European Conference on Object-Oriented Programming (ECOOP 97), volume 1241 of Lecture Notes in Computer Science, pages 419-443, Jyvaskyla, Finland, 9-13 June 1997. Springer.
....compounds. Since the compound linkui has no imports, its classes can safely be executed in a Java Virtual Machine by placing linkui.jar in the classpath. 3. FEATURE EXTENSIBILITY In addition to decomposing a design into many classes, it is also useful to decompose a design into multiple features [21]. Features cross cut class boundaries and benefit from being implemented in separate components [13] To demonstrate Jiazzi s expressiveness, file: mix.color.unit atom mix.color f import ui init : ui s ui init , ui in : nop s ui init ; export ui out : color s ui in ; g file: ....
....in contrast to Jiazzi where new methods and fields can only be added when the units undergoes link time construction. Work in separation of concerns, such as subject oriented programming [13] address the issues of separating class features into separate modules. Feature oriented programming [21] and role components [27] use individual mixin like structures to decompose designs into feature hierarchies. An approach similar to the open class pattern is used in Mixin Layers [25] Instead of using individual mixins, Mixin Layers provides constructs that apply mixins to multiple classes at ....
C. Prehofer. Feature-oriented programming: A fresh look at objects. In Proc. of ECOOP, pages 419--443, June 1997.
....language. Some ideas from academic have been incorporated in superlanguage of Java, Pizza ( 32] that describes how parametric polymorphism, higher order function and algebraic data types can be translated into Java. Moreover, Java can be extended to support feature oriented programming [37] [13]: a new paradigm based on abstraction on system behavior that seems to be promising to make easier both modifications and enhancements of programs. Java in the Real World The Gilder Technology Report (as reported by Sun at [3] released in October 1996, estimated that more than 200,000 ....
C.Prehofer. Feature-Oriented Programming: a Fresh Look at Objects. In Proceedings of ECOOP'97. Springer Verlag-LNCS, 1997.
....programming. In Aspect oriented programming, features weaved into the product code [Kiczalez et al. 1997] These features are in the magnitude of a few lines of source code. Feature oriented programming extends on this concept by weaving together entire classes of additional functionality [Prehofer, 1997]. Subject oriented programming [Kaplan et al. 1996] is concerned with merging classes developed in parallel to achieve the combined functionality of both. Although interesting from a technical perspective, neither of them are used in industry, and they all require more discipline from the ....
Prehofer, C. (1997). Feature-oriented programming: A fresh look at objects. In Proceedings of ECOOP'97, number 1241 in Lecture Notes in Computer Science, Berlin, Germany. Springer Verlag.
....consistency checks are performed. Their book presents a substantial collection of fragments, covering (declarative formulations of) approximately the same range of type systems as the ones described here in Section 5. Another close relative of our work is Prehofer s feature oriented programming [Pre97] Like our approach, it includes features and dependencies between them, components with multiple variants, and an assembly process that combines appropriate variants based on a set of requested features. The main difference is the application domain. Our approach focuses on formal systems, and ....
Christian Prehofer. Feature-oriented programming: A fresh look at objects. In Mehmet Aksit and Satoshi Matsuoka, editors, ECOOP'97---Object-Oriented Programming, 11th European Conference, volume 1241 of Lecture Notes in Computer Science, pages 419--443, Jyvaskyla, Finland, 9--13 June 1997. Springer.
....First, metaCombiners are introduced to keep up the encapsulation of classes, whereas aspects explicitly break encapsulation to merge equal named attributes. Second, aspects do not define any incremental order when combined, whereas metaCombiners work best with incremental additions of behaviour. [Pre97] proposes the composition of objects and methods from so called features . A pair of features is combined using a lifter which adapts the methods of one feature to the context of the other. An arbitrarily fixed combination order is defined on the features so only one lifter has to be defined ....
Christian Prehofer. Feature-oriented programming: A fresh look at objects. In Mehmet Aksit and Satoshi Matsuoka, editors, 11th European Conference on Object-Oriented Programming (ECOOP 97), volume 1241 of Lecture Notes in Computer Science, pages 419--443, Jyvaskyla, Finland, 9--13 June 1997. Springer.
....resulted in a powerful constraint system. Nesting of mixins was used as a way to restrict their scope. A mixin class of [SCD 93] can define other mixins that can be composed with it, inherit some mixins when composed, and cancel inherited mixins. The feature oriented programming approach of [Pre97] uses the assumes keyword to express the property that the correctness of one feature (layered component) assumes the existence of another. Interestingly enough there is a simple way to express basic dependencies within the mixin layers framework. Every mixin layer can export propositional 55 ....
....to subclasses. Layers can explicitly make inherited properties unavailable to their subclasses. Finally, a layer can check (require) whether it has inherited a property or not. A composition is correct if none of these requirements fail. This technique is similar to the assumes functionality of [Pre97] and the design rule checking of [BG97] Consider the example of Section 3.1.1. There are four requirements that we need to express: A BINTREE mixin layer cannot have a SIZEOF layer as an ancestor in its inheritance chain (because otherwise the insert method of SIZEOF will be shadowed) A ....
[Article contains additional citation context not shown here]
C. Prehofer, "Feature-Oriented Programming: A Fresh Look at Objects", ECOOP 1997, 419-443.
....consistency checks are performed. Their book presents a substantial collection of fragments, covering (declarative formulations of) approximately the same range of type systems as the ones described here in Section 5. Another close relative of our work is Prehofer s feature oriented programming [Pre97] Like our approach, it includes features and dependencies between them, components with multiple variants, and an assembly process that combines appropriate variants based on a set of requested features. The main difference is the application domain. Our approach focuses on formal systems, and ....
Christian Prehofer. Feature-oriented programming: A fresh look at objects. In Mehmet Aksit and Satoshi Matsuoka, editors, ECOOP'97---Object-Oriented Programming, 11th European Conference, volume 1241 of Lecture Notes in Computer Science, pages 419--443, Jyvaskyla, Finland, 9--13 June 1997. Springer.
....in this section. We use several forms of statecharts refinement, including transition refinement and parallel statecharts. For a more detailed semantic treatment of refinement we refer to [5,9] In order to obtain practical composition schemes, we follow several design principles as discussed in [8,6]: We limit our model to feature interactions between two features. As we focus on a general purpose software development method, we do not focus on modeling such three way interactions [12] We refer to [8] for a more detailed discussion. Asymmetric interaction handling: in case of an ....
C. Prehofer, Feature-Oriented Programming: A Fresh Look at Objects, ECOOP '97 -- Object-Oriented Programming, Springer LNCS 1241, 1997.
No context found.
C. Prehofer, Feature-Oriented Programming: A Fresh Look at Objects, ECOOP '97 -- Object-Oriented Programming, Springer LNCS 1241, 1997.
....for any feature combination using type computations via type classes. ffl We generalize some programming techniques used in [18] to generic classes of stateful and error monads. An exposition of feature oriented programming as an extension of an imperative language, namely Java, appears in [24]. This paper also includes a detailed comparison to object oriented programming. Here, we focus the functional essence of this approach and on more advanced concepts, such as exception handling. This can also be viewed as semantical model of the core of the imperative version in [24] We ....
....appears in [24] This paper also includes a detailed comparison to object oriented programming. Here, we focus the functional essence of this approach and on more advanced concepts, such as exception handling. This can also be viewed as semantical model of the core of the imperative version in [24]. We demonstrate our concepts by two examples, including some telecommunication features, where feature interactions have recently attracted great attention [27, 8] For more examples in this area of telecommunications we refer to [25] For implementing our concepts with monads we generalize ....
[Article contains additional citation context not shown here]
Christian Prehofer. Feature-oriented programming: A fresh look at objects. In ECOOP '97, 1997. To appear in Springer-LNCS.
No context found.
C. Prehofer. Feature-oriented programming: a fresh look at objects, Proceedings of ECOOP'97, Springer LNCS.
No context found.
C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects. In ECOOP, 1997.
No context found.
Christian Prehofer. Feature-oriented programming: A fresh look at objects. Lecture Notes in Computer Science, 1241:419--??, 1997.
No context found.
Christian Prehofer. Feature-oriented programming: A fresh look at objects. In Mehmet Aksit and Satoshi Matsuoka, editors, ECOOP'97|Object-Oriented Programming, 11th European Conference, volume 1241, pages 419-443, Jyvaskyla, Finland, 9-13 1997. Springer.
No context found.
C. Prehofer, "Feature-Oriented Programming: A Fresh Look at Objects," Proc. Ann. European Conf. Object-Oriented Programming, 1997.
No context found.
Christian Prehofer. Feature-oriented programming: A fresh look at objects. In European Conference on Object-Oriented Programming, number 1241 in Lecture Notes in Computer Science. Springer-Verlag, 1997.
No context found.
C. Prehofer. Feature-oriented programming: A fresh look at objects. In M. Aksit and S. Matsuoka, editors, ECOOP'97 - Preceedings of the 11th European Conference on Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 419--443, Jyv askyl a, Finland, June 1997. Springer.
No context found.
C. Prehofer. Feature-oriented programming: A fresh look at objects. In M. Aksit and S. Matsuoka, editors, ECOOP'97 - Preceedings of the 11th European Conference on Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 419--443, Jyv askyl a, Finland, June 1997. Springer.
No context found.
C. Prehofer. Feature-oriented programming: A fresh look at objects. In European Conference on Object-Oriented Programming, number 1241 in Lecture Notes in Computer Science. Springer-Verlag, 1997.
No context found.
C. Prehofer. Feature-oriented programming: A fresh look at objects. In European Conference on Object-Oriented Programming, number 1241 in Lecture Notes in Computer Science. Springer-Verlag, 1997.
No context found.
C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects, to appear in ECOOP'97 Proceedings, Springer Verlag, 1997.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC