Abstract
Most of the time a large software system implies a complex architecture. However, at some point of the system’s execution, its components are not necessarily all running. Indeed, some components may not be concerned by a given use case, and therefore they do not consume/use or register the declared services. Thus, these architectural elements (components and their services) represent a “noise” in the architecture model of the system. Their elimination from the architecture model may greatly reduce its complexity, and consequently helps developers in their maintenance tasks. In our work, we argue that a large service-oriented system has, not only one, but several architectures, which are specific to its runtime use cases. Indeed, each architecture reflects the services, and thereby the components, which are really useful for a given use case. In this paper, we present an approach for recovering such use case specific architectures of service-oriented systems. Architectures are recovered both through a source code analysis and by querying the runtime environment and the service registry. The first built architecture (the core architecture) is composed of the components that are present in all the use cases. Then, depending on a particular use case, this core architecture will be enriched with only the needed components.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Downloaded from repository: https://lc.cx/P2Qw.
- 2.
SCA is a set of specifications which describe SOA systems: https://lc.cx/AEP3.
- 3.
They have been downloaded from the following repository: https://lc.cx/m77k.
References
Abi-Antoun, M., Aldrich, J.: Static extraction and conformance analysis of hierarchical runtime architectural structure using annotations. In: Proceedings of the ACM OOPSLA (2009)
Alahmari, S., Zaluska, E., De Roure, D.: A service identification framework for legacy system migration into SOA. In: Proceedings of the IEEE SCC 2010. IEEE (2010)
Allier, S., Sadou, S., Sahraoui, H.A., Fleurquin, R.: From object-oriented applications to component-oriented applications via component- oriented architecture. In: Proceedings of WICSA, Colorado, USA. IEEE (2011)
Allier, S., Sahraoui, H.A., Sadou, S., Vaucher, S.: Restructuring object-oriented applications into component-oriented applications by using consistency with execution traces. In: Grunske, L., Reussner, R., Plasil, F. (eds.) CBSE 2010. LNCS, vol. 6092, pp. 216–231. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13238-4_13
Chardigny, S., Seriai, A., Oussalah, M., Tamzalit, D.: Extraction of component-based architecture from object-oriented systems. In: Proceedings of WICSA. IEEE (2008)
Colangelo, D., Compare, D., Inverardi, P., Pelliccione, P.: Reducing software architecture models complexity: a slicing and abstraction approach. In: Najm, E., Pradat-Peyre, J.-F., Donzeau-Gouge, V.V. (eds.) FORTE 2006. LNCS, vol. 4229, pp. 243–258. Springer, Heidelberg (2006). https://doi.org/10.1007/11888116_19
Demange, A., Moha, N., Tremblay, G.: Detection of SOA patterns. In: Basu, S., Pautasso, C., Zhang, L., Fu, X. (eds.) ICSOC 2013. LNCS, vol. 8274, pp. 114–130. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45005-1_9
Ducasse, S., Pollet, D.: Software architecture reconstruction: a process-oriented taxonomy. IEEE TSE 35(4), 573–591 (2009)
Garcia, J., Ivkovic, I., Medvidovic, N.: A comparative analysis of software architecture recovery techniques. In: Proceedings of IEEE/ACM ASE (2013)
Jiao, F., Hu, C., Zhao, C.: A software complexity metric for SCA specification. In: Proceedings of the CSSE. IEEE (2008)
Kerdoudi, M.L., Tibermacine, C., Sadou, S.: Opening web applications for third-party development: a service-oriented solution. J. SOCA 10(4), 437–463 (2016)
Liang, Q.A., Chung, J.Y., Miller, S., Ouyang, Y.: Service pattern discovery of web service mining in web service registry-repository. In: Proceedings of ICEBE 2006 (2006)
Lutellier, T., Chollak, D., Garcia, J., Tan, L., Rayside, D., Medvidovic, N., Kroeger, R.: Measuring the impact of code dependencies on software architecture recovery techniques. IEEE TSE 44(2), 159–181 (2018)
MacCormack, A., Rusnak, J., Baldwin, C.Y.: Exploring the structure of complex software designs: an empirical study of open source and proprietary code. Manag. Sci. 52(7), 1015–1030 (2006)
Maqbool, O., Babri, H.: Hierarchical clustering for software architecture recovery. IEEE TSE 33(11), 759–780 (2007)
McAffer, J., VanderLei, P., Archer, S.: OSGi and Equinox: Creating Highly Modular Java Systems. Addison-Wesley Professional, Boston (2010)
O’Brien, L., Smith, D., Lewis, G.: Supporting migration to services using software architecture reconstruction. In: Proceedings of STEP. IEEE (2005)
Razavian, M., Lago, P.: A systematic literature review on SOA migration. J. Softw.: Evol. Process. 27(5), 337–372 (2015)
Sangal, N., Jordan, E., Sinha, V., Jackson, D.: Using dependency models to manage complex software architecture. In: Proceedings of the ACM OOPSLA. ACM (2005)
Seriai, A., Sadou, S., Sahraoui, H., Hamza, S.: Deriving component interfaces after a restructuring of a legacy system. In: Proceedings of WICSA. IEEE (2014)
Seriai, A., Sadou, S., Sahraoui, H.A.: Enactment of components extracted from an object-oriented application. In: Avgeriou, P., Zdun, U. (eds.) ECSA 2014. LNCS, vol. 8627, pp. 234–249. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09970-5_22
Upadhyaya, B., Tang, R., Zou, Y.: An approach for mining service composition patterns from execution logs. J. Softw.: Evol. Process. 25(8), 841–870 (2013)
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
Kerdoudi, M.L., Tibermacine, C., Sadou, S. (2018). Spotlighting Use Case Specific Architectures. In: Cuesta, C., Garlan, D., Pérez, J. (eds) Software Architecture. ECSA 2018. Lecture Notes in Computer Science(), vol 11048. Springer, Cham. https://doi.org/10.1007/978-3-030-00761-4_16
Download citation
DOI: https://doi.org/10.1007/978-3-030-00761-4_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-00760-7
Online ISBN: 978-3-030-00761-4
eBook Packages: Computer ScienceComputer Science (R0)