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.
Similar content being viewed by others
References
Bergmans, L., Aksit, M.: Composing synchronization and real-time constraints. Journal of Parallel and Distributed Computing 36(1): 32–52, 1996
Batory, D., Gerac, B.J.: Composition validation and subjectivity in Genvoca generators. IEEE Transactions on Software Engineering, February 1997
Bond, G.W., Ivancic, F., Klarlund, N., Trefler, R.: ECLIPSE Feature Logic Analysis Gregory, IPTEL Workshop 2001. http://iptel.org/2001/pg/final_program/
Broy, M., Stolen, K.: Specification and Development of Interactive Systems. Springer-Verlag, 2001
Bracha, G., Cook, W.: Mixin-based inheritance. ACM SIGPLAN Notices 25(10): 303–311, October 1990. Meyrowitz, N. (ed.), OOPSLA ECOOP ’90 Proceedings
Lieberherr, K.: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996
Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented programming: Introduction. Communications of the ACM 44(10), October 2001
Workshops on Feature Interaction 1992–2000. Proceedings published at IOS Press, Netherlands. www.iospress.nl/site/html/tel.html
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
Hall, R.J.: Feature Interactions in Electronic Mail. IEEE Workshop on Feature Interaction, IOS-Press, 2000
Hall, R.J.. Feature combination and interaction detection via foreground/background models. Computer Networks, Elsevier Science Publishers 32: 449–469, 2000
Hay, J.D., Atlee, J.M.: Composing Features and Resolving Interactions. ACM International Symposium on the Foundations of Software Engineering (FSE), November 2000
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
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. ECOOP 2001, Springer-Verlag
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
Li, H., Krishnamurthi, S., Fisler, K.: Verifying Cross-Cutting Features as Open Systems. International Conference on Foundations of Software Engineering. November 2002
Prehofer, C.: Feature-Oriented Programming: A Fresh Look at Objects. ECOOP ’97 – Object-Oriented Programming, Springer LNCS 1241, 1997
Prehofer, C.: Flexible Construction of Software Components: A Feature-Oriented Approach. Habilitation Thesis, Technical University of Munich, 1999
Prehofer, C.: Feature-Oriented Programming: A New Way of Object Composition, Concurrency and Computation, 2001
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
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
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
The OMG’s Unified Modelling Language, version 1.4. http://www.omg.org/UML/
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-003-0040-z