Abstract

Abstract All large and complex computer and communications systems have an intrinsic requirement to be dependable since their failure can cause significant losses in terms of life or treasure. Such the systems are expected to have the attributes of reliability , availability , safety , confidentiality , survivability , integrity , and maintainability . Current software and hardware systems continue to evolve in complexity at rapid rates. Although the increase in the complexity of single artifact (such as number of logical decision points in a software package) can often be tracked with Moore's Law like approximations, systems constructed out of larger number of smaller subsystems defy such classifications. The reason for this added complexity is that interactions between the subsystems explode exponentially in the size of the parent system. Yet all component interactions must be addressed exhaustively to predict accurate behavior of the whole system. The challenge that we face is that it is seldom possible to model or test all such interactions in a given system. As a result, building dependable complex systems with realistic assessment of risks of failure is an extremely difficult endeavor. Attempts have been made to ameliorate the difficulty in the engineering of dependable complex systems using lessons from engineering methodologies in other domains. We discuss key attributes of dependable complex systems, with a special emphasis on security where information is involved. We review classical approaches to designing, building, and maintaining dependable complex systems. We present promising features and novel ideas applicable to the lifecycle of dependable complex systems. Most of our discussion is focused within the domain of hardware and software systems. Over time, practitioners in dependable engineering have learned lessons from previous experience and continue to present prescriptive approaches discovered through research and analysis. These lessons and approaches are often applicable to other engineering domains such as construction, transportation, and industrial control. We look at specific engineering challenges and proposed solutions pertaining to the following general domains, with occasional examples from any branch of engineering: • dependable hardware/software systems; • secure dependable systems; • dependable cloud infrastructure and applications. Finally, we conclude with the observation that several approaches are applicable across all these domains and identify accessible techniques that have good potential to increase the dependability of systems. These approaches can be considered as axiomatic in building any future complex systems with a high degree of dependability.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.