Skip to main content
Log in

Plug-and-play composition of features and feature interactions with statechart diagrams

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

This paper presents a new approach for modular design of highly-entangled software components by statechart diagrams. We structure the components into features, which represent reusable, self-contained services. These are modeled individually by statechart diagrams. For composition of components from features, we need to consider the interactions between the features. These feature interactions, well known in the telecommunications area, typically describe special cases or cooperations which only occur when two features are combined. We describe these interactions graphically by refinement relations between statecharts. The main novelty is that full component descriptions are created in a plug-and-play fashion by combining the statecharts for the required features and interactions. Furthermore, we develop different classes of statecharts and show the interactions on a case-by-case basis. For composition, we use semantic refinement concepts for statecharts which preserve the original behavior.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bergmans, L., Aksit, M.: Composing synchronization and real-time constraints. Journal of Parallel and Distributed Computing 36(1): 32–52, 1996

    Article  Google Scholar 

  2. Batory, D., Gerac, B.J.: Composition validation and subjectivity in Genvoca generators. IEEE Transactions on Software Engineering, February 1997

  3. Bond, G.W., Ivancic, F., Klarlund, N., Trefler, R.: ECLIPSE Feature Logic Analysis Gregory, IPTEL Workshop 2001. http://iptel.org/2001/pg/final_program/

  4. Broy, M., Stolen, K.: Specification and Development of Interactive Systems. Springer-Verlag, 2001

  5. Bracha, G., Cook, W.: Mixin-based inheritance. ACM SIGPLAN Notices 25(10): 303–311, October 1990. Meyrowitz, N. (ed.), OOPSLA ECOOP ’90 Proceedings

    Article  Google Scholar 

  6. Lieberherr, K.: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996

  7. Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented programming: Introduction. Communications of the ACM 44(10), October 2001

  8. Workshops on Feature Interaction 1992–2000. Proceedings published at IOS Press, Netherlands. www.iospress.nl/site/html/tel.html

  9. Kolberg, M., Magill, E.H., Marples, D., Reiff, S.: Second Feature Interaction Contest Results. Calder, M., Magill, E. (eds.) Feature Interaction in Telecommunications and Software Systems VI. IOS Press, May 2000

  10. Hall, R.J.: Feature Interactions in Electronic Mail. IEEE Workshop on Feature Interaction, IOS-Press, 2000

  11. Hall, R.J.. Feature combination and interaction detection via foreground/background models. Computer Networks, Elsevier Science Publishers 32: 449–469, 2000

    Google Scholar 

  12. Hay, J.D., Atlee, J.M.: Composing Features and Resolving Interactions. ACM International Symposium on the Foundations of Software Engineering (FSE), November 2000

  13. Jonsson, B., Margaria, T., Naeser, G., Nyström, J., Steffen, B.: Incremental Requirement Specification for Evolving Systems. Nordic Journal of Computing 8(1): 65–87, Spring 2001

    Google Scholar 

  14. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. ECOOP 2001, Springer-Verlag

  15. Klein, C., Prehofer, C., Rumpe, B.: Feature Specification and Refinement with State Transition Diagrams. In: Dini, P. (ed.) Fourth IEEE Workshop on Feature Interactions in Telecommunications Networks and Distributed Systems, IOS-Press, 1997

  16. Li, H., Krishnamurthi, S., Fisler, K.: Verifying Cross-Cutting Features as Open Systems. International Conference on Foundations of Software Engineering. November 2002

  17. Prehofer, C.: Feature-Oriented Programming: A Fresh Look at Objects. ECOOP ’97 – Object-Oriented Programming, Springer LNCS 1241, 1997

  18. Prehofer, C.: Flexible Construction of Software Components: A Feature-Oriented Approach. Habilitation Thesis, Technical University of Munich, 1999

  19. Prehofer, C.: Feature-Oriented Programming: A New Way of Object Composition, Concurrency and Computation, 2001

  20. Rumpe, B., Klein, C.: Statecharts Describing Object Behavior. In: Kilov, H., Harvey, W. (eds.) Specification of Behavioral Semantics in Object-Oriented Information Modeling. Kluwer, 1996

  21. Seiter, L.M., Palsberg, J., Lieberherr, K.J.: Evolution of object behavior using context relations. In: David Garlan (ed.) Symposium on Foundations of Software Engineering. ACM Press, 1996

  22. Stein, D., Hanenberg, S., Unland, R.: Designing Aspect-Oriented Crosscutting in UML. Workshop on Aspect-oriented modelling with UML, Dresden, Sept. 2002 http://lglwww.epfl.ch/workshops/uml2002/index.html

  23. The OMG’s Unified Modelling Language, version 1.4. http://www.omg.org/UML/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christian Prehofer.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Prehofer, C. Plug-and-play composition of features and feature interactions with statechart diagrams. Softw Syst Model 3, 221–234 (2004). https://doi.org/10.1007/s10270-003-0040-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-003-0040-z

Keywords

Navigation