Abstract
The correctness of a component-based specification is not guaranteed by the correctness of its components alone; on the contrary, integration analysis is needed to observe their conjoint behavior. Existing approaches often leave the results of the analysis at the level of the integrated system, without tracing them onto the corresponding components. This effectively results in loss of architecture, as it is no longer possible to reason over those components and evolve their specification while keeping the results of integration analysis.
This paper presents a formal approach to automatically translate changes on the integrated system into revisions of the components and the architecture initially defined by the developers. Several architectural alternatives are provided that, besides allowing developers to reason about the system from different points of view, promote its correct modularization in two overlapping perspectives: the encapsulation of crosscutting concerns and the elaboration of the architecture desired for the final implementation.
Work partially funded by the Xunta de Galicia Research Project PGIDIT04PXIB32201PR.
Chapter PDF
Similar content being viewed by others
Keywords
- Composition Operator
- Integration Analysis
- Requirement Engineer
- Label Transition System
- Original Component
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Altisen, K., Maraninchi, F., Stauch, D.: Exploring aspects in the context of reactive systems. In: Proceedings of Workshop on Foundations of Aspect-Oriented Languages (FOAL), in conjunction with AOSD, Lancaster, UK, pp. 45–51 (2004)
Bolognesi, T., van de Lagemaat, J., Vissers, C. (eds.): Lotosphere: Software development with LOTOS. Kluwer Academic Publishers, Dordrecht (1995)
Bruns, G., Godefroid, P.: Model checking partial state spaces with 3-valued temporal logics. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 274–287. Springer, Heidelberg (1999)
d’Avila Garcez, A.S., Russo, A., Nuseibeh, B., Kramer, J.: An analysis-revision cycle to evolve requirements specifications. In: Proceedings of the 16th IEEE International Conference on Automated Software Engineering (ASE), San Diego, USA, pp. 354–358 (2001)
García-Duque, J., Pazos-Arias, J.J., Barragáns-Martínez, B.: An analysis-revision cycle to evolve requirements specifications by using the SCTL-MUS methodology. In: Proceedings of the 10th IEEE International Conference on Requirements Engineering (RE), Essen, Germany, pp. 282–288 (2002)
Godefroid, P., Huth, M., Jagadeesan, R.: Abstraction-based model checking using modal transition systems. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 426–440. Springer, Heidelberg (2001)
Gurfinkel, A., Chechik, M.: Generating counterexamples for multi-valued modelchecking. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 503–521. Springer, Heidelberg (2003)
Henzinger, T.A., Qadeer, S., Rajamani, S.K.: You assume, we guarantee: Methodology and case studies. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 440–451. Springer, Heidelberg (1998)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Liu, S.: Capturing complete and accurate requirements by refinement. In: Proceedings of the 8th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS), Maryland, USA, pp. 57–67 (2002)
López-Nores, M., Pazos-Arias, J.J.: A Formal Approach to Component-based Specification with Improved Requirements Traceability. In: Proceedings of RE’04 Doctoral Symposium, Kyoto, Japan (2004)
Moffett, J.: A model for a causal logic for requirements engineering. Journal of Requirements Engineering 1, 27–46 (1996)
Nuseibeh, B.: Crosscutting requirements. In: Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD), pp. 3–4, Lancaster, UK (2004)
Pazos-Arias, J.J., García-Duque, J.: SCTL-MUS: A formal methodology for software development of distributed systems. A case study. Formal Aspects of Computing 13, 50–91 (2001)
Poppleton, M., Banach, R.: Retrenchment: Extending the reach of refinement. In: Proceedings of the 14th IEEE International Conference on Automated Software Engineering (ASE), Florida, USA, pp. 158–165 (1999)
Rashid, A., Sawyer, P., Moreira, A., Araújo, J.: Early aspects: A model for aspect-oriented requirements engineering. In: Proceedings of the 10th IEEE International Conference on Requirements Engineering (RE), Essen, Germany, pp. 199–202 (2002)
Schneider, S.: The B method: An introduction. Palgrave (2001)
Tarr, P., Ossher, H., Harrison, W., Sutton, S.: N degrees of separation: Multi-dimensional separation of concerns. In: Proceedings of the 21st International Conference on Software Engineering (ICSE), Los Angeles, USA, pp. 107–119 (1999)
van Lamsweerde, A.: The future of software engineering, chapter Formal specification: A roadmap. ACM Press, New York (2000)
van Lamsweerde, A.: Requirements engineering in the year 00: A research perspective. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE), Limerick, Ireland, pp. 5–19 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 IFIP International Federation for Information Processing
About this paper
Cite this paper
López-Nores, M. et al. (2005). Tracing Integration Analysis in Component-Based Formal Specifications. In: Steffen, M., Zavattaro, G. (eds) Formal Methods for Open Object-Based Distributed Systems. FMOODS 2005. Lecture Notes in Computer Science, vol 3535. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11494881_10
Download citation
DOI: https://doi.org/10.1007/11494881_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26181-0
Online ISBN: 978-3-540-31556-8
eBook Packages: Computer ScienceComputer Science (R0)