Abstract
Many human activities today depend critically on systems where substantial functionality has been realized using complex software. Therefore, appropriate means to achieve a sufficient degree for dependability are required, which use the available information about the software components and the system architecture. For the special case of service-based architectures, we identify in this paper a set of architectural principles which can be used to improve dependability. We then describe how the identified architectural principles have been used in a realized service-based architecture which extends Jini. The dependable operation of the infrastructure services of the architecture further enables to systematically control and configure some dependability attributes of application services. We present a qualitative and quantitative evaluation of the dependability for a configuration of multiple identical services which are executed with the architecture and show how the different parameters effect the dependability. Additionally, a scheme for the dynamic control of the required dependability of the application services in the case of changing failure characteristics of the environment is outlined. Finally, we present a first evaluation of the developed architecture and its dynamic control of dependability.
This work was developed in the course of the Special Research Initiative 614 – Self-optimizing Concepts and Structures in Mechanical Engineering – University of Paderborn, and was published on its behalf and funded by the Deutsche Forschungsgemeinschaft.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Laprie, J.C. (ed.): Dependability: basic concepts and terminology in English, French, German, Italian and Japanese [IFIP WG 10.4, Dependable Computing and Fault Tolerance]. Dependable computing and fault tolerant systems, vol. 5. Springer, Wien (1992)
Majzik, I., Pataricza, A., Bondavalli, A.: Stochastic Dependability Analysis of System Architecture Based on UML Models. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677, pp. 219–244. Springer, Heidelberg (2003)
Gokhale, S.S., Horgan, J.R., Trivedi, K.S.: Specification-Level Integration of Simulation and Dependability Analysis. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677, pp. 245–266. Springer, Heidelberg (2003)
DeMichiel, L.G., Yalcinalp, L.Ü., Krishnan, S.: Enterprise JavaBeansTM Specification. Sun Microsystems, Version 2.0 (2001)
Szyperski, C.: Component Software, Beyond Object-Oriented Programming. Addison-Wesley, Reading (1998)
Arnold, K., Osullivan, B., Scheifler, R.W., Waldo, J., Wollrath, A., O’Sullivan, B.: The Jini(TM) Specification. The Jini(TM) Technology Series. Addison-Wesley, Reading (1999)
Sun Microsystems: Jini Specification, Revision 1.1 (2000)
Waldo, J., Wyant, G., Wollrath, A., Kendal, S.: A Note on Distributed Computing. techreport, Sun Microsystems Laboratories, TR-94-29 (1994)
Waldo, J.: The Jini architecture for network-centric computing. Communications of the ACM 42, 76–82 (1999)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)
Sun Microsystems: JavaTM Remote Method Invocation Specification, Revision 1.8, JDK 1.4 (2002)
Koster, R., Kramp, T.: Structuring QoS-Supporting Services with Smart Proxies. In: Proceedings of Middleware 2000 (IFIP/ACM International Conference on Distributed Systems Platforms and Open Distributed Processing), Springer, Heidelberg (2000)
Ledru, P.: Smart proxies for jini services. ACM SIGPLAN Notices 37, 57–61 (2002)
Tanenbaum, A., van Steen, M.: Distributed Systems, Principles and Paradigms. Prentice-Hall, Englewood Cliffs (2002)
Isermann, R., Lachmann, K.H., Matko, D.: Adaptive control systems. Prentice Hall International series in systems and control engineering. Prentice Hall, New York (1992)
Tichy, M.: Durchgängige Unterstützung für Entwurf, Implementierung und Betrieb von Komponenten in offenen Softwarearchitekturen mittels UML. Master’s thesis, University of Paderborn, Department of Mathematics and Computer Science, Paderborn, Germany (2002)
Gifford, D.K.: Weighted Voting for Replicated Data. In: Proceedings of the seventh symposium on Operating systems principles. ACM Symposium on Operating Systems Principles, vol. 7, pp. 150–162. ACM press, New York (1979)
Freeman, E., Hupfer, S., Arnold, K.: JavaSpaces Principles, Patterns, and Practice. Addison-Wesley, Reading (1999)
Carriero, N., Gelernter, D.: How to Write Parallel Programs. MIT Press, Cambridge (1990)
Gray, J.N.: Notes on Database Operating Systems. In: Operating Systems an Advanced Course. LNCS, Springer, Heidelberg (1978)
Birolini, A.: Reliability engineering: theory and practice, 3rd edn. Springer, Berlin (1999)
Marsan, M.A., Balbo, G., Conte, G., Donatelli, S., Franceschinis, G.: Modelling with Generalized Stochastic Petri Nets. John Wiley and Sons, Inc., Chichester (1995)
Malhotra, M., Trivedi, K.S.: Dependability modeling using Petri-nets. IEEE Transactions on Reliability 44, 428–440 (1995)
Advanced Digital Logic Inc.: MSMP3SEN/SEV Datasheet (2001), http://www.adlogic-pc104.com/products/cpu/pc104/datasheets/msmp3sen-sev.pdf
Kokar, M.M., Baclawski, K., Eracar, Y.A.: Control Theory-Based Foundations of Self- Controlling Software. IEEE INTELLIGENT SYSTEMS 14, 37–45 (1999)
Standards Coordinating Committee of the IEEE Computer Society, The Institute of Electrical and Electronics Engineers, Inc. 345 East 47th Street, New York, NY 10017-2394, USA: IEEE standard glossary of software engineering terminology, IEEE Std 610.12-1990 (1990)
Sun Microsystems: RIO - Architecture Overview (2001) 2001/03/15
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern Oriented Software Architecture. John Wiley and Sons, Inc., Chichester (1996)
Knight, J.C., Heimbigner, D., Wolf, A., Carzaniga, A., Hill, J., Devanbu, P., Gertz, M.: The Willow Architecture: Comprehensive Survivability for Large-Scale Distributed Applications. In: The International Conference on Dependable Systems and Networks (DSN 2002), Washington DC (2002)
Bologna, S., Balducelli, C., Dipoppa, G., Vicoli, G.: Dependability and Survivability of Large Complex Critical Infrastructures. In: Anderson, S., Felici, M., Littlewood, B. (eds.) SAFECOMP 2003. LNCS, vol. 2788, pp. 342–353. Springer, Heidelberg (2003)
Kon, F., Campbell, R.H., Mickunas, M.D., Nahrstedt, K., Ballesteros, F.J.: 2K: A Distributed Operating System for Dynamic Heterogeneous Environments. In: Proc. of the Ninth IEEE International Symposium on High Performance Distributed Computing (HPDC 2000), Pittsburgh, USA (2000)
Object Management Group: The Common Object Request Broker: Architecture and Specification, Version 3.0 formal/02-06-33 (2002)
Kon, F., Yamane, T., Hess, C., Campbell, R., Mickunas, M.D.: Dynamic Resource Management and Automatic Configuration of Distributed Component Systems. In: Proceed. of the 6th USENIX Conference on Object-Oriented Technologies and Systems (COOTS 2001), San Antonio, USA (2001)
Gustavsson, S., Andler, S.F.: Self-stabilization and eventual consistency in replicated realtime databases. In: Proceedings of the first workshop on Self-healing systems, pp. 105–107. ACM Press, New York (2002)
Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., Wolf, A.L.: An Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems 14, 54–62 (2002)
Tichy, M., Giese, H.: Seamless UML Support for Service-based Software Architectures. In: Guelfi, N., Astesiano, E., Reggio, G. (eds.) FIDJI 2003. LNCS, vol. 2952, pp. 128–138. Springer, Heidelberg (2004)
Reisig, W.: Petri nets - An introduction. EATCS Monographs on Theoretical Computer Science. Springer, Heidelberg (1985)
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
Tichy, M., Giese, H. (2004). A Self-optimizing Run-Time Architecture for Configurable Dependability of Services. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems II. Lecture Notes in Computer Science, vol 3069. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25939-8_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-25939-8_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23168-4
Online ISBN: 978-3-540-25939-8
eBook Packages: Springer Book Archive