Dependable Computing offers a variety of consulting services in the dependability field including:
Dependability assessment includes both qualitative and quantitative elements. Qualitative assessment relies heavily on expert analysis and judgment. Quantitative assessment relies heavily on the set of techniques usually referred to as Probabilistic Risk Assessment (PRA), techniques such as Fault-Tree Analysis (FTA) and Failure Modes, Effects and Criticality Analysis (FMECA). Dependable Computing has expertise in all of these fields.
Safety cases are an important emerging technology in the field of safety engineering. Safety cases provide a rigorous means of documenting the rationale for belief that a subject system is adequately safe for the intended application in the intended operational environment. Dependable Computing has extensive experience in the development, review and assessment of production safety cases and a set of custom tools that facilitate these activities.
Dependability of modern safety- and security-critical systems relies extensively on software for design, development and implementation. A software fault can impact the overall system dependability at any of these lifecycle phases. To achieve the necessary levels of software assurance requires the comprehensive application of rigorous software techniques. Dependable Computing has extensive expertise is all aspects of rigorous software development.
Formal specification is the use of mathematically based formal languages to document the specification of a software entity. Z and PVS are two formal languages that are in common use. Dependable Computing has extensive experience in the application of both of these formal languages.
SPARK is a programming system that combines a mechanism for defining the low-level specification of a software system with a verifiable subset of Ada for writing the software. Proof tools allow formal verification of software written using SPARK. Dependable Computing has extensive experience in both the development and proof of software using SPARK.
Dependable Computing offers courses on the following topics:
These courses provide a foundational overview of the principles and technology of dependability for software engineers and software-engineering managers.
Dependable Computing’s courses on assurance cases are designed to both introduce the concept, argument structure, and notation of the assurance case as well as equip attendees with a solid understanding of how to recognize and build a compelling assurance-case argument.
Dependable Computing’s courses on formal methods are designed to provide both the fundamentals needed to understand any formal approach as well as training in the use of specific techniques.