Contents
A typical instance of this tutorial series would
include the following core topics (and additional material):
We start by giving an overview of UML (the UML
diagrams) and model management (packages, subsystems). We
explain the UML extension mechanisms (stereotypes, tags,
constraints, profiles).
We proceed to outline extensions of UML for specific
application domains (such as UMLsec, UMLsafe, UML-RT etc.).
We show how to formulate critical requirements on a
system and critical assumptions on underlying layer in the
UML extensions. We explain how to use this information for
risk analysis and how to evaluate the system specification
against the requirements, by making use of a formal
behavioural model for a (simplified and restricted) core of
UML. Being able to formulate security concepts in the context
of a general-purpose modeling language allows encapsulation
of established principles of critical systems engineering to
avoid common vulnerabilities introduced by developers without
in-depth training in critical systems issues. The formal
foundation of the approach allows the discovery of even
non-obvious weaknesses that experts may not detect without
use of formal tools. We sketch a design process to be used
with the UML extensions and discuss applicability of the
approach with examples from various domains.
We discuss tool-support using the XML dialect XMI and present
applications and examples and a demo of a prototypical tool
based on a UML CASE tool.
|