Abstract
To be able to build systems by composing a variety of components dynamically, adding and removing as required, is desirable. Unfortunately systems with evolving architectures are prone to behaving in a surprising manner. In this paper we show how it is possible to generate a snapshot of the structure of a running application, and how this can be combined with behavioural specifications for components to check compatability and adherence to system properties. By modelling both the structure and the behaviour, before altering an existing system, we show how dynamic compositional systems may be put together in a predictable manner.
Chapter PDF
Similar content being viewed by others
Keywords
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
Barnett, M., Grieskamp, W., Kerer, C., Schulte, W., Szyperski, C., Tillmann, N., Watson, A.: Serious specification for composing components. In: 6th ICSE Workshop on Component-Based Software Engineering: Automated Reasoning and Prediction (2003)
Barnett, M., Schulte, W.: The ABCs of specification: AsmL, behavior, and components. Informatica 25(4), 517–526 (2001)
Bernardo, M., Ciancarini, P., Donatiello, L.: Architecting families of software systems with process algebras. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(4), 386–426 (2002)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Pub. Co., Reading (1997)
Chatley, R., Eisenbach, S., Magee, J.: Painless Plugins. Technical report, Imperial College London (2003), http://www.doc.ic.ac.uk/~rbc/writings/pp.pdf
Garlan, D., Allen, R., Ockerbloom, J.: Exploiting style in architectural design environments. In: Proceedings of the ACM SIGSOFT 1994 Symposium on the Foundations of Software Engineering, pp. 175–188 (1994)
Garlan, D., Kindred, D., Wing, J.: Interoperability: Sample Problems and Solutions. Technical report, Carnegie Mellon University, Pittsburgh (1995)
Cobleigh, J., Giannakopoulou, D., Pasareanu, C.: Learning Assumptions for Compostional Verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003)
Magee, J., Kramer, J.: Concurrency – State Models and Java Programs. John Wiley & Sons, Chichester (1999)
Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying Distributed Software Architectures. In: Proceedings of the 5th European Conference on Software Engineering, Sitges, Spain, pp. 137–154. Springer, Heidelberg (1995)
Medvidovic, N., Rosenblum, D., Taylor, R.: A language and environment for architecture-based software development and evolution. In: ICSE 1999 (1999)
Necula, G.C., Lee, P.: Proof-carrying code. In: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Langauges (POPL 1997), Paris, January 1997, pp. 106–119 (1997)
Object Technology International, Inc. Eclipse Platform Technical Overview. Technical report, IBM (July 2001), http://www.eclipse.org/whitepapers/eclipse-overview.pdf
Tkachuk, O., Dwyer, M.B., Pasareanu, C.: Automated environment generation for software model checking. In: Automated Software Engineering (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chatley, R., Eisenbach, S., Kramer, J., Magee, J., Uchitel, S. (2004). Predictable Dynamic Plugin Systems. In: Wermelinger, M., Margaria-Steffen, T. (eds) Fundamental Approaches to Software Engineering. FASE 2004. Lecture Notes in Computer Science, vol 2984. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24721-0_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-24721-0_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21305-5
Online ISBN: 978-3-540-24721-0
eBook Packages: Springer Book Archive