ACM Home Page
Please provide us with feedback. Feedback
An orthogonal access modifier model for feature-oriented programming
Full text PdfPdf (427 KB)
Source
ACM International Conference Proceeding Series archive
Proceedings of the First International Workshop on Feature-Oriented Software Development table of contents
Denver, Colorado
SESSION: Languages & product derivation table of contents
Pages 27-33  
Year of Publication: 2009
ISBN:978-1-60558-567-3
Authors
Sven Apel  University of Passau, Germany
Jörg Liebig  University of Passau, Germany
Christian Kästner  University of Magdeburg, Germany
Martin Kuhlemann  University of Magdeburg, Germany
Thomas Leich  Metop Research Center, Magdeburg, Germany
Sponsor
: Metop GmbH
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 5,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1629716.1629723
What is a DOI?

ABSTRACT

In feature-oriented programming (FOP), a programmer decomposes a program in terms of features. Ideally, features are implemented modularly so that they can be developed in isolation. Access control is an important ingredient to attain feature modularity as it provides mechanisms to hide and expose internal details of a module's implementation. But developers of contemporary feature-oriented languages did not consider access control mechanisms so far. The absence of a well-defined access control model for FOP breaks the encapsulation of feature code and leads to unexpected and undefined program behaviors as well as inadvertent type errors, as we will demonstrate. The reason for these problems is that common object-oriented modifiers, typically provided by the base language, are not expressive enough for FOP and interact in subtle ways with feature-oriented language mechanisms. We raise awareness of this problem, propose three feature-oriented modifiers for access control, and present an orthogonal access modifier model.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
F. Anfurrutia, O. Díaz, and S. Trujillo. On Refining XML Artifacts. In Proceedings of International Conference on Web Engineering (ICWE), volume 4607 of Lecture Notes in Computer Science, pages 473--478. Springer-Verlag, 2007.
 
2
S. Apel and C. Kästner. An Overview of Feature-Oriented Software Development. Journal of Object Technology (JOT), 8(5):49--84, 2009.
 
3
S. Apel, C. Kästner, and D. Batory. Program Refactoring using Functional Aspects. In Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE), pages 161--170. ACM Press, 2008.
 
4
S. Apel, C. Kästner, A. Größlinger, and C. Lengauer. Type-Safe Feature-Oriented Product Lines. Technical Report MIP-0909, Department of Informatics and Mathematics, University of Passau, 2009.
 
5
S. Apel, C. Kästner, and C. Lengauer. Feature Featherweight Java: A Calculus for Feature-Oriented Programming and Stepwise Refinement. In Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE), pages 101--112. ACM Press, 2008.
 
6
S. Apel, C. Kästner, and C. Lengauer. FeatureHouse: Language-Independent, Automated Software Composition. In Proceedings of the International Conference on Software Engineering (ICSE), pages 221--231. IEEE Computer Society, 2009.
 
7
S. Apel, T. Leich, M. Rosenmüller, and G. Saake. FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE), volume 3676 of Lecture Notes in Computer Science, pages 125--140. Springer-Verlag, 2005.
 
8
S. Apel, T. Leich, and G. Saake. Aspectual Feature Modules. IEEE Transactions on Software Engineering (TSE), 34(2):162--180, 2008.
 
9
I. Aracic, V. Gasiunas, M. Mezini, and K. Ostermann. An Overview of CaesarJ. Transactions on Aspect-Oriented Software Development (TAOSD), 1(1):135--173, 2006.
 
10
D. Batory. Program Refactoring, Program Synthesis, and Model-Driven Development. In Proceedings of the International Conference on Compiler Construction (CC), volume 4420 of Lecture Notes in Computer Science, pages 156--171. Springer-Verlag, 2007.
 
11
D. Batory, J. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Transactions on Software Engineering (TSE), 30(6):355--371, 2004.
 
12
P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2002.
 
13
B. Delaware, W. Cook, and D. Batory. A Machine-Checked Model of Safe Composition. In Proceedings of the International Workshop on Foundations of Aspect-Oriented Languages (FOAL), pages 31--35. ACM Press, 2009.
 
14
D. Hutchins. Pure Subtype Systems: A Type Theory For Extensible Software. PhD thesis, School of Informatics, University of Edinburgh, 2008.
 
15
M. Kuhlemann, S. Apel, and T. Leich. Streamlining Feature-Oriented Designs. In Proceedings of the International Symposium on Software Composition (SC), volume 4829 of Lecture Notes in Computer Science, pages 168--175. Springer-Verlag, 2007.
 
16
R. Lopez-Herrejon, D. Batory, and W. Cook. Evaluating Support for Features in Advanced Modularization Technologies. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), volume 3586 of Lecture Notes in Computer Science, pages 169--194. Springer-Verlag, 2005.
 
17
R. Lopez-Herrejon, D. Batory, and C. Lengauer. A Disciplined Approach to Aspect Composition. In Proceedings of the International Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM), pages 68--77. ACM Press, 2006.
 
18
K. Pohl, G. Böckle, and F. van der Linden. Software Product Line Engineering. Foundations, Principles, and Techniques. Springer-Verlag, 2005.
 
19
C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), volume 1241 of Lecture Notes in Computer Science, pages 419--443. Springer-Verlag, 1997.
 
20
T. Reenskaug, E. Andersen, A. Berre, A. Hurlen, A. Landmark, O. Lehne, E. Nordhagen, E. Ness-Ulseth, G. Oftedal, A. Skaar, and P. Stenslet. OORASS: Seamless Support for the Creation and Maintenance of Object-Oriented Systems. Journal of Object-Oriented Programming (JOOP), 5(6):27--41, 1992.
 
21
Y. Smaragdakis and D. Batory. Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. ACM Transactions on Software Engineering and Methodology (TOSEM), 11(2):215--255, 2002.
 
22
F. Steimann, T. Pawlitzki, S. Apel, and C. Kästner. Types and Modularity for Implicit Invocation with Implicit Announcement. ACM Transactions on Software Engineering and Methodology (TOSEM), 2009.
 
23
M. VanHilst and D. Notkin. Using Role Components in Implement Collaboration-based Designs. In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pages 359--369. ACM Press, 1996.