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.
|