Modularne assurance case według GSN i SACM

Zarówno standard GSN, jak i OMG SACM definiują modułowe argumentacje assurance case, choć z różnych perspektyw. Standard GSN koncentruje się na logicznych zależnościach między elementami w różnych modułach argumentów. SACM z kolei wprowadza koncepcje interfejsów i powiązań. W praktyce nie ma konfliktu między tymi dwoma standardami. Obie perspektywy są połączone w PREMIS.

Dwa główne charakterystyczne elementy zdefiniowane w tych dwóch standardach to:

  • Trzy typy relacji międzymodułowych zdefiniowane w GSN: elementy linkowane (away elements), wspierane przez moduły oraz wspierane przez kontrakty.
  • Interfejsy i powiązania w SACM.

Najpierw przyjrzymy się GSN i jego trzem typom relacji między elementami w różnych modułach argumentów. Są one przedstawione na diagramie:

Types of GSN relationships between assurance case modules
  • Linkowany element (away element) – jest to po prostu link do elementu w module wspierającym. Ten typ powiązania daje najmniejsze możliwości kontroli. Element wspierający jest jedynie cytowany w module i nie można go modyfikować. Jest on w pełni zarządzany przez właściciela modułu wspierającego.
  • Wspierany przez inny moduł – element argumentacji jest wspierany przez inny element w powiązanym module. Jest to standardowa relacja wspierania (supported by) stosowana w standardzie GSN. Daje to już pewną kontrolę nad relacją, ale nadal nie ma sposobu, aby ją zweryfikować.
  • Wspierany przez kontrakt – postulat (claim) jest wspierany przez postulat z innego moduły za pośrednictwem kontraktu. Kontrakt jest krokiem wnioskowania między powiązanymi modułami i wymaga weryfikacji, czy dostarczane wspiercie jest wystarczające w pełnym kontekście wspieranego postulatu. Kontrakty są zawsze stosowane dla postulatów razem z ich pełnym kontekstem. Ten typ relacji daje pełną kontrolę nad nią.

GSN określa relacje występujące bezpośrednio między elementami w różnych modułach. Przykład jest przedstawiony na poniższym diagramie. Ta perspektywa jest charakterystyczna dla standardu GSN. Skupia się na zależnościach logicznych, a nie na technicznej strukturze informacji.

GSN relationship between elements in two modules

Reprezentacja relacji w SACM jest nieco bardziej złożona. SACM definiuje metamodel argumentacji, który umożliwia stoswoanie dowolnych typówrelacji między modułami. Aby można było to skutecznie realizować, SACM wprowadza dwa pojęcia:

  • Interfejs to zbiór elementów argumentacji, które są udostępniane innym modułom (znanym jako „pakiety” w SACM) w celu ustanowienia relacji. Jest to ważna cecha SACM – można udostępnić element argumentacji w interfejsie, aby umożliwić twórcom innych modułów odwoływanie się do niego.
  • Powiązanie (binding) to relacja SACM między interfejsami różnych modułów. Metamodel SACM jest elastyczny i umożliwia modelowanie w powiązaniu dowolnego z trzech typów relacji międzymodułowych określonych przez standard GSN.

Poniższy diagram przedstawia uproszczony widok reprezentacji relacji między modułami argumentów w SACM. Interfejsy należą do poszczególnyh modułów i zawierają odwołania do ich elementów. Powiązania łączą elementy z różnych interfejsów.

SACM model of assurance case modules and interfaces

Aby w pełni zaimplementować moduły GSN w SACM, rozszerzyliśmy metamodel SACM o dodatkowe atrybuty, aby przypisać typy interfejsów. Interfejsy dzielą się na interfejsy „dostarczane” i „wymagane”. Dostarczane interfejsy służą do publikowania elementów argumentacji, które wspierają inne moduły. Wymagane interfejsy zawierają elementy, które muszą być wspierabne przez inne moduły. Dzielą się one dalej na trzy typy relacji: elementy linkowane (away elements), wspierane przez moduł i wspierane przez kontrakt.