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.
- J. Aldrich, C. Chambers, and D. Notkin. Archjava: connecting software architecture to implementation. In procs. of ICSE, New York, NY, USA, 2002. ACM. Google Scholar
Digital Library
- K. Arnout. From patterns to components. ETH Zürich, 2004.Google Scholar
- 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. Google Scholar
Digital Library
- A. Black, S. Ducasse, O. Nierstrasz, D. Pollet, D. Cassou, and M. Denker. Pharo by Example. Square Bracket Associates, 2009.Google Scholar
- N. Bouraqadi and L. Fabresse. Clic: a component model symbiotic with smalltalk. In procs. of IWST, New York, NY, USA, 2009. ACM. Google Scholar
Digital Library
- G. Bracha and W. Cook. Mixin-based inheritance. In Proceedings of OOPSLA and ECOOP. ACM Press, 1990. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
- L. Fabresse, C. Dony, and M. Huchard. Foundations of a simple and unified component-oriented language. Comput. Lang. Syst. Struct., July 2008. Google Scholar
Digital Library
- E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995. Google Scholar
Digital Library
- 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). Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- R. C. Martin. Agile Software Development, Principles, Patterns, and Practices. Prentice-Hall, Inc., 2002. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- OMG. UML 2.4.1 superstructure specification; document formal/2011-08-06. Technical report, OMG, August 2011.Google Scholar
- T. Oplustil. Inheritance in architecture description language. In procs. of WDS, Prague, Czech Republic, June 2003. Matfyzpress.Google Scholar
- 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. Google Scholar
Digital Library
- 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.Google Scholar
- J. a. C. Seco and L. Caires. A basic model of typed components. In procs. of ECOOP, London, UK, 2000. Springer-Verlag. Google Scholar
Digital Library
- J. C. Seco, R. Silva, and M. Piriquito. Componentj: A component-based programming language with dynamic reconfiguration. Computer Science and Information Systems, Dec. 2008.Google Scholar
- V. C. Sreedhar. Mixin'up components. In procs. of ICSE, New York, NY, USA, 2002. ACM. Google Scholar
Digital Library
- A. Taivalsaari. On the notion of inheritance. ACM Comput. Surv., Sept. 1996. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- W. Weck and C. Szyperski. Do we need inheritance? In procs. of ECOOP, 1996.Google Scholar
- L. Xu and Y. Ren. Bichon: A new component-oriented programming language. Software Engineering, World Congress on, 2010. Google Scholar
Digital Library
Index Terms
An inheritance system for structural & behavioral reuse in component-based software programming
Recommendations
An inheritance system for structural & behavioral reuse in component-based software programming
GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component EngineeringIn 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 ...
A Smalltalk implementation of Exil, a component-based programming language
IWST '11: Proceedings of the International Workshop on Smalltalk TechnologiesThe component-based development paradigm brings various solutions for software reusability and better modular structure of applications. When applied in programming language context it changes the way dependencies and connections between software pieces ...
A Modified Inheritance Mechanism Enhancing Reusability and Maintainability in Object-Oriented Languages
APSEC '96: Proceedings of the Third Asia-Pacific Software Engineering ConferenceIn object-oriented languages, encapsulation and inheritance play an important part for software reusability and maintainability. The separation of subtyping and inheritance makes inheritance a more flexible mechanism reusing code. The main enhanced ...






Comments