Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ copyright_checker(
# Add other directories/files you want to check
],
config = "//cr_checker/resources:config",
exclusion = "//cr_checker/resources:exclusion",
template = "//cr_checker/resources:templates",
visibility = ["//visibility:public"],
)
Expand Down
1 change: 1 addition & 0 deletions bazel/rules/rules_score/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ sphinx_module(
[
"docs/**/*.rst",
"docs/**/*.puml",
"docs/**/*.md",
],
allow_empty = True,
),
Expand Down
25 changes: 25 additions & 0 deletions bazel/rules/rules_score/docs/_assets/MySeooc_FTA.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
' *******************************************************************************
' Copyright (c) 2026 Contributors to the Eclipse Foundation
'
' See the NOTICE file(s) distributed with this work for additional
' information regarding copyright ownership.
'
' This program and the accompanying materials are made available under the
' terms of the Apache License Version 2.0 which is available at
' https://www.apache.org/licenses/LICENSE-2.0
'
' SPDX-License-Identifier: Apache-2.0
' *******************************************************************************

@startuml MySeooc_FTA

!include fta_metamodel.puml

$TopEvent("KVS returns stale data after power loss", "MySeooc.FM_001")

$OrGate("OG_1", "MySeooc.FM_001")

$BasicEvent("Write not flushed to storage", "MySeooc.RC_001", "OG_1")
$BasicEvent("Corruption on unclean shutdown", "MySeooc.RC_002", "OG_1")

@enduml
21 changes: 21 additions & 0 deletions bazel/rules/rules_score/docs/_assets/MySeooc_PublicApi.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
' *******************************************************************************
' Copyright (c) 2026 Contributors to the Eclipse Foundation
'
' See the NOTICE file(s) distributed with this work for additional
' information regarding copyright ownership.
'
' This program and the accompanying materials are made available under the
' terms of the Apache License Version 2.0 which is available at
' https://www.apache.org/licenses/LICENSE-2.0
'
' SPDX-License-Identifier: Apache-2.0
' *******************************************************************************

@startuml MySeooc_PublicApi

interface "KeyValueStore" as KVS {
+ write(key: string, value: bytes): Result
+ read(key: string): Optional<bytes>
}

@enduml
23 changes: 23 additions & 0 deletions bazel/rules/rules_score/docs/_assets/MySeooc_StaticDesign.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
' *******************************************************************************
' Copyright (c) 2026 Contributors to the Eclipse Foundation
'
' See the NOTICE file(s) distributed with this work for additional
' information regarding copyright ownership.
'
' This program and the accompanying materials are made available under the
' terms of the Apache License Version 2.0 which is available at
' https://www.apache.org/licenses/LICENSE-2.0
'
' SPDX-License-Identifier: Apache-2.0
' *******************************************************************************

@startuml MySeooc_StaticDesign

package "MySeooc" as MySeooc <<SEooC>> {
component "KvsComponent" as KvsComponent <<component>> {
component "KeyValueStore" as KeyValueStore <<unit>>
component "StorageBackend" as StorageBackend <<unit>>
}
}

@enduml
25 changes: 25 additions & 0 deletions bazel/rules/rules_score/docs/_assets/MySeooc_WriteSequence.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
' *******************************************************************************
' Copyright (c) 2026 Contributors to the Eclipse Foundation
'
' See the NOTICE file(s) distributed with this work for additional
' information regarding copyright ownership.
'
' This program and the accompanying materials are made available under the
' terms of the Apache License Version 2.0 which is available at
' https://www.apache.org/licenses/LICENSE-2.0
'
' SPDX-License-Identifier: Apache-2.0
' *******************************************************************************

@startuml MySeooc_WriteSequence

actor Caller
participant KeyValueStore
participant StorageBackend

Caller -> KeyValueStore : write(key, value)
KeyValueStore -> StorageBackend : flush()
StorageBackend --> KeyValueStore : OK
KeyValueStore --> Caller : Result::Ok

@enduml
59 changes: 59 additions & 0 deletions bazel/rules/rules_score/docs/_assets/fta_metamodel.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
' *******************************************************************************
' Copyright (c) 2025 Contributors to the Eclipse Foundation
'
' See the NOTICE file(s) distributed with this work for additional
' information regarding copyright ownership.
'
' This program and the accompanying materials are made available under the
' terms of the Apache License Version 2.0 which is available at
' https://www.apache.org/licenses/LICENSE-2.0
'
' SPDX-License-Identifier: Apache-2.0
' *******************************************************************************

' AND gate: flat bottom + elliptic arch on top
sprite $and <svg width="60" height="70" viewBox="0 0 60 70" xmlns="http://www.w3.org/2000/svg">
<path d="M 8,58 H 52 V 35 A 22,27 0 0,0 8,35 L 8,58 Z" fill="white" stroke="black" stroke-width="2.5"/>
</svg>

' OR gate: pointed top, bowed sides, concave bottom
sprite $or <svg width="60" height="70" viewBox="0 0 60 70" xmlns="http://www.w3.org/2000/svg">
<path d="M 30,8 C 55,25 54,42 52,58 Q 30,48 8,58 C 6,42 5,25 30,8 Z" fill="white" stroke="black" stroke-width="2.5"/>
</svg>

' Transfer-In gate: upward triangle
sprite $transferin <svg width="60" height="70" viewBox="0 0 60 70" xmlns="http://www.w3.org/2000/svg">
<polygon points="30,8 52,60 8,60" fill="white" stroke="black" stroke-width="2.5"/>
</svg>

'skinparam linetype polyline
'skinparam linetype ortho

!procedure $TopEvent($name, $alias)
rectangle "$name" as $alias
!endprocedure

!procedure $IntermediateEvent($name, $alias, $connection)
rectangle "$name" as $alias
$alias -u-> $connection
!endprocedure

!procedure $BasicEvent($name, $alias, $connection)
usecase "$name" as $alias
$alias -u-> $connection
!endprocedure

!procedure $AndGate($alias, $connection)
rectangle " " <<$and>> as $alias
$alias -u-> $connection
!endprocedure

!procedure $OrGate($alias, $connection)
rectangle " " <<$or>> as $alias
$alias -u-> $connection
!endprocedure

!procedure $TransferInGate($alias, $connection)
rectangle " " <<$transferin>> as $alias
$alias -u-> $connection
!endprocedure
89 changes: 89 additions & 0 deletions bazel/rules/rules_score/docs/_assets/seooc_flow.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
' *******************************************************************************
' Copyright (c) 2026 Contributors to the Eclipse Foundation
'
' See the NOTICE file(s) distributed with this work for additional
' information regarding copyright ownership.
'
' This program and the accompanying materials are made available under the
' terms of the Apache License Version 2.0 which is available at
' https://www.apache.org/licenses/LICENSE-2.0
'
' SPDX-License-Identifier: Apache-2.0
' *******************************************************************************

@startuml seooc_flow

skinparam linetype ortho
skinparam defaultTextAlignment center
skinparam ArrowFontSize 11
skinparam ArrowFontStyle italic

skinparam rectangle {
BackgroundColor<<input>> #EFF6FB
BorderColor<<input>> #0066B1
BackgroundColor<<rule>> #FFF8E1
BorderColor<<rule>> #F9A825
BackgroundColor<<output>> #E8F5E9
BorderColor<<output>> #388E3C
}

' ── Inputs ──────────────────────────────────────────────────────────────────
rectangle "System Requirements\n(.trlc)" <<input>> as asr_in
rectangle "Feature Requirements\n(.trlc)" <<input>> as feat_in
rectangle "Component Requirements\n(.trlc)" <<input>> as comp_in
rectangle "Assumptions of Use\n(.trlc)" <<input>> as aou_in
rectangle "Architecture Diagrams\n(.puml / .svg)" <<input>> as arch_in
rectangle "Unit Design Diagrams\n(.puml / .rst)" <<input>> as ud_in
rectangle "Implementation\n(cc_library / py_library…)" <<input>> as impl_in
rectangle "Tests\n(cc_test / py_test…)" <<input>> as tests_in
rectangle "Failure Modes\n(.trlc)" <<input>> as fm_in
rectangle "Control Measures\n(.trlc)" <<input>> as cm_in
rectangle "FTA Diagrams\n(.puml)" <<input>> as fta_in

' ── Bazel Rules ─────────────────────────────────────────────────────────────
rectangle "assumed_system_requirements" <<rule>> as asr_r
rectangle "feature_requirements" <<rule>> as feat_r
rectangle "component_requirements" <<rule>> as comp_r
rectangle "assumptions_of_use" <<rule>> as aou_r
rectangle "architectural_design" <<rule>> as arch_r
rectangle "unit_design" <<rule>> as ud_r
rectangle "unit" <<rule>> as unit_r
rectangle "component" <<rule>> as comp_r2
rectangle "fmea" <<rule>> as fmea_r
rectangle "dependability_analysis" <<rule>> as da_r
rectangle "dependable_element" <<rule>> as de_r

' ── Outputs ──────────────────────────────────────────────────────────────────
rectangle "HTML Documentation\n+ Traceability Report" <<output>> as out

' ── Connections ──────────────────────────────────────────────────────────────
asr_in --> asr_r
feat_in --> feat_r
comp_in --> comp_r
aou_in --> aou_r
arch_in --> arch_r
ud_in --> ud_r
impl_in --> unit_r
tests_in --> unit_r
fm_in --> fmea_r
cm_in --> fmea_r
fta_in --> fmea_r

asr_r --> feat_r : deps
asr_r --> aou_r
feat_r --> aou_r : requirements
feat_r --> de_r
comp_r --> comp_r2 : requirements

ud_r --> unit_r : unit_design
unit_r --> comp_r2 : components
fmea_r --> da_r : fmea

arch_r --> de_r : architectural_design
aou_r --> de_r : assumptions_of_use
comp_r2 --> de_r : components
da_r --> de_r : dependability_analysis

de_r --> out

@enduml
Loading
Loading