Abstract
In today’s rapidly evolving marketplace, the ability to quickly build and deploy new systems is an increasingly critical factor in a company’s success. For certain domains, such as telecommunications, it is taken for granted that systems will be highly available, with expectations of “5 9s” or even higher availability, translating to five minutes or less downtime per year. However, building highly available systems is generally very challenging, and becoming even more challenging as the systems increase in complexity. High availability (HA) middleware solutions partially address this challenge by providing common HA services that system developers can use. However, developers still need to spend significant effort integrating their systems with the HA middleware. In this paper, we present the Aurora Management Workbench (AMW) as a solution to the integration problem. AMW is an HA middleware and tools for building highly available distributed software systems. It is unique in its approach for developing highly available systems: developers focus only on describing key architectural abstractions of their system as well as system high availability needs in the form of a model. Tools then use the model to generate much of the code needed to integrate the system with the AMW HA middleware, which also uses the model to coordinate and control HA services at run-time. This paper describes our approach and our initial successes using it to develop commercial telecom systems.
This work was done while the author was at Bell Laboratories.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. SEI Series in Software Engineering (2003)
Baxter, I., Pidgeon, C., Mehlich, M.: DMS: Program Transformations for Practical Scalable Software Evolution. In: Proceedings of the 2004 International Conference on Software Engineering, Scotland, UK (May 2004)
Bianchini, R., Buskens, R.: Implementation of On-Line Distributed System-Level Diagnosis Theory. IEEE Transactions on Computers 41(5) (1992)
Birman, K.: ISIS: A System for Fault Tolerance in Distributed Systems. Technical Report TR 86-744, Department of Computer Science, Cornell University, Ithaca, NY (April 1986)
Borland C++ Builder, http://www.borland.com/us/products/cbuilder/index.html
Buskens, R., Sabnani, K.: Towards Rapid Development of Configurable, Reliable, and Scalable Wireless Applications, PIMRC (2000)
Childs, A., Greenwald, J., et al.: CALM and Cadena: Metamodeling for Component-Based Product Line Development. IEEE Computer 39(2) (2006)
Chung, P., Huang, Y., Yajnik, S., et al.: DOORS – Providing Fault Tolerance of CORBA Objects. In: Middleware 1998. IFIP International Conference On Distributed Systems Platforms and Open Distributed Processing, The Lake District, England (1988)
Clovis Software, http://www.clovis.com
Cukier, M., Ren, J., Sabnis, C., et al.: AQuA: An Adaptive Architecture that Provides Dependable Distributed Objects. In: Proceeding of the IEEE 17th Symposium on Reliable Distributed Systems (SRDS-17), West Lafayette, IN (1998)
Eclipse Integrated Development Environment (IDE), http://www.eclipse.org
Enea, http://www.enea.com
Ericsson, Eternal Systems, et al.: FT-CORBA. Joint Revised Submission. OMG TC Document orbos/99-12-19, OMG, Framingham, MA (1999)
GoAhead Software, http://www.goahead.com
Hatcliff, J., Deng, W., et al.: Cadena: An Integrated Development, Analysis, and Verification Environment for Component-Based Systems. In: Proceedings of the 2003 International Conference on Software Engineering, Portland, Oregon (2003)
IBM Rational Software Architect, www.ibm.com/software/awdtools/architect/swarchitect/index.html
Iyer, R.K., Kalbarczyk, Z., Whisnant, K., Bagchi, S.: A Flexible Software Architecture for High Availability Computing. In: Proceedings of the High-Assurance Systems Engineering Symposium, Washington DC (1998)
Kiczales, G., Lamping, J., et al.: Aspect-Oriented Programming. In: Proceedings of the 1997 European Conference on Object-Oriented Programming, Jyvaskyla, Finland (1997)
Ledeczi, A., Maroti, M., et al.: The Generic Modeling Environment. Workshop on Intelligent Signal Processing, Budapest, Hungary (May 2001)
Majzik, I., Huszcrl, G.: Towards Dependability Modeling of FT-CORBA Architectures. In: Proceedings of the 4th European Dependable Computing Conference (2002)
Martin, J.: Rapid Application Development, Macmillan Publishing Co. Inc. (1991)
Microsoft Visual Studio, msdn.microsoft.com/vstudio
Modarressi, A.R., Skoog, R.A.: Signaling System No. 7: A Tutorial. IEEE Communications Magazine 28(7) (1990)
Moser, L.E., Melliar-Smith, P.M., et al.: The Eternal System: An Architecture for Enterprise. In: Proceeding of the 3rd International Enterprise Distributed Object Computing, Mannheim, Germany (1999)
Ren, Y., Buskens, R., Gonzalez, O.: Dependable Initialization of Large-Scale Distributed Software. In: Proceedings of the 2004 International Conference on Dependable Systems and Networks (2004)
van Renesse, R., Maffeis, S., Birman, K.: Horus: A Flexible Group Communication System. Communications of the ACM 39(4) (1986)
Rodrigues, G., Rosenblum, D., Emmerich, W.: A Model Driven Approach for Software Systems Reliability. In: Proceedings of the 26th International Conference on Software Engineering (2004)
Royce, W.: Managing the Development of Large Software Systems. In: Proceedings of IEEE WESCON, vol. 26(8) (1970)
Roy-Chowdhury, A.: Manual and Compiler Assisted Methods for Generating Fault-Tolerant Parallel Programs, PhD thesis, University of Illinois at Urbana-Champaign (1996)
Schmidt, D.: Model-Driven Engineering. IEEE Computer 39(2) (2006)
Service Availability Forum, http://www.saforum.org
Slaby, J.M., Baker, S., Hill, J., Schmidt, D.C.: Applying System Execution Modeling Tools to Evaluate Enterprise Distributed Real-Time and Embedded System QoS. In: RTCSA 2006. Proceedings of the 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, IEEE Computer Society Press, Los Alamitos (2006)
Telelogic Rhapsody, www.telelogic.com/Products , www.ilogix.com/sublevel.aspx?id=53
Unified Modeling Language, http://www.uml.org
Waddington, D.G., Yao, B.: High Fidelity C++ Code Transformation. In: Proceedings of the 5th Workshop on Language Descriptions, Tools and Applications (LDTA) (April 2005)
Zorpette, G.: Keeping the Phone Lines Open. IEEE Spectrum 26(6) (1989)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Buskens, R., Gonzalez, O. (2007). Model-Centric Development of Highly Available Software Systems. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems IV. Lecture Notes in Computer Science, vol 4615. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74035-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-74035-3_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74033-9
Online ISBN: 978-3-540-74035-3
eBook Packages: Computer ScienceComputer Science (R0)