Skip to main content
Top

2019 | OriginalPaper | Chapter

A Textual Notation for Modeling and Generating Code for Composite Structure

Authors : Mahmoud Husseini Orabi, Ahmed Husseini Orabi, Timothy C. Lethbridge

Published in: Model-Driven Engineering and Software Development

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Models of the composite structure of a software system describe its components, how they are connected or contain each other, and how they communicate using ports and connectors. Although composite structure is one of the UML diagram types, it tends to be complex to use, or requires particular library support, or suffers from weak code generation, particularly in open source tools. Our previous work has shown that software modelers can benefit from a textual notation for UML concepts as well as from high-quality code generation, both of which we have implemented in Umple. This paper explains our extensions to Umple in order create a simple textual notation and comprehensive code generation for composite structure. A particular feature of our approach is that developers do not always need to explicitly encode protocols as they can be in many cases inferred. We present case studies of the composite structure of several systems designed using Umple, and demonstrate how the volume of code and cyclomatic complexity faced by developers is far lower than if they tried to program such systems directly in C++.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Orabi, M.H., Orabi, A.H., Lethbridge, T.: Umple as a component-based language for the development of real-time and embedded applications. In: Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development, pp. 282–291 (2016) Orabi, M.H., Orabi, A.H., Lethbridge, T.: Umple as a component-based language for the development of real-time and embedded applications. In: Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development, pp. 282–291 (2016)
2.
go back to reference Lakkimsetti, S.K.: Rational Software Architect Community: Connexis User Guide (2014) Lakkimsetti, S.K.: Rational Software Architect Community: Connexis User Guide (2014)
3.
go back to reference Badreddin, O., Lethbridge, T.C., Forward, A.: A test-driven approach for developing software languages. In: International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2014, pp. 225–234 (2014) Badreddin, O., Lethbridge, T.C., Forward, A.: A test-driven approach for developing software languages. In: International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2014, pp. 225–234 (2014)
4.
go back to reference Badreddin, O., Forward, A., Lethbridge, T.C.: Improving code generation for associations: enforcing multiplicity constraints and ensuring referential integrity, vol. 430 (2014)CrossRef Badreddin, O., Forward, A., Lethbridge, T.C.: Improving code generation for associations: enforcing multiplicity constraints and ensuring referential integrity, vol. 430 (2014)CrossRef
6.
go back to reference Lavender, R.G., Schmidt, D.C.: Active object: an object behavioral pattern for concurrent programming. In: Pattern Languages of Program Design 2, pp. 483–499. Addison-Wesley Longman Publishing Co., Inc., Boston (1996) Lavender, R.G., Schmidt, D.C.: Active object: an object behavioral pattern for concurrent programming. In: Pattern Languages of Program Design 2, pp. 483–499. Addison-Wesley Longman Publishing Co., Inc., Boston (1996)
7.
go back to reference Husseini Orabi, M., Husseini Orabi, A., Lethbridge, T.C.: Concurrent programming using Umple. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, pp. 575–585 (2018) Husseini Orabi, M., Husseini Orabi, A., Lethbridge, T.C.: Concurrent programming using Umple. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, pp. 575–585 (2018)
8.
go back to reference Husseini Orabi, M., Husseini Orabi, A., Lethbridge, T.C.: Component-based modeling in Umple. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, pp. 247–255 (2018) Husseini Orabi, M., Husseini Orabi, A., Lethbridge, T.C.: Component-based modeling in Umple. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, pp. 247–255 (2018)
9.
go back to reference OMG: UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems (2011) OMG: UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems (2011)
10.
go back to reference Mallet, F., Peraldi-Frati, M.A., André, C.: Marte CCSL to execute east-ADL timing requirements. In: Proceedings of the 2009 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2009, pp. 249–253 (2009) Mallet, F., Peraldi-Frati, M.A., André, C.: Marte CCSL to execute east-ADL timing requirements. In: Proceedings of the 2009 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2009, pp. 249–253 (2009)
11.
go back to reference Selic, B.: Real-Time Object-Oriented Modeling (ROOM). In: Proceedings of the 2nd IEEE Real-Time Technology and Applications Symposium (RTAS 1996), p. 214 (1996) Selic, B.: Real-Time Object-Oriented Modeling (ROOM). In: Proceedings of the 2nd IEEE Real-Time Technology and Applications Symposium (RTAS 1996), p. 214 (1996)
12.
go back to reference Espinoza, H., Gérard, S., Lönn, H., Kolagari, R.T.: Harmonizing MARTE, EAST-ADL2, and AUTOSAR to improve the modelling of automotive systems. In: The Workshop Standard, AUTOSAR (2009) Espinoza, H., Gérard, S., Lönn, H., Kolagari, R.T.: Harmonizing MARTE, EAST-ADL2, and AUTOSAR to improve the modelling of automotive systems. In: The Workshop Standard, AUTOSAR (2009)
13.
go back to reference Olsen, A., Færgemand, O., Møller-Pedersen, B., Smith, J.R.W., Reed, R.: Systems Engineering Using SDL-92, North Holland, 28 September 1994 Olsen, A., Færgemand, O., Møller-Pedersen, B., Smith, J.R.W., Reed, R.: Systems Engineering Using SDL-92, North Holland, 28 September 1994
14.
go back to reference Mohlin, M.: Rational Software Architect Community: Modeling Real-Time Applications in RSARTE (2015) Mohlin, M.: Rational Software Architect Community: Modeling Real-Time Applications in RSARTE (2015)
17.
go back to reference Smaragdakis, Y., Batory, D.S.: Mixin-based programming in C++. In: Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers, GCSE 2000, pp. 163–177 (2000) Smaragdakis, Y., Batory, D.S.: Mixin-based programming in C++. In: Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers, GCSE 2000, pp. 163–177 (2000)
18.
go back to reference Orabi, M.H.: Facilitating the representation of composite structure, active objects, code generation, and software component descriptions in the Umple model-oriented programming language (Ph.D. thesis), University of Ottawa (2017) Orabi, M.H.: Facilitating the representation of composite structure, active objects, code generation, and software component descriptions in the Umple model-oriented programming language (Ph.D. thesis), University of Ottawa (2017)
19.
go back to reference Forward, “The Convergence of Modeling and Programming: Facilitating the Representation of Attributes and Associations in the Umple Model-Oriented Programming Language (PhD Thesis),” University of Ottawa, 2010 Forward, “The Convergence of Modeling and Programming: Facilitating the Representation of Attributes and Associations in the Umple Model-Oriented Programming Language (PhD Thesis),” University of Ottawa, 2010
22.
go back to reference Douglass, B.P.: Real Time UML: Advances in the UML for Real-Time Systems (2004) Douglass, B.P.: Real Time UML: Advances in the UML for Real-Time Systems (2004)
23.
go back to reference Kan, S.H.: Metrics and Models in Software Quality Engineering. Addison-Wesley, Reading (2003)MATH Kan, S.H.: Metrics and Models in Software Quality Engineering. Addison-Wesley, Reading (2003)MATH
Metadata
Title
A Textual Notation for Modeling and Generating Code for Composite Structure
Authors
Mahmoud Husseini Orabi
Ahmed Husseini Orabi
Timothy C. Lethbridge
Copyright Year
2019
DOI
https://doi.org/10.1007/978-3-030-11030-7_16

Premium Partner