Abstract
We describe the synergies gained by enabling variants for product lines, or features, to be modeled in the same master syntax as design models (class diagrams, state diagrams, composite structure) and traditional source code. Our approach, using a construct we call mixsets, facilitates better analysis, documentation generation, diagram generation, reviewing and testing. It also solves problems related to tool dependency. We have implemented the approach in Umple, building on our previous work which merged design models with code. Our approach continues to allow multiple programming languages to be embedded and generated from the design models. Our extensions allow multiple approaches to separation of concerns (variants, traits, mixins, aspects) to co-exist, operating on models as well as code, and to synergistically enhance each other.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Lethbridge, T.C., Abdelzad, V., Husseini Orabi, M., Husseini Orabi, A., Adesina, O.: Merging modeling and programming using umple. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9953, pp. 187–197. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47169-3_14
Husseini-Orabi, M., Husseini-Orabi, A., Lethbridge, T.C.: Component-Based Modeling in Umple Modelsward 2018, pp. 247–255 (2018)
Abdelzad, V., Lethbridge, T.C.: Promoting traits into model-driven development. Softw. Syst. Model. 16, 997–1017 (2015)
Umple. http://www.umple.org. Accessed 17 May 2018
Badreddin, O, Forward, A., Lethbridge, T.C.: Exploring a model-oriented and executable syntax for UML attributes. In: Lee, R. (ed.) Software Engineering Research, Management and Applications. SCI, vol. 496, pp. 33–53. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-319-00948-3_3
Badreddin, O., Forward, A., Lethbridge, T.C.: Improving code generation for associations: enforcing multiplicity constraints and ensuring referential integrity. In: Lee, R. (ed.) SERA 2013. SCI, vol. 496, pp. 129–149. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-319-00948-3_9
Badreddin, O., Lethbridge, T.C., Forward, A., Elasaar, M., Aljamaan, H., Garzon, M.: Enhanced code generation from UML composite state machines. In: MODELSWARD 2014, Portugal, INSTICC, pp. 235–245 (2014)
Apel, S., Kästner, C.: An overview of feature-oriented software development. J. Obj. Technol. 8(5), 49–84 (2009)
Thüm, T., Kästner, C., et al.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Programm. 71(1), 70–85 (2014)
Pohn, K., Böckle, G, van Der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005). https://doi.org/10.1007/3-540-28901-1
Apel, S., Janda, F., Trujillo, S., Kästner, C.: Model superimposition in software product lines. In: Paige, Richard F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 4–19. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02408-5_2
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study (No. CMU/SEI-90-TR-21). Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst (1990)
Classen, A., Boucher, Q., Heymans, P.: A text-based approach to feature modelling: syntax and semantics of TVL. Sci. Comput. Programm. 76(12), 1130–1143 (2011)
Bąk, K., Diskin, Z., Antkiewicz, M., Czarnecki, K., Wąsowski, A.: Clafer: unifying class and feature modeling. Softw. Syst. Model. 15(3), 811–845 (2016)
Czarnecki, K., Grünbacher, P., Rabiser, R., Schmid, K., Wąsowski, A.: Cool features and tough decisions: a comparison of variability modeling approaches. In: Sixth International Workshop on Variability Modeling of Software-Intensive Systems, pp. 173–182. ACM (2012)
Apel, S., Kastner, C., Lengauer, C.: FEATUREHOUSE: language-independent, automated software composition. In: Proceedings of the 31st International Conference on Software Engineering, pp. 221–231. IEEE Computer Society, May 2009
Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30(6), 355–371 (2004)
Noda, N., Kishi, T.: Aspect-oriented modeling for variability management. In: 12th International Software Product Line Conference SPLC 2008, pp. 213–222. IEEE (2008)
Clarke, D., et al.: Modeling spatial and temporal variability with the HATS abstract behavioral modeling language. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 417–457. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21455-4_13
Berger, T.: A survey of variability modeling in industrial practice. In: Seventh International Workshop on Variability Modelling of Software-intensive Systems, p. 7. ACM (2013)
Pure: variants User’s Guide. https://www.pure-systems.com/fileadmin/downloads/pure-variants/doc/pv-user-manual.pdf. Accessed 18 May 2018
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Lethbridge, T.C., Algablan, A. (2018). Using Umple to Synergistically Process Features, Variants, UML Models and Classic Code. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Modeling. ISoLA 2018. Lecture Notes in Computer Science(), vol 11244. Springer, Cham. https://doi.org/10.1007/978-3-030-03418-4_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-03418-4_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-03417-7
Online ISBN: 978-3-030-03418-4
eBook Packages: Computer ScienceComputer Science (R0)