Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

An inheritance system for structural & behavioral reuse in component-based software programming

Published: 26 September 2012 Publication History

Abstract

In the context of Component-based Programming, which addresses the implementation stage of a component-based software engineering development process, this paper describes a specification and an operational integration of an inheritance system into a self-contained new component-based programming language named Compo. Our proposal completes and extends related works by making it possible to apply inheritance to the full description of components, i.e. both to structural (description of provisions and requirements, of component architecture) and behavioral (full implementations of services) parts in component descriptions. Inheritance in Compo is designed to be used in conjunction with composition to maximize reuse capabilities and expressive power. Compo implementation proposes a clear operational solution for inheritance and for achieving and testing substitutions.

References

[1]
J. Aldrich, C. Chambers, and D. Notkin. Archjava: connecting software architecture to implementation. In procs. of ICSE, New York, NY, USA, 2002. ACM.
[2]
K. Arnout. From patterns to components. ETH Zürich, 2004.
[3]
D. Bardou and C. Dony. Split objects: a disciplined use of delegation within objects. In Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, OOPSLA '96, pages 122--137, New York, NY, USA, 1996. ACM.
[4]
A. Black, S. Ducasse, O. Nierstrasz, D. Pollet, D. Cassou, and M. Denker. Pharo by Example. Square Bracket Associates, 2009.
[5]
N. Bouraqadi and L. Fabresse. Clic: a component model symbiotic with smalltalk. In procs. of IWST, New York, NY, USA, 2009. ACM.
[6]
G. Bracha and W. Cook. Mixin-based inheritance. In Proceedings of OOPSLA and ECOOP. ACM Press, 1990.
[7]
E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, and J.-B. Stefani. The fractal component model and its support in java: Experiences with auto-adaptive and reconfigurable systems. Softw. Pract. Exper., September 2006.
[8]
R. Ducournau. "real world" as an argument for covariant specialization in programming and modeling. In Advances in Object-Oriented Information Systems, Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2002.
[9]
L. Fabresse, N. Bouraqadi, C. Dony, and M. Huchard. Filling the Gap between Design and Implementation with Components. International Journal of Computer Languages, Systems and Structures, Jan. 2012.
[10]
L. Fabresse, C. Dony, and M. Huchard. Foundations of a simple and unified component-oriented language. Comput. Lang. Syst. Struct., July 2008.
[11]
E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.
[12]
H. Lieberman. Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems. In procs. of OOPSLA, Portland, Oregon, USA, Nov. 1986. Published as ACM SIGPLAN Notices 21(11).
[13]
B. Liskov and S. Zilles. Programming with abstract data types. In Proceedings of the ACM SIGPLAN symposium on Very high level languages, New York, NY, USA, 1974. ACM.
[14]
R. C. Martin. Agile Software Development, Principles, Patterns, and Practices. Prentice-Hall, Inc., 2002.
[15]
A. McVeigh, J. Kramer, and J. Magee. Using resemblance to support component reuse and evolution. In Procs. of SAVCBS, New York, NY, USA, 2006. ACM.
[16]
OMG. UML 2.4.1 superstructure specification; document formal/2011-08-06. Technical report, OMG, August 2011.
[17]
T. Oplustil. Inheritance in architecture description language. In procs. of WDS, Prague, Czech Republic, June 2003. Matfyzpress.
[18]
F. Plásil, D. Bálek, and R. Janecek. Sofa/dcup: Architecture for component trading and dynamic updating. In procs. of CDS, Washington, DC, USA, 1998. IEEE Computer Society.
[19]
H. A. Schmid and M. Pfeifer. Engineering a component language: Compjava. In Software and Data Technologies, Communications in Computer and Information Science. Springer Berlin Heidelberg, 2008.
[20]
J. a. C. Seco and L. Caires. A basic model of typed components. In procs. of ECOOP, London, UK, 2000. Springer-Verlag.
[21]
J. C. Seco, R. Silva, and M. Piriquito. Componentj: A component-based programming language with dynamic reconfiguration. Computer Science and Information Systems, Dec. 2008.
[22]
V. C. Sreedhar. Mixin'up components. In procs. of ICSE, New York, NY, USA, 2002. ACM.
[23]
A. Taivalsaari. On the notion of inheritance. ACM Comput. Surv., Sept. 1996.
[24]
C. Tibermacine, R. Fleurquin, and S. Sadou. A family of languages for architecture constraint specification. In the Journal of Systems and Software (JSS), Elsevier, 2010.
[25]
C. Tibermacine, S. Sadou, C. Dony, and L. Fabresse. Component-based specification of software architecture constraints. In procs. of CBSE, Boulder, Colorado, USA, June 2011. ACM Press.
[26]
W. Weck and C. Szyperski. Do we need inheritance? In procs. of ECOOP, 1996.
[27]
L. Xu and Y. Ren. Bichon: A new component-oriented programming language. Software Engineering, World Congress on, 2010.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 48, Issue 3
GPCE '12
March 2013
140 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/2480361
Issue’s Table of Contents
  • cover image ACM Conferences
    GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component Engineering
    September 2012
    148 pages
    ISBN:9781450311298
    DOI:10.1145/2371401
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 September 2012
Published in SIGPLAN Volume 48, Issue 3

Check for updates

Author Tags

  1. architectures
  2. inheritance
  3. programming
  4. substitutability

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media