Code Monkey home page Code Monkey logo

saf-specification's Introduction

SAF Specification

Disclaimer: System Architecture Framework Specification Bild is work in progress

System Architecture Framework

This repository contains both documentation for users of SAF and developers of SAF. To understand how we develop SAF, see how SAF is developed. We always welcome contributions from our MBSE community to improve SAF, see how to contribute to SAF.

The System Architecture Framework Specification application is demonstrated using the Fire Forest Detection System (FFDS) example, courtesy of Tim Weilkiens. The Fire Forest Detection System example is based on the publication SYSMOD - The Systems Modeling Toolbox, 3rd edition Pragmatic MBSE with SysML, Tim Weilkiens

SAF Releases

This is the main branch that reflects the current state of development and it is updated as required. See the change report for an information about major changes.

The following SAF releases are available, each of which is managed in a separate branch:

SAF Tool Implementations

The SAF specification is implemented by 3 tool specific profiles which are available in separate github repositories:

SAF Viewpoint Grid

The SAF Viewpoints are organized as a Grid featuring Domains as rows and Aspects as columns.

SAF Grid

The subsequent sections give an overview about the SAF viewpoint specifications, grouped by Domains. The specifications of the SAF viewpoints are available as PDF format, too.

Operational Domain

Operational Domain Objective

The SAF Operational Domain aims to get an understanding of required organizational or operational entity capabilities, as a foundation and reasoning for to systems to be acquired or developed. The SAF Operational Domain supports the model-based development of a CONOPS - as well as an OPSCON and related life cycle concepts - for an organization or operational entity seeking for an improvement of existing capabilities or in establishing new ones. By identifying Stakeholders and their Requirements the SAF Operational Domain supports the derivation of a complete and consolidated set of Stakeholder Requirements based on operational stories, operational processes, operational capabilities, and operational exchanges.

Operational Domain Viewpoints

Operational Domain Aspect Context & Exchange

Operational Domain Aspect Taxonomy & Structure

Operational Domain Aspect Process & Behavior

Operational Domain Aspect Interaction & Collaboration

Operational Domain Aspect Requirement

Operational Domain Aspect Traceability & Mapping

Functional Domain

Functional Domain Objective

The SAF Functional Domain assumes a conceptual black box perspective onto the system to be developed. It translates Operational Domain usage into the notion of System Functions defining the demanded system behavior and quality attributes - performance, safety, security, etc.; the demanded system behavior as it is perceived by the User or other Entities at the System Boundary (known as usage behavior). The result of the elaboration of the viewpoints in the Functional Domain is a comprehensive System Specification.

Functional Domain Viewpoints

Functional Domain Aspect Context & Exchange

Functional Domain Aspect Taxonomy & Structure

Functional Domain Aspect Process & Behavior

Functional Domain Aspect Interaction & Collaboration

Functional Domain Aspect Interface

Functional Domain Aspect Requirement

Functional Domain Aspect Traceability & Mapping

Logical Domain

Logical Domain Objective

The SAF Logical Domain assume a conceptual white box perspective onto the system to be developed. The Logical Domain Viewpoints describe the Logical Structure and the distribution of responsibilities for the Functionality of the SOI by means of a network of interacting Logical Elements that are responsible for a set of desired Functions. These Logical Elements and their Interactions are arranged in the Logical Architecture of the SOI. The structure of the Logical Architecture is in general influenced by nonfunctional criteria, e.g., maintainability, safety, and reliability. The Logical Domain is not a different abstraction level - compared to the Functional Domain, but a white box perspective on the same abstraction level.

Logical Domain Viewpoints

Logical Domain Aspect Taxonomy & Structure

Logical Domain Aspect Interaction & Collaboration

Logical Domain Aspect Traceability & Mapping

Physical Domain

Physical Domain Objective

The SAF Physical Domain diagrams may be used to represent the Product Breakdown Structure, to identify external and internal physical interfaces, to provide diagrams for the system overview, to support the integration planning, to support production planning and to depict the features and variations implied in the system. The physical architecture typically is a combination of re-use elements, COTS elements and make-items for HW as well as for SW. The properties of the selected physical components and their provided resources are identified and modelled. A major concern of the Physical Domain are the physical interfaces, their identification and definition. For that purpose, the Physical Domain provides the diagrams to model interface with different level of detail considering the actual needs for the point of time in the project life cycle. For traceability the Physical Domain defines diagrams showing the mapping of the functional elements and their interfaces to physical elements and their interfaces.

Physical Domain Viewpoints

Physical Domain Aspect Context & Exchange

Physical Domain Aspect Taxonomy & Structure

Physical Domain Aspect Process & Behavior

Physical Domain Aspect Interaction & Collaboration

Physical Domain Aspect Interface

Physical Domain Aspect Traceability & Mapping

Common Domain

Common Domain Objective

The SAF Common Domain provides viewpoints addressing model information that is common to all other domains or that are applicable throughout the model.

Common Domain Viewpoints

Stakeholder Definition

Concern Overview

Profile Model

saf-specification's People

Contributors

ackvas avatar clalitsc avatar github-actions[bot] avatar haarer avatar markusandres avatar mleute avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

saf-specification's Issues

Description of Workflow through viewpoints

from a mail to safsupport
"
Gibt es zu dem von Ihrer Arbeitsgruppe entwickelten Framework auch ein Prozessmodell welches die verschiedenen Viewpoints in Relation bringt?
"

Are stereotypes for software, hardware, and generic elements expendables?

We should not use stereotypes to classify physical blocks belonging to a certain engineering discipline.

See https://github.com/GfSE/SAF-Specification/blob/main/vp-examples/Physical-Structure-Viewpoint-secondary-example-1.svg for a diagram depicting the issue.

(i favored this a long time but now i think it was an error)

Instead of this, i propose to use a relationship to an "engineering discipline" element. This should carry a stereotype, e.g. SAF_EngineeringDiscipline.
Users of SAF create their own disciplines and assign physical blocks to one or more disciplines.
(We can provide some well known disciplines as library elements in the profile, e.g. mechanical, electrical, software..)

This should result in using only one stereotype for any kind of physical block.

How improve classification of terms like logical, functional, and conceptual?

  1. Das SE Handbuch (s.u.) macht aus meiner Sicht keine Abgrenzung zwischen logical, functional, und konzeptioneller Architektur sondern behandelt das synonym.
  2. Es gibt aber sehr wohl eine klare Abgrenzung zwischen logisch und physisch.
  3. Die Frage für SAF ist aus meiner Sicht, wie eng wir uns an den Begriffen des SEHB5 orientieren wollen.
    Wir müssen zumindest klar definieren, wie die Viewpoints ins bild des SHB5 passen.

Eine mögliche Lösung

  1. die namen der betreffenden stereotypen und Konzepte so lassen
  2. an der Beschreibung der Domains erklären wie sie zu den Begriffen im SEHB5 passen.
    Dann haben wir logisch und physisch in den Konzepten und stereotypen -> das passt.

In Domainbeschreibungen eine Referenz auf das SEHB. Das gilt für das Readme.md und auch für domain.md, die beide manuell gepflegt werden. das sollte perspektivisch in anteilen aus dem modell kommen

Was dann aber noch fehlt ist die logical domain komplett zu entfernen und die Viewpoints in eine gruppe von Whitebox Aspekten einzusortieren.

Die Aufteilung der aspekte in white und blackbox fragen würde m.E. auch der PD gut tun.

Viewpoints for framework developers

We don't have viewpoints for framework developers. Having them would make SAF development easier, especially for developers new to SAF development.

We should consider also Stakeholders planning an MBSE approach with SAF or consider using SAF.
The idea somehow similar to the architecture foundation in NAF

What to do:

Specification of a new SAF System Functional Refinement VP

There exist a System Functional Breakdown Viewpoint which represents the decomposition of system function(s) to adjunct system functions.

I have the impression, that there is no viewpoint representing the behavior realized by the adjunct system functions. So, there is no way to see / validate, how the adjunct system functions contribute to the system function they are adjunct to. An activity diagram would be a good view I would expect. Having this kind of viewpoint, the System Functional Breakdown Viewpoint would be a kind of excerpt of it. One could name this (missing) viewpoint System Functional Behavior Viewpoint.

However, if the existing System Process Viewpoint has exactly this purpose, then the example provided doesn't express it well. It doesn't represent the behavior of "Detect and Report Fire", but the example for System Functional Breakdown Viewpoint displays the decomposition of "Detect and Report Fire".

The adjunct system functions elicitation begins in a process with the proposed System Functional Behavior Viewpoint and has the System Functional Breakdown Viewpoint as a by-product / excerpt of it. Yes, one could define the adjunct system functions in a System Functional Breakdown Viewpoint as a brain dump, but their validation would remain pending.

Btw, I keep the term "adjunct" very unhandy / inadequate although it is defined by the UML.

Specification of a new SAF Physical Protocol Stack Definition VP

Please specify the viewpoint SPV05b Physical Protocol Stack Definition.

Assumed priority: low

Acceptance Criteria:

  • viewpoint page (*.md) is available under /GfSE/SAF-Specification/tree/main/developing-saf/viewpoints
  • page includes at least concern, presentation, concept and profile
  • maturity is in state released

To Define Viewpoint SPV05a - Physical Interface Definition

Please specify the viewpoint Physical Interface Definition (SPV05a)

Assumed priority: highest

Acceptance Criteria:

  • viewpoint page (*.md) is available under /GfSE/SAF-Specification/tree/main/developing-saf/viewpoints
  • page includes at least concern, presentation, concept and profile
  • maturity is in state released

Concept Model Rename "logical" elements to "conceptual" when appropriate

During Kassel Workshop we had the discussion about the meaning of logical (again)
The term logical should be only used for the conceptual white box view of SAF, some of the concept model elements are called logical despite they describe context.

FIX: rename entities
Most of them are shown here:
https://github.com/GfSE/SAF-Specification/blob/main/developing-saf/concept/SAF_context_F%20Definition.md

I propose to use the term functional - since they appear only in viewpoints of the functional domain,
but if someone has a better idea - please make a suggestion

Zig-Zag Pattern in SAF?

A question came up when we discussed the VPs System Functional Breakdown whether or not we have a functional tree down through several system layers (system -> sub-system -> module):

Should SAF concept highlight derived requirements in the next layer below from system architecture decisions made?
Example: VP SAF_LogicalInternalExchange defines the exchange between elements within SoI.
Thus, in the sub-system layer a requirement has to be elicited to adress and ensure this architecture decision. An according traceability is required which is not available in SAF concept yet.

Specification a new SAF Physical System Taxonomy & SAF Physical Interface Taxonomy Viewpoint

Logical/ Physical Taxonomy Viewpoint

Purpose

The Logical/ Physical Taxonomy Viewpoint is used to model the taxonomy of logical/physical Elements of the system architecture. Elements being system elements, interfaces or connections making up the SOI. The Logical/Physical Taxonomy enhances re-usability within and across the SOI as well as the design of product lines by means of the virtues of specialization. The Logical/Physical Viewpoint support the identification of the taxonomic relationship between the architecture elements and their further use in the design process. It supports consistency when planning for changes in the design.

Applicability

The Logical/ Physical Taxonomy Viewpoint supports the “reuse of COTS” activity of the INCOSE SYSTEMS ENGINEERING HANDBOOK 2015 [§ 4.5.1.4], the “adaptation of system elements” activity of the INCOSE SYSTEMS ENGINEERING HANDBOOK 2015 [§ 4.7.2.1], and the “potential to justify the setting up of the evolution of a product line organization” activity of the INCOSE SYSTEMS ENGINEERING HANDBOOK 2015 [§ 8.3.1].

Stakeholder

  • Project Manager
  • System Architect

Concern

  • What must de changed in COTS to fulfill the system requirements?
  • How can I manage the reuse of system elements, interfaces, and connections within and across the SOI?
  • How can I ensure that design changes are consistent within the system and across the system context?
  • How can I reduce the amount of different system elements, interfaces and connectors in my architecture and design?

Description of Interface to Enterprise Frameworks?

From a mail to safsupport
"
Sehr geehrte SAF Arbeitsgruppe,

leider war mir aus Ihren Beschreibungen zum System Architecture Framework in github, die Schnittstelle zu denn Enterprise Frameworks wie NAF oder ADMBw nicht klar ersichtlich.

Ist hier im SAF ein separater Übergabepunkt von Informationen aus der Enterprise Architecture definiert oder ist diese über die Überschneidung durch die „Operational Domain SOV“ Ebene im Viewpoint Grid realisiert?
"

SAF and RFLP

A general question for someone wanting to use SAF. I've been modeling systems using RFLP approach which is what SAF is pretty much all about.

Question: RFLP is a multilevel approach with levels such as context level, system level, subsystem level and component level. Follows the Vee cycle downhill. Each level has RFLP and decomposed further down each subsequent level.
Is SAF still applicable here?
For example, in the component level how would one model the operational domain viewpoints?
or is it something to be dealt smartly with?

C2_TRMD Common terms definition viewpoint to be completed!

We have now a terms definition viewpoint generated from the model.

A development view on the VP is now available

The VP is based on michaels proposal.

The status is still proposed because some key information is missing:

Purpose:
needs a nicely written text

Applicability:
needs reference to SEHB5

Presentation
needs discussion if there should be two tables (terms and abbreviations) or if one is enough

Concerns
need review

  • What are the sources (e.g. a standard) of terms?
  • Which terms and abbreviations are applicable to the system of interest or its system elements and their interfaces and interactions

Stakeholders
in michaels proposal there were more stakeholders but i wont add them if noone provides a rationale

Implementation
we need to check how tools handle glossary references and chose a proper implementation. this might require tool specific quirks

Please contribute to this viewpoint, @GfSE/saf !

C2_CSTD Common standards definition viewpoint to be completed!

We have now a standards definition viewpoint generated from the model.

A development view on the VP is now available

The VP is based on michaels proposal.

The status is still proposed because some key information is missing:

Applicability
Needs to be specified, reference to SEHB5 if possible.

Stakeholders
The description lists stakeholders, but we need to document the information which stakeholders has which concerns, and why (rationale)

Customer
Hardware Developer
IV&V Engineer
Mechanic Developer
Regulation Authority
Safety Expert
Security Expert
Software Developer
Supplier
System Architect
Common Concerns

The concerns are:
Concerns

Please contribute to this viewpoint, @GfSE/saf !

Scroll to anchor does not work, requires reload

Links from viewpoint descriptions to anchors in the stereotype list do not work properly.
The expected behavior is, that the Stereotype file opens and scrolls to the anchor.
The observed behavior is, that the Stereotype file opens and does not scroll.

This seems to appear only when the link comes from a github markdown page from the same repository.

This link works:
https://github.com/GfSE/SAF-Specification/blob/main/stereotypes.md#saf_systempartialfunction
But if you open the following Page and click on the link, the page opens but does not scroll

See screenshot of page
grafik

Do not expose abstract concepts

Abstract concepts should not be exposed in viewpoints.
This affects

  • System Requirement
  • General Functional Parameter
  • General Functional Exchange
  • General Physical Role
  • General Functional Usage
    instead the concepts specialing the abstract concepts should be exposed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.