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.
Similar content being viewed by others
References
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)
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)
Heineman, G.; Councill, W. (eds.): Component-Based Software Engineering. Addison-Wesley, Reading (2001)
Szyperski, C.; Gruntz, D.; Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)
Nierstrasz, O.; Meijler, T.: Research directions in software composition. ACM Comput. Surv. 27(2), 262–264 (1995)
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)
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)
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).
Lau, K.K.; Wang, Z.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007)
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)
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)
Lau, K.K.; Cola, S.: An Introduction to Component-Based Software Development. World Scientific, Singapore (2017)
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)
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)
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)
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)
Rausch, A.; Reussner, R.; Mirandola, R.; Plasil, F.: The Common Component Modeling Example: Comparing Software Component Models, 1st edn. Springer, Berlin (2008)
OMG: OMG Unified Modeling Language Specification (2007). http://www.omg.org/cgi-bin/doc?formal/07-11-01.pdf. Access 4 Mar 2015
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)
DeMichiel, L.; Yalçinalp, L.; Krishnan, S.: Enterprise JavaBeans Specification Version 2.0 (2001)
Microsystems, S.: Javabeans specification (1997). http://www.oracle.com/technetwork/java/javase/glasgow-139720.html. Accessed 4 Mar 2015
Don, B.: Essential COM, 1st edn. Addison-Wesley Longman Publishing Co., Inc, Boston, MA (1997)
Wigley, A.; Sutton, M.; Wheelwright, S.; Burbidge, R.; Mcloud, R.: Microsoft.Net Compact Framework: Core Reference. Microsoft Press, Redmond (2002)
Group, O.M.: Corba component model 4.0 specification. Specification Version 4.0, Object Management Group (2006)
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)
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)
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)
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)
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)
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)
Alonso, G.; Casati, F.; Kuno, H.; Machiraju, V.: Web Services: Concepts, Architectures and Applications. Springer, Berlin (2004)
Christensen, E.; Curbera, F.; Meredith, G.; Weerawarana, S.: Web services description language (WSDL) (2001). http://www.w3.org/TR/wsdl. Accessed 3 Mar 2015
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)
Papadopoulos, G.; Arbab, F.: Coordination models and languages. Technical report, CWI (Centre for Mathematics and Computer Science), Amsterdam, The Netherlands (1998)
Gelernter, D.; Carriero, N.: Coordination languages and their significance. Commun. ACM 35(2), 96 (1992)
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)
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)
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)
Velasco Elizondo, P.; Lau, K.K.: A catalogue of component connectors to support development with reuse. J Syst Softw 83, 1165–1178 (2010)
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)
Becker, S.; Koziolek, H.; Reussner, R.: The palladio component model for model-driven performance prediction. J. Syst. Softw. 82(1), 3–22 (2009)
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)
Wirth, N.: What can we do about the unnecessary diversity of notation for syntactic definitions? Commun. ACM 20(11), 822–823 (1977)
Ntalamagkas, I.: A software component model with concurrency. Ph.D. thesis, School of Computer Science, The University of Manchester (2009)
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-019-04213-x