Advertisement

Using Umple to Synergistically Process Features, Variants, UML Models and Classic Code

  • Timothy C. LethbridgeEmail author
  • Abdulaziz Algablan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11244)

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.

Keywords

Umple Feature-oriented development Separation of concerns Aspect orientation Traits Mixins Software modeling 

References

  1. 1.
    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_14CrossRefGoogle Scholar
  2. 2.
    Husseini-Orabi, M., Husseini-Orabi, A., Lethbridge, T.C.: Component-Based Modeling in Umple Modelsward 2018, pp. 247–255 (2018)Google Scholar
  3. 3.
    Abdelzad, V., Lethbridge, T.C.: Promoting traits into model-driven development. Softw. Syst. Model. 16, 997–1017 (2015)CrossRefGoogle Scholar
  4. 4.
    Umple. http://www.umple.org. Accessed 17 May 2018
  5. 5.
    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_3CrossRefGoogle Scholar
  6. 6.
    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_9CrossRefGoogle Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Apel, S., Kästner, C.: An overview of feature-oriented software development. J. Obj. Technol. 8(5), 49–84 (2009)CrossRefGoogle Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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-1CrossRefGoogle Scholar
  11. 11.
    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_2CrossRefGoogle Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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 2009Google Scholar
  17. 17.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30(6), 355–371 (2004)CrossRefGoogle Scholar
  18. 18.
    Noda, N., Kishi, T.: Aspect-oriented modeling for variability management. In: 12th International Software Product Line Conference SPLC 2008, pp. 213–222. IEEE (2008)Google Scholar
  19. 19.
    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_13CrossRefGoogle Scholar
  20. 20.
    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)Google Scholar
  21. 21.

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.University of OttawaOttawaCanada

Personalised recommendations