From 6620170d2006adb359b1680ee0e8d7bf9200522c Mon Sep 17 00:00:00 2001 From: manuelfehlhammer Date: Mon, 5 Oct 2026 16:14:16 +0200 Subject: [PATCH] safety-sentinel: Add FTA for SkeltonEvent::Send Added a minimal FTY for FM SendingAnEventOrFieldSendsDataOnlyPartially Issue: SWP-282981 --- .../dependability/safety_analysis/aou.trlc | 8 +++---- .../safety_analysis/failure_modes.trlc | 2 +- .../root_causes/skeleton/BUILD | 1 + .../to_few_memory_allocated_fta.puml | 4 ++-- .../skeleton/send_an_event_or_field/BUILD | 8 +++++++ .../data_only_partially_sent_fta.puml | 22 +++++++++++++++++++ 6 files changed, 38 insertions(+), 7 deletions(-) create mode 100644 score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field/data_only_partially_sent_fta.puml diff --git a/score/mw/com/dependability/safety_analysis/aou.trlc b/score/mw/com/dependability/safety_analysis/aou.trlc index f12413239..992b458bb 100644 --- a/score/mw/com/dependability/safety_analysis/aou.trlc +++ b/score/mw/com/dependability/safety_analysis/aou.trlc @@ -45,7 +45,7 @@ ScoreReq.AoU CorrectlyConfiguredMaximumNumberOfSubscriber { mw_com_fta.RetryLogicNotBulletProof, mw_com_fta.IssueInLockFreeSychronization, mw_com_fta.MoreThanOneSampleallocateeptrInParallel, - mw_com_fta.AllocateClaimsToFewMemory, + mw_com_fta.AllocateClaimsTooFewMemory, mw_com_fta.NecessarySizeCalculationRetreivesWrongValue, mw_com_fta.SharedMemoryTruncationFails ] @@ -72,7 +72,7 @@ ScoreReq.AoU CorrectlyConfiguredMaximumNumberOfMaximumElementsPerSubscriber { mw_com_fta.RetryLogicNotBulletProof, mw_com_fta.IssueInLockFreeSychronization, mw_com_fta.MoreThanOneSampleallocateeptrInParallel, - mw_com_fta.AllocateClaimsToFewMemory, + mw_com_fta.AllocateClaimsTooFewMemory, mw_com_fta.NecessarySizeCalculationRetreivesWrongValue, mw_com_fta.SharedMemoryTruncationFails ] @@ -236,7 +236,7 @@ ScoreReq.AoU CheckForNullptrOnAllocate { mw_com_fta.RetryLogicNotBulletProof, mw_com_fta.IssueInLockFreeSychronization, mw_com_fta.MoreThanOneSampleallocateeptrInParallel, - mw_com_fta.AllocateClaimsToFewMemory, + mw_com_fta.AllocateClaimsTooFewMemory, mw_com_fta.NecessarySizeCalculationRetreivesWrongValue, mw_com_fta.SharedMemoryTruncationFails ] @@ -258,7 +258,7 @@ ScoreReq.AoU OneProducerOnlyOneAllocateePtr { mw_com_fta.RetryLogicNotBulletProof, mw_com_fta.IssueInLockFreeSychronization, mw_com_fta.MoreThanOneSampleallocateeptrInParallel, - mw_com_fta.AllocateClaimsToFewMemory, + mw_com_fta.AllocateClaimsTooFewMemory, mw_com_fta.NecessarySizeCalculationRetreivesWrongValue, mw_com_fta.SharedMemoryTruncationFails ] diff --git a/score/mw/com/dependability/safety_analysis/failure_modes.trlc b/score/mw/com/dependability/safety_analysis/failure_modes.trlc index 586d42314..6ecb5c522 100644 --- a/score/mw/com/dependability/safety_analysis/failure_modes.trlc +++ b/score/mw/com/dependability/safety_analysis/failure_modes.trlc @@ -272,7 +272,7 @@ section "LoLa" { version = 1 safety = ScoreReq.Asil.B rationale = "issue not possible with current design. no additional measures required." - // potentialcause = "This issue cannot happen. If then it is a memory allocation topic and covered by [ISSUE:Failuremode TooFewMemoryAllocated]" + interface = "mw.com.Event.Send" } // ID: 6164996 diff --git a/score/mw/com/dependability/safety_analysis/root_causes/skeleton/BUILD b/score/mw/com/dependability/safety_analysis/root_causes/skeleton/BUILD index 227987c54..01c04e512 100644 --- a/score/mw/com/dependability/safety_analysis/root_causes/skeleton/BUILD +++ b/score/mw/com/dependability/safety_analysis/root_causes/skeleton/BUILD @@ -29,6 +29,7 @@ filegroup( "//score/mw/com/dependability/safety_analysis/root_causes/skeleton/offer_a_service:skeleton_not_offered_without_initial_field_value_fta", "//score/mw/com/dependability/safety_analysis/root_causes/skeleton/offer_a_service:skeleton_offered_wrong_binding_fta", "//score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field:changes_user_data_fta", + "//score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field:data_only_partially_sent_fta", "//score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field:does_not_free_resources_after_usage_fta", "//score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field:only_partially_notifies_user_fta", "//score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field:sends_to_wrong_consumer_fta", diff --git a/score/mw/com/dependability/safety_analysis/root_causes/skeleton/allocate_an_event_or_field/to_few_memory_allocated_fta.puml b/score/mw/com/dependability/safety_analysis/root_causes/skeleton/allocate_an_event_or_field/to_few_memory_allocated_fta.puml index bdd1bee8a..8f9396375 100644 --- a/score/mw/com/dependability/safety_analysis/root_causes/skeleton/allocate_an_event_or_field/to_few_memory_allocated_fta.puml +++ b/score/mw/com/dependability/safety_analysis/root_causes/skeleton/allocate_an_event_or_field/to_few_memory_allocated_fta.puml @@ -1,5 +1,5 @@ ' ******************************************************************************* -' Copyright (c) {year} Contributors to the Eclipse Foundation +' Copyright (c) 2026 Contributors to the Eclipse Foundation ' ' See the NOTICE file(s) distributed with this work for additional ' information regarding copyright ownership. @@ -39,7 +39,7 @@ $RootCause("Issue in Lock-free Sychronization", "IssueInLockFreeSychronization", $RootCause("More than one SampleAllocateePtr in parallel", "MoreThanOneSampleallocateeptrInParallel", "Gate2") $IntermediateEvent("Dynamic Memory for containers in slots cannot be allocated", "Event1", "Gate1") $OrGate("Gate5", "Event1") -$RootCause("Allocate claims to few memory", "AllocateClaimsToFewMemory", "Gate5") +$RootCause("Allocate claims too few memory", "AllocateClaimsTooFewMemory", "Gate5") $IntermediateEvent("Configuration broken", "Event9", "Gate5") $TransferInGate("Transfer2", "Event9") $RootCause("Necessary size calculation retreives wrong value", "NecessarySizeCalculationRetreivesWrongValue", "Gate5") diff --git a/score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field/BUILD b/score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field/BUILD index 803394f68..2569b63d5 100644 --- a/score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field/BUILD +++ b/score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field/BUILD @@ -42,3 +42,11 @@ filegroup( ], visibility = ["//score/mw/com/dependability:__subpackages__"], ) + +filegroup( + name = "data_only_partially_sent_fta", + srcs = [ + "data_only_partially_sent_fta.puml", + ], + visibility = ["//score/mw/com/dependability:__subpackages__"], +) diff --git a/score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field/data_only_partially_sent_fta.puml b/score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field/data_only_partially_sent_fta.puml new file mode 100644 index 000000000..96a522816 --- /dev/null +++ b/score/mw/com/dependability/safety_analysis/root_causes/skeleton/send_an_event_or_field/data_only_partially_sent_fta.puml @@ -0,0 +1,22 @@ +' ******************************************************************************* +' 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 + +!include fta_metamodel.puml + +$FailureMode("Data only partially sent", "Communication.SendingAnEventOrFieldSendsDataOnlyPartially") + +$RootCause("Allocate claims too few memory", "AllocateClaimsTooFewMemory", "Communication.SendingAnEventOrFieldSendsDataOnlyPartially") + +@enduml