Skip to main content
Log in

EX-MAN Component Model for Component-Based Software Construction

  • Research Article - Computer Engineering and Computer Science
  • Published:
Arabian Journal for Science and Engineering Aims and scope Submit manuscript

Abstract

In software engineering, composition is the way to reuse existing work. In component-based development (CBD), a number of component models are defined with an emphasis on composition mechanisms for components. With respect to components, current component models can be categorised into three main groups where components are: (i) objects, (ii) architectural units and (iii) encapsulated components. This paper presents a comparison of system construction in these three categories of component models and concludes selecting the X-MAN component model (X-MAN) from the third category for its edge over other models because of its exogenous composition connectors. However, because of the limitations of X-MAN, the use of this component model at a wider scale is hindered. In this paper, we propose extended X-MAN component model (EX-MAN) which addresses the limitations of X-MAN. To demonstrate the EX-MAN semantics for system construction, we have developed a tool exogenous composition framework (ECF). We have described the concepts used in our work using a trivial bank example. To evaluate the feasibility of EX-MAN for system construction, using ECF (a related tool we have developed), we constructed the trivial bank example and also a more complex system, CoCoME, example.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

References

  1. Nierstrasz, O.; Dami, L.: Component-oriented software technology. In: Nierstrasz, O., Tsichritzis, D. (eds.) Object-Oriented Software Composition, pp. 3–28. Prentice-Hall, Englewood Cliffs (1995)

    Google Scholar 

  2. Lau, K.K.; Taweel, F.; Tran, C.: The W model for component-based software development. In: Proceedings Thirty-seventh EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 47–50. IEEE (2011)

  3. Heineman, G.; Councill, W. (eds.): Component-Based Software Engineering. Addison-Wesley, Reading (2001)

    Google Scholar 

  4. Szyperski, C.; Gruntz, D.; Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)

    Google Scholar 

  5. Nierstrasz, O.; Meijler, T.: Research directions in software composition. ACM Comput. Surv. 27(2), 262–264 (1995)

    Article  Google Scholar 

  6. Lau, K.K.; Rana, T.: A taxonomy of software composition mechanisms. In: Proceedings Thirty-sixth EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 102–110. IEEE (2010)

  7. Jakobsson, L.; Christiansson, B.; Crnkovic, I.: Component-based development process. In: Crnkovic, I., Larsson, M. (eds.) Building Reliable Component-Based Software Systems, pp. 89–113. Artech House Inc, Norwood, MA (2002)

    Google Scholar 

  8. Crnkovic, I.; Chaudron, M.; Larsson, S.: Component-based development process and component lifecycle. In: Proceedings of the International Conference on Software Engineering Advances, pp. 44–53. IEEE Computer Society, Washington, DC, USA (2006).

  9. Lau, K.K.; Wang, Z.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007)

    Article  Google Scholar 

  10. Lau, K.K.; Ornaghi, M.; Wang, Z.: A software component model and its preliminary formalisation. In: de Boer, F. et al. (ed.) Proceedings Fourth International Symposium on Formal Methods for Components and Objects, LNCS 4111, pp. 1–21. Springer-Verlag (2006)

  11. Lau, K.K.; Velasco Elizondo, P.; Wang, Z.: Exogenous connectors for software components. In: Proceedings Eighth International SIGSOFT Symposium on Component-based Software Engineering, LNCS, vol. 3489, pp. 90–106 (2005)

  12. Lau, K.K.; Cola, S.: An Introduction to Component-Based Software Development. World Scientific, Singapore (2017)

    Book  Google Scholar 

  13. Rana, T.: Incremental construction of component-based systems: a study based on current component model. Ph.D. thesis, School of Computer Science, The University of Manchester (2015)

  14. He, N.; Kroening, D.; Wahl, T.; Lau, K.K.; Taweel, F.; Tran, C.; Rümmer, P.; Sharma, S.: Component-based design and verification in X-MAN. In: Proceedings of the Embedded Real Time Software and Systems (2012)

  15. Lau, K.K.; Ng, K.Y.; Rana, T.; Tran, C.: Incremental construction of component-based systems. In: Proceedings of Fifteenth International ACM SIGSOFT Symposium on Component-based Software Engineering, pp. 41–50. ACM (2012)

  16. Lau, K.K.; Nordin, A.; Rana, T.; Taweel, F.: Constructing component-based systems directly from requirements using incremental composition. In: Proceedings Thirty-sixth EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 85–93. IEEE (2010)

  17. Rausch, A.; Reussner, R.; Mirandola, R.; Plasil, F.: The Common Component Modeling Example: Comparing Software Component Models, 1st edn. Springer, Berlin (2008)

    Book  Google Scholar 

  18. OMG: OMG Unified Modeling Language Specification (2007). http://www.omg.org/cgi-bin/doc?formal/07-11-01.pdf. Access 4 Mar 2015

  19. Garlan, D.; Monroe, R.; Wile, D.: Acme: architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)

    Google Scholar 

  20. DeMichiel, L.; Yalçinalp, L.; Krishnan, S.: Enterprise JavaBeans Specification Version 2.0 (2001)

  21. Microsystems, S.: Javabeans specification (1997). http://www.oracle.com/technetwork/java/javase/glasgow-139720.html. Accessed 4 Mar 2015

  22. Don, B.: Essential COM, 1st edn. Addison-Wesley Longman Publishing Co., Inc, Boston, MA (1997)

    MATH  Google Scholar 

  23. Wigley, A.; Sutton, M.; Wheelwright, S.; Burbidge, R.; Mcloud, R.: Microsoft.Net Compact Framework: Core Reference. Microsoft Press, Redmond (2002)

    Google Scholar 

  24. Group, O.M.: Corba component model 4.0 specification. Specification Version 4.0, Object Management Group (2006)

  25. Clements, P.: A survey of architecture description languages. In: IWSSD ’96: Proceedings of the Eighth International Workshop on Software Specification and Design, p. 16. IEEE Computer Society, Washington, DC, USA (1996)

  26. Atkinson, C.; Bayer, J.; Bunse, C.; Kamsties, E.; Laitenberger, O.; Laqua, R.; Muthig, D.; Paech, B.; Wüst, J.; Zettel, J.: Component-Based Product Line Engineering with UML. Addison-Wesley Longman Publishing Co., Inc, Boston, MA (2002)

    Book  Google Scholar 

  27. van Ommering, R.; van der Linden, F.; Kramer, J.; Magee, J.: The koala component model for consumer electronics software. Computer 33(3), 78–85 (2000)

    Article  Google Scholar 

  28. Plásil, F.; Bálek, D.; Janecek, R.: Sofa/dcup: Architecture for component trading and dynamic updating. In: Proceedings of the International Conference on Configurable Distributed Systems, CDS ’98, pp. 43–52. IEEE Computer Society, Washington, DC, USA (1998)

  29. Nierstrasz, O.; Arévalo, G.; Ducasse, S.; Wuyts, R.; Black, A.; Müller, P.; Zeidler, C.; Genssler, T.; van den Born, R.: A component model for field devices. In: Proceedings of the IFIP/ACM Working Conference on Component Deployment, pp. 200–209. Springer-Verlag, London, UK (2002)

  30. GenBler, T.; Christoph, A.; Winter, M.; Nierstrasz, O.; Ducasse, S.; Wuyts, R.; Arévalo, G.; Schönhage, B.; Müller, P.; Stich, C.: Components for embedded software: the pecos approach. In: Proceedings of the 2002 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, CASES ’02, pp. 19–26. ACM, New York, NY, USA (2002)

  31. Alonso, G.; Casati, F.; Kuno, H.; Machiraju, V.: Web Services: Concepts, Architectures and Applications. Springer, Berlin (2004)

    MATH  Google Scholar 

  32. Christensen, E.; Curbera, F.; Meredith, G.; Weerawarana, S.: Web services description language (WSDL) (2001). http://www.w3.org/TR/wsdl. Accessed 3 Mar 2015

  33. Fiadeiro, J.; Lopes, A.; Bocchi, L.: A formal approach to service component architecture. In: Services and Formal Methods, Third International Workshop, WS-FM 2006, pp. 193–213. Springer (2006)

  34. Papadopoulos, G.; Arbab, F.: Coordination models and languages. Technical report, CWI (Centre for Mathematics and Computer Science), Amsterdam, The Netherlands (1998)

  35. Gelernter, D.; Carriero, N.: Coordination languages and their significance. Commun. ACM 35(2), 96 (1992)

    Article  Google Scholar 

  36. Lau, K.K.; Ling, L.; Velasco Elizondo, P.: Towards composing software components in both design and deployment phases. In: Schmidt, H. et al. (ed.) Proceedings of Tenth International Symposium on Component-based Software Engineering, LNCS 4608, pp. 274–282. Springer (2007)

  37. Lau, K.K.; Ling, L.; Velasco Elizondo, P.; Ukis, V.: Composite connectors for composing software components. In: Lumpe, M.; Vanderperren, W. (eds.) Proceedings Sixth International Symposium on Software Composition, LNCS 4829, pp. 266–280. Springer-Verlag (2007)

  38. Lau, K.K.; Ntalamagkas, I.; Tran, C.; Rana, T.: (Behavioural) Design patterns as composition operators. In: Grunske, L.; Reussner, R.; Plasil, F. (eds.) Proceedings Thirteenth International Symposium on Component-Based Software Engineering, LNCS 6092, pp. 232–251. Springer-Verlag (2010)

  39. Velasco Elizondo, P.; Lau, K.K.: A catalogue of component connectors to support development with reuse. J Syst Softw 83, 1165–1178 (2010)

    Article  Google Scholar 

  40. Elizondo, P.; Ndjatchi, M.: Deriving functional interface specifications for composite components. In: Proceedings of the Tenth international conference on Software composition, SC’11, pp. 1–17. Springer-Verlag, Berlin, Heidelberg (2011)

  41. Becker, S.; Koziolek, H.; Reussner, R.: The palladio component model for model-driven performance prediction. J. Syst. Softw. 82(1), 3–22 (2009)

    Article  Google Scholar 

  42. Becker, S.; Brenner, C.; Dziwok, S.; Gewering, T.; Heinzemann, C.; Pohlmann, U.; Priesterjahn, C.; Schäfer, W.; Suck, J.; Sudmann, O.; Tichy, M.: The MechatronicUML Method – Process, Syntax; and Semantics. Technical report, Software Engineering Group, Heinz Nixdorf Institute, University of Paderborn (2012)

  43. Wirth, N.: What can we do about the unnecessary diversity of notation for syntactic definitions? Commun. ACM 20(11), 822–823 (1977)

    Article  Google Scholar 

  44. Ntalamagkas, I.: A software component model with concurrency. Ph.D. thesis, School of Computer Science, The University of Manchester (2009)

Download references

Acknowledgements

Working with Kung-Kiu Lau and his team at the University of Manchester made me gain in-depth knowledge of X-MAN component model. I also would like to admit the help of Suzanne Embury, John Gurd, Richard Banach and Steffen Becker for their review and feedback on my work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tauseef Rana.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Rana, T. EX-MAN Component Model for Component-Based Software Construction. Arab J Sci Eng 45, 2915–2928 (2020). https://doi.org/10.1007/s13369-019-04213-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13369-019-04213-x

Keywords

Navigation