Hostname: page-component-cd9895bd7-q99xh Total loading time: 0 Render date: 2024-12-26T09:24:29.041Z Has data issue: false hasContentIssue false

An algebraic semantics of event-based architectures

Published online by Cambridge University Press:  01 October 2007

JOSÉ LUIZ FIADEIRO
Affiliation:
Department of Computer Science, University of Leicester, University Road, Leicester LE1 7RH, U.K. Email: jose@mcs.le.ac.uk
ANTÓNIA LOPES
Affiliation:
Department of Informatics, Faculty of Sciences, University of Lisbon, Campo Grande, 1749-016 Lisboa, Portugal Email: mal@di.fc.ul.pt

Abstract

We propose a mathematical semantics for event-based architectures that serves two main purposes: to characterise the modularisation properties that result from the algebraic structures induced on systems by this discipline of coordination; and to further validate and extend the categorical approach to architectural modelling that we have been building around the language CommUnity with the ‘implicit invocation’, also known as ‘publish/subscribe’ architectural style. We then use this formalisation to bring together synchronous and asynchronous interactions within the same modelling approach. We see this effort as a first step towards a form of engineering of architectural styles. Our approach adopts transition systems extended with events as a mathematical model of implicit invocation, and a family of logics that support abstract levels of modelling.

Type
Paper
Copyright
Copyright © Cambridge University Press 2007

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Alonso, G., Casati, F., Kuno, H. and Machiraju, V. (2004) Web Services, Springer-Verlag.Google Scholar
Bacon, J., Moody, K., Bates, J., Hayton, R., Ma, C., McNeil, A., Seidel, O. and Spiteri, M. (2000) Generic support for distributed applications. IEEE Computer 33 (3)6876.Google Scholar
Bradbury, J. and Dingel, J. (2003) Evaluating and improving the automatic analysis of implicit invocation systems. In: Proceedings of the 11th ACM SIGSOFT Symposium on Foundations of Software Engineering 2003 held jointly with 9th European Software Engineering Conference, ACM Press 7887.Google Scholar
Carzaniga, A., Rosenblum, D. and Wolf, A. (2001) Design and evaluation of a wide-area event notification service. ACM Transactions on Computer Systems 19 283331.CrossRefGoogle Scholar
Dingel, J., Garlan, D., Jha, S. and Notkin, D. (1998) Towards a formal treatment of implicit invocation. Formal Aspects of Computing 10 193213.Google Scholar
Ehrig, H. and Mahr, B. (1985) Fundamentals of Algebraic Specification 1: Equations and Initial Semantics, EATCS Monographs on Theoretical Computer Science 6.Google Scholar
Eugster, P., Felber, P., Guerraoui, R. and Kermarrec, A.-M. (2003) The many faces of publish/subscribe. ACM Computing Surveys 35 (2)114131.CrossRefGoogle Scholar
Fiadeiro, J. L. (2004) Categories for Software Engineering, Springer-Verlag.Google Scholar
Fiadeiro, J. L. and Lopes, A. (1997) Semantics of architectural connectors. In: Bidoit, M. and Dauchet, M. (eds.) TAPSOFT: Theory and Practice of Software Development. Springer-Verlag Lecture Notes in Computer Science 1214 505519.Google Scholar
Fiadeiro, J. L. and Lopes, A. (2006) A formal approach to event-based architectures. In: Baresi, L. and Heckel, R. (eds.) Fundamental Aspects of Software Engineering. Springer-Verlag Lecture Notes in Computer Science 3922 1832.Google Scholar
Fiadeiro, J. L., Lopes, A. and Bocchi, L. (2006) A Formal Approach to Service Component Architecture. In: Bravetti, M., Nez, M. and Zavattaro, G. (eds.) Web Services and Formal Methods, Third International Workshop. Springer-Verlag Lecture Notes in Computer Science 4184 193213.Google Scholar
Fiadeiro, J. L., Lopes, A. and Bocchi, L. (2007) Modules for service-component architectures. In: Fiadeiro, J. and Schobbens, P-Y. (eds.) Current Trends in Algebraic Development Techniques. Springer-Verlag Lecture Notes in Computer Science 4409 3755.Google Scholar
Fiadeiro, J. L., Lopes, A. and Wermelinger, M. (2003) A mathematical semantics for architectural connectors. In: Backhouse, R. and Gibbons, J. (eds.) Generic Programming. Springer-Verlag Lecture Notes in Computer Science 2793 190234.Google Scholar
Garlan, D., Khersonsky, S. and Kim, J. (2003) Model checking publish-subscribe systems. In: Ball, T. and Rajamani, S. (eds.) Model Checking Software. Springer-Verlag Lecture Notes in Computer Science 2648 166180.Google Scholar
Garlan, D. and Notkin, D. (1991) Formalizing design spaces: Implicit invocation mechanisms. In: Prehn, S. and Toetenel, W. J. (eds.) VDM'91: Formal Software Development Methods. Springer-Verlag Lecture Notes in Computer Science 551 3144.Google Scholar
Goguen, J. (1973) Categorical foundations for general systems theory. In: Pichler, F. and Trappl, R. (eds.) Advances in Cybernetics and Systems Research, Transcripta Books 121130.Google Scholar
Katz, S. (1993) A superimposition control construct for distributed systems. ACM TOPLAS 15 (2)337–35.CrossRefGoogle Scholar
Lopes, A. and Fiadeiro, J. L. (2004) Superposition: composition versus refinement of non-deterministic action-based systems. Formal Aspects of Computing 16 (1)518.CrossRefGoogle Scholar
Lopes, A. and Fiadeiro, J. L. (2005) Algebraic semantics of design abstractions for context-awareness. In: Fiadeiro, J. L., Mosses, P. and Orejas, F. (eds.) Algebraic Development Techniques. Springer-Verlag Lecture Notes in Computer Science 3423 7993.Google Scholar
Lopes, A. and Fiadeiro, J. L. (2006) Adding mobility to software architectures. Science of Computer Programming 61 (2)114135.CrossRefGoogle Scholar
Meier, R. and Cahill, V. (2002) Taxonomy of distributed event-based programming systems. In: Proceedings of the International Workshop on Distributed Event-Based Systems, IEEE Computer Society 585–588.Google Scholar
Misra, J. and Cook, W. (2006) Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modelling 6 (1)83110.CrossRefGoogle Scholar
Sullivan, K. and Notkin, D. (1992) Reconciling environment integration and software evolution. ACM TOSEM 1 (3)229268.Google Scholar