commit 877be3efce91cfdd629be28176ec3ac9f19bad1d Author: Ishant Date: Mon Sep 15 14:14:15 2025 +0530 Intial Commit diff --git a/.baseline_projects b/.baseline_projects new file mode 100644 index 0000000..bca3ebc --- /dev/null +++ b/.baseline_projects @@ -0,0 +1,2 @@ +# collaborative project sync baselines +#Mon Sep 15 14:13:17 IST 2025 diff --git a/.metadata/.lock b/.metadata/.lock new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.mylyn/repositories.xml.zip b/.metadata/.mylyn/repositories.xml.zip new file mode 100644 index 0000000..76b7b25 Binary files /dev/null and b/.metadata/.mylyn/repositories.xml.zip differ diff --git a/.metadata/.plugins/de.ikv.analyze.tasks.connector.integrity.core/repositoryConfigurations b/.metadata/.plugins/de.ikv.analyze.tasks.connector.integrity.core/repositoryConfigurations new file mode 100644 index 0000000..4170ef3 Binary files /dev/null and b/.metadata/.plugins/de.ikv.analyze.tasks.connector.integrity.core/repositoryConfigurations differ diff --git a/.metadata/.plugins/de.ikv.medini.cockpit.core/modelsRootState.properties b/.metadata/.plugins/de.ikv.medini.cockpit.core/modelsRootState.properties new file mode 100644 index 0000000..805b106 --- /dev/null +++ b/.metadata/.plugins/de.ikv.medini.cockpit.core/modelsRootState.properties @@ -0,0 +1,3 @@ +#Medini Cockpit state persistence file. This file is a generated file. Do not modify the content of this file! +#Mon Sep 15 14:13:18 IST 2025 +FUSA_BMS_N_Category=platform\:/resource/FUSA_BMS_N_Category/.project.medini diff --git a/.metadata/.plugins/de.ikv.medini.cockpit.ui/dialog_settings.xml b/.metadata/.plugins/de.ikv.medini.cockpit.ui/dialog_settings.xml new file mode 100644 index 0000000..870f9c9 --- /dev/null +++ b/.metadata/.plugins/de.ikv.medini.cockpit.ui/dialog_settings.xml @@ -0,0 +1,5 @@ + +
+
+
+
diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/FUSA_BMS_N_Category/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/FUSA_BMS_N_Category/.markers new file mode 100644 index 0000000..f411864 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/FUSA_BMS_N_Category/.markers differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version new file mode 100644 index 0000000..25cb955 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index new file mode 100644 index 0000000..7b74c21 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version new file mode 100644 index 0000000..6b2aaa7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/4.tree b/.metadata/.plugins/org.eclipse.core.resources/.root/4.tree new file mode 100644 index 0000000..a630b44 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.root/4.tree differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources new file mode 100644 index 0000000..d418224 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/de.ikv.medini.cockpit.spelling.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/de.ikv.medini.cockpit.spelling.prefs new file mode 100644 index 0000000..a8702f2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/de.ikv.medini.cockpit.spelling.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +spelling_locale_initialized=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..e32c635 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,5 @@ +description.autobuilding=false +description.maxfilestatesize=9223372036854775807 +eclipse.preferences.version=1 +encoding=UTF-8 +version=1 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.gmf.runtime.emf.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.gmf.runtime.emf.core.prefs new file mode 100644 index 0000000..c8e7ad2 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.gmf.runtime.emf.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +referenced.path.variables= diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs new file mode 100644 index 0000000..43e97e4 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +mylyn.attention.migrated=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.ui.prefs new file mode 100644 index 0000000..9dae225 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.ui.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.mylyn.context.ui.editors.auto.manage=false +org.eclipse.mylyn.context.ui.navigators.filter.auto.enable=false +org.eclipse.mylyn.ide.ui.expansion.auto.manage=false diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs new file mode 100644 index 0000000..8d462a6 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000..5330e43 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +migrated.task.repositories.secure.store=true +org.eclipse.mylyn.tasks.ui.filters.nonmatching=true +org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.svn.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.svn.core.prefs new file mode 100644 index 0000000..67c0d1d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.svn.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +externalMigrateFromAuthorizationDatabase/isMigrated=true +migrateFromAuthorizationDatabase/isMigrated=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.svn.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.svn.ui.prefs new file mode 100644 index 0000000..f22f471 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.svn.ui.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +firstStartup=false +preference.decoration.compute.deep=false +preference.decoration.enable.cache=false diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs new file mode 100644 index 0000000..97868e3 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs @@ -0,0 +1,2 @@ +OPEN_REQUIRED_PROJECTS=never +eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs new file mode 100644 index 0000000..83e3afa --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs @@ -0,0 +1,3 @@ +CLOSE_EDITORS_ON_EXIT=true +eclipse.preferences.version=1 +showIntro=false diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs new file mode 100644 index 0000000..430a3bd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs @@ -0,0 +1,7 @@ +//org.eclipse.ui.commands/state/de.ikv.analyze.editor.dc.command.deactivateSafetyMechanisms.actionOption/org.eclipse.ui.commands.radioState=Hide +//org.eclipse.ui.commands/state/de.ikv.analyze.editor.dc.command.deactivateSafetyMechanisms.metricsOption/org.eclipse.ui.commands.radioState=All +//org.eclipse.ui.commands/state/de.ikv.analyze.editor.dc.command.deactivateSafetyMechanisms.typeOption/org.eclipse.ui.commands.radioState=All +//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false +ENABLED_DECORATORS=de.ikv.analyze.ui.decorators.ShortenLabelDecorator\:true,org.eclipse.ui.LinkedResourceDecorator\:true,org.eclipse.ui.SymlinkDecorator\:true,org.eclipse.ui.VirtualResourceDecorator\:true,org.eclipse.ui.ContentTypeDecorator\:true,org.eclipse.ui.ResourceFilterDecorator\:false,org.eclipse.mylyn.context.ui.decorator.interest\:true,de.ikv.analyze.ui.decorators.SafetyIntegrity\:true,de.ikv.analyze.ui.decorators.AssuranceLevel\:true,de.ikv.analyze.ui.decorators.LostAndFound\:false,de.ikv.analyze.ui.decorators.NotSafetyRelated\:false,org.eclipse.mylyn.tasks.ui.decorators.task\:true,org.eclipse.team.svn.ui.decorator.SVNLightweightDecorator\:true,org.eclipse.debug.ui.prototype.decorator\:true,de.ikv.analyze.partlibraries.decoratorForLibrarySysMLModels\:true,com.ansys.medini.collaboration.ui.decorators.CollaborativeProjectLabelDecorator\:true,com.ansys.medini.collaboration.ui.decorators.ServerBrowserLabelDecorator\:true,de.ikv.analyze.editor.fta.probabilityDecorater\:false,codebeamer.itemDecorator\:false,de.ikv.analyze.status.StatusDecorator\:true,de.ikv.analyze.status.ui.projectStatusDecorator\:true,de.ikv.analyze.sysml.ui.decorator.MissionProfile\:true,de.ikv.analyze.tasks.decoratorForTaskRepositories\:false,de.ikv.analyze.tasks.decoratorForAssignedTasks\:true,de.ikv.analyze.ui.decoratorForTracedElements\:true,de.ikv.analyze.ui.decoratorForProxyProjectElements\:true,de.ikv.analyze.ui.decoratorForProjectElements\:true,de.ikv.analyze.ui.decoratorForPackageElements\:true,de.ikv.analyze.ui.decoratorForWorksheets\:true,de.ikv.analyze.ui.decoratorForChecklists\:true,de.ikv.analyze.ui.decoratorForModelOrigin\:true,de.ikv.analyze.ui.decorators.tags.suffix\:false,de.ikv.analyze.ui.decorators.tags.prefix\:false, +WORKBENCH_SAVE_INTERVAL=0 +eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi new file mode 100644 index 0000000..e436203 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -0,0 +1,2172 @@ + + + + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration + + + + + + + + topLevel + shellMaximized + + + + + persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation + persp.actionSet:org.eclipse.ui.cheatsheets.actionSet + persp.actionSet:org.eclipse.search.searchActionSet + persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo + persp.actionSet:org.eclipse.ui.actionSet.keyBindings + persp.actionSet:org.eclipse.ui.actionSet.openFiles + persp.showIn:de.ikv.medini.cockpit.diagnostic.AttributesView + persp.showIn:de.ikv.medini.cockpit.diagnostic.ProxiesView + persp.showIn:de.ikv.medini.cockpit.diagnostic.ResourceSetView + persp.showIn:de.ikv.medini.cockpit.diagnostic.TracesView + persp.showIn:de.ikv.medini.cockpit.diagnostic.PermaLinkView + persp.viewSC:com.ansys.medini.collaboration.ui.views.serverBrowser + persp.viewSC:com.ansys.medini.pm.GlossaryView + persp.newWizSC:de.ikv.analyze.ui.wizards.analyzeProjectWizard + persp.showIn:de.ikv.analyze.ui.views.analyzeModelBrowser + persp.showIn:de.ikv.analyze.ui.problemsView + persp.viewSC:de.ikv.analyze.ui.views.analyzeModelBrowser + persp.viewSC:de.ikv.analyze.drivingsituationscatalogs.view + persp.viewSC:de.ikv.analyze.partlibraries.view + persp.viewSC:de.ikv.analyze.ui.views.DependencyVisualizationView + persp.viewSC:org.eclipse.ui.views.PropertySheet + persp.perspSC:org.eclipse.mylyn.tasks.ui.perspectives.planning + persp.perspSC:org.eclipse.team.svn.ui.repository.RepositoryPerspective + persp.perspSC:org.eclipse.team.ui.TeamSynchronizingPerspective + persp.perspSC:de.ikv.analyze.compare.ui.perspectives.differencesPerspective + persp.viewSC:org.eclipse.ui.views.ContentOutline + persp.showIn:de.ikv.analyze.ui.views.DependencyVisualizationView + + + + active + + View + categoryTag:Analysis + + + + + View + categoryTag:Collaboration + + + + + + + + View + categoryTag:General + + + View + categoryTag:Analysis + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Analysis + + + View + categoryTag:General + + + + + + + + + View + categoryTag:Help + + + View + categoryTag:General + + + View + categoryTag:Help + + + + + + + View + categoryTag:Help + + + + + + View + categoryTag:General + activeOnClose + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Help + + + + org.eclipse.e4.primaryDataStack + EditorStack + + + + + + + View + categoryTag:Analysis + active + activeOnClose + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:General + + + + + + View + categoryTag:Collaboration + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Analysis + + + + + View + categoryTag:General + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Analysis + + + + + View + categoryTag:General + + + + Draggable + + + toolbarSeparator + + + + Draggable + + + Draggable + + + Draggable + + + stretch + SHOW_RESTORE_MENU + + + Draggable + HIDEABLE + SHOW_RESTORE_MENU + + + + + stretch + + + Draggable + + + Draggable + + + + + TrimStack + Draggable + + + + + + + + + + + + + + + + + + + + + + + + + + platform:win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + platform:win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Editor + removeOnHide + + + + + View + categoryTag:Safety Management + + + + + View + categoryTag:Collaboration + + + + + View + categoryTag:Collaboration + + + + + View + categoryTag:Analysis + + + + + View + categoryTag:Analysis + NoRestore + + + + + View + categoryTag:Analysis + NoRestore + + + + + View + categoryTag:Compare/Merge + + + + + View + categoryTag:Compare/Merge + + + + + View + categoryTag:Diagnostics + NoRestore + + + + + View + categoryTag:Analysis + + + + + View + categoryTag:Analysis + + + + + View + categoryTag:SVN + + + + + View + categoryTag:Analysis + + + + + View + categoryTag:Analysis + NoRestore + + + + + View + categoryTag:Analysis + + + + + View + categoryTag:Analysis + + + + + View + categoryTag:Other + + + + + View + categoryTag:Diagnostics + NoRestore + + + + + View + categoryTag:Diagnostics + NoRestore + + + + + View + categoryTag:Diagnostics + NoRestore + + + + + View + categoryTag:Diagnostics + NoRestore + + + + + View + categoryTag:Diagnostics + NoRestore + + + + + View + categoryTag:Diagnostics + NoRestore + + + + + View + categoryTag:Diagnostics + NoRestore + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:General + + + + + View + categoryTag:Help + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:Papyrus + + + + + View + categoryTag:General + + + + + View + categoryTag:SVN + + + + + View + categoryTag:SVN + + + + + View + categoryTag:SVN + + + + + View + categoryTag:SVN + + + + + View + categoryTag:SVN + + + + + View + categoryTag:Version Control (Team) + + + + + View + categoryTag:Version Control (Team) + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:Help + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.mylyn.trac.core/repositoryConfigurations b/.metadata/.plugins/org.eclipse.mylyn.trac.core/repositoryConfigurations new file mode 100644 index 0000000..4170ef3 Binary files /dev/null and b/.metadata/.plugins/org.eclipse.mylyn.trac.core/repositoryConfigurations differ diff --git a/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml new file mode 100644 index 0000000..50f1edb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml @@ -0,0 +1,5 @@ + +
+
+
+
diff --git a/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml new file mode 100644 index 0000000..07c037a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml @@ -0,0 +1,23 @@ + +
+
+ + + + + +
+
+ + + + + + + + + + + +
+
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml new file mode 100644 index 0000000..4082485 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml @@ -0,0 +1,10 @@ + +
+
+ + + + + +
+
diff --git a/FUSA_BMS_N_Category/.AnalyzeConstraints_baseline__mUFMsAuuEeqjYeKjV-7wuQ b/FUSA_BMS_N_Category/.AnalyzeConstraints_baseline__mUFMsAuuEeqjYeKjV-7wuQ new file mode 100644 index 0000000..b737e6c --- /dev/null +++ b/FUSA_BMS_N_Category/.AnalyzeConstraints_baseline__mUFMsAuuEeqjYeKjV-7wuQ @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/.autocounter b/FUSA_BMS_N_Category/.autocounter new file mode 100644 index 0000000..3e595d7 --- /dev/null +++ b/FUSA_BMS_N_Category/.autocounter @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/.commons.medini b/FUSA_BMS_N_Category/.commons.medini new file mode 100644 index 0000000..ad39c81 --- /dev/null +++ b/FUSA_BMS_N_Category/.commons.medini @@ -0,0 +1,131 @@ + + + + +
+ + + +
+ + +
+ + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/.preferences b/FUSA_BMS_N_Category/.preferences new file mode 100644 index 0000000..419393a --- /dev/null +++ b/FUSA_BMS_N_Category/.preferences @@ -0,0 +1,2 @@ + +
diff --git a/FUSA_BMS_N_Category/.profiling b/FUSA_BMS_N_Category/.profiling new file mode 100644 index 0000000..42b305b --- /dev/null +++ b/FUSA_BMS_N_Category/.profiling @@ -0,0 +1,2504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + +
+ + +
+
+ + +
+
+ + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + + + + +
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+ + +
+ + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+ + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+
+ + +
+ + +
+
+ + +
+ + + + + + + +
+ + + + + + + +
+ + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+
+ + +
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+
+ + +
+ + +
+
+ + +
+ + + + + +
+
+ + +
+ + +
+
+ + +
+ + + + + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + + + + +
+ + +
+ + + + + +
+
+ + +
+ + +
+ + +
+ + + + + + + +
+ + + + + +
+ + + + + +
+ + +
+ + + + + +
+ + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + + + + + + +
+ + + + + + + +
+ + + + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + + diff --git a/FUSA_BMS_N_Category/.profiling_baseline__mUFMsAuuEeqjYeKjV-7wuQ b/FUSA_BMS_N_Category/.profiling_baseline__mUFMsAuuEeqjYeKjV-7wuQ new file mode 100644 index 0000000..b22087b --- /dev/null +++ b/FUSA_BMS_N_Category/.profiling_baseline__mUFMsAuuEeqjYeKjV-7wuQ @@ -0,0 +1,2535 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + +
+ + +
+
+ + +
+
+ + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + + + + +
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+ + +
+ + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + +
+ + +
+
+ + +
+ + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+ + +
+
+ + + + + +
+ + +
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + +
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+
+ + +
+ + +
+
+ + +
+ + + + + + + +
+ + + + + + + +
+ + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+
+ + +
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+
+ + +
+ + +
+
+ + +
+ + + + + +
+
+ + +
+ + +
+
+ + +
+ + + + + + + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + + + + +
+ + +
+ + + + + +
+
+ + +
+ + +
+ + +
+ + + + + + + +
+ + + + + +
+ + + + + +
+ + +
+ + + + + +
+ + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + +
+
+ + +
+
+ + +
+ + + + + +
+ + + + + + + +
+ + + + + + + +
+ + + + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + + diff --git a/FUSA_BMS_N_Category/.project b/FUSA_BMS_N_Category/.project new file mode 100644 index 0000000..27359ea --- /dev/null +++ b/FUSA_BMS_N_Category/.project @@ -0,0 +1,12 @@ + + + FUSA_BMS_N_Category + + + + + + + de.ikv.medini.cockpit.core.mediniNature + + diff --git a/FUSA_BMS_N_Category/.project.medini b/FUSA_BMS_N_Category/.project.medini new file mode 100644 index 0000000..9794254 --- /dev/null +++ b/FUSA_BMS_N_Category/.project.medini @@ -0,0 +1,626 @@ + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + + +
+ + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + + +
+ + + + + + + + + +
+
+ + + + + + + + +
+
+ + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + + + + + +
+
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + +
+ + + + +
+ + + + +
+ + + + + + + +
+ + + +
+ + + + +
+ + + +
+ + + + +
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + diff --git a/FUSA_BMS_N_Category/.projectMapping b/FUSA_BMS_N_Category/.projectMapping new file mode 100644 index 0000000..3fa4169 --- /dev/null +++ b/FUSA_BMS_N_Category/.projectMapping @@ -0,0 +1,6 @@ + + + + modelFactoryWrapperClass=de.ikv.analyze.domain.ui.iso26262.ISO26262ModelFactory + modelVersion=20.1.0.191115173348-4eeb0b6-PREVIEW + diff --git a/FUSA_BMS_N_Category/.trace.medini b/FUSA_BMS_N_Category/.trace.medini new file mode 100644 index 0000000..2e5ce3b --- /dev/null +++ b/FUSA_BMS_N_Category/.trace.medini @@ -0,0 +1,7 @@ + + + + + + + diff --git a/FUSA_BMS_N_Category/AnalyzeConstraints.xmi b/FUSA_BMS_N_Category/AnalyzeConstraints.xmi new file mode 100644 index 0000000..9b9d606 --- /dev/null +++ b/FUSA_BMS_N_Category/AnalyzeConstraints.xmi @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/AnalyzeConstraints.xmi.pre2210 b/FUSA_BMS_N_Category/AnalyzeConstraints.xmi.pre2210 new file mode 100644 index 0000000..eded95c --- /dev/null +++ b/FUSA_BMS_N_Category/AnalyzeConstraints.xmi.pre2210 @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/AnalyzeConstraints.xmi.pre2310 b/FUSA_BMS_N_Category/AnalyzeConstraints.xmi.pre2310 new file mode 100644 index 0000000..186f5fd --- /dev/null +++ b/FUSA_BMS_N_Category/AnalyzeConstraints.xmi.pre2310 @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/AnalyzeConstraints.xmi.pre2320 b/FUSA_BMS_N_Category/AnalyzeConstraints.xmi.pre2320 new file mode 100644 index 0000000..8abbefd --- /dev/null +++ b/FUSA_BMS_N_Category/AnalyzeConstraints.xmi.pre2320 @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_1fzR4OT_EemDKMXKazwdEA.chklst_rtm b/FUSA_BMS_N_Category/checklist/_1fzR4OT_EemDKMXKazwdEA.chklst_rtm new file mode 100644 index 0000000..f6a63a4 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_1fzR4OT_EemDKMXKazwdEA.chklst_rtm @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_1fzR4OT_EemDKMXKazwdEA_ch_review0.layout b/FUSA_BMS_N_Category/checklist/_1fzR4OT_EemDKMXKazwdEA_ch_review0.layout new file mode 100644 index 0000000..a026046 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_1fzR4OT_EemDKMXKazwdEA_ch_review0.layout @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_EN-yECc-Eea-8YkLqRAPAA.chklst_def b/FUSA_BMS_N_Category/checklist/_EN-yECc-Eea-8YkLqRAPAA.chklst_def new file mode 100644 index 0000000..b27108c --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_EN-yECc-Eea-8YkLqRAPAA.chklst_def @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_EN-yECc-Eea-8YkLqRAPAA_ch_review0.layout b/FUSA_BMS_N_Category/checklist/_EN-yECc-Eea-8YkLqRAPAA_ch_review0.layout new file mode 100644 index 0000000..5f00cd2 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_EN-yECc-Eea-8YkLqRAPAA_ch_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/checklist/_EOfcgBmwEemHsZrTo6Qoyg.chklst_rtm b/FUSA_BMS_N_Category/checklist/_EOfcgBmwEemHsZrTo6Qoyg.chklst_rtm new file mode 100644 index 0000000..093f48b --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_EOfcgBmwEemHsZrTo6Qoyg.chklst_rtm @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_EOfcgBmwEemHsZrTo6Qoyg_ch_review0.layout b/FUSA_BMS_N_Category/checklist/_EOfcgBmwEemHsZrTo6Qoyg_ch_review0.layout new file mode 100644 index 0000000..7a2e52c --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_EOfcgBmwEemHsZrTo6Qoyg_ch_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/checklist/_k4Iu8CPGEem7IbokExUh5g.chklst_def b/FUSA_BMS_N_Category/checklist/_k4Iu8CPGEem7IbokExUh5g.chklst_def new file mode 100644 index 0000000..b0b7224 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_k4Iu8CPGEem7IbokExUh5g.chklst_def @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_k4Iu8CPGEem7IbokExUh5g_ch_review0.layout b/FUSA_BMS_N_Category/checklist/_k4Iu8CPGEem7IbokExUh5g_ch_review0.layout new file mode 100644 index 0000000..a387141 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_k4Iu8CPGEem7IbokExUh5g_ch_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/checklist/_kgSncJSmEeefbsnFgah_5Q.chklst_def b/FUSA_BMS_N_Category/checklist/_kgSncJSmEeefbsnFgah_5Q.chklst_def new file mode 100644 index 0000000..0ad60fd --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_kgSncJSmEeefbsnFgah_5Q.chklst_def @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_kgSncJSmEeefbsnFgah_5Q_ch_review0.layout b/FUSA_BMS_N_Category/checklist/_kgSncJSmEeefbsnFgah_5Q_ch_review0.layout new file mode 100644 index 0000000..fda5cc6 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_kgSncJSmEeefbsnFgah_5Q_ch_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/checklist/_ogXQwG9IEeqG1abzinpicA.chklst_def b/FUSA_BMS_N_Category/checklist/_ogXQwG9IEeqG1abzinpicA.chklst_def new file mode 100644 index 0000000..f3a93e6 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_ogXQwG9IEeqG1abzinpicA.chklst_def @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_ogXQwG9IEeqG1abzinpicA_ch_review0.layout b/FUSA_BMS_N_Category/checklist/_ogXQwG9IEeqG1abzinpicA_ch_review0.layout new file mode 100644 index 0000000..8a60fdd --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_ogXQwG9IEeqG1abzinpicA_ch_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/checklist/_r-HyQBmWEemHsZrTo6Qoyg.chklst_def b/FUSA_BMS_N_Category/checklist/_r-HyQBmWEemHsZrTo6Qoyg.chklst_def new file mode 100644 index 0000000..e233ab7 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_r-HyQBmWEemHsZrTo6Qoyg.chklst_def @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_r-HyQBmWEemHsZrTo6Qoyg_ch_review0.layout b/FUSA_BMS_N_Category/checklist/_r-HyQBmWEemHsZrTo6Qoyg_ch_review0.layout new file mode 100644 index 0000000..1833557 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_r-HyQBmWEemHsZrTo6Qoyg_ch_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/checklist/_re7ecLH9EeCQYIKxeQ-Alw.chklst_def b/FUSA_BMS_N_Category/checklist/_re7ecLH9EeCQYIKxeQ-Alw.chklst_def new file mode 100644 index 0000000..963ea7a --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_re7ecLH9EeCQYIKxeQ-Alw.chklst_def @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_re7ecLH9EeCQYIKxeQ-Alw_ch_review0.layout b/FUSA_BMS_N_Category/checklist/_re7ecLH9EeCQYIKxeQ-Alw_ch_review0.layout new file mode 100644 index 0000000..af28fda --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_re7ecLH9EeCQYIKxeQ-Alw_ch_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/checklist/_ug-vkCc8Eea-8YkLqRAPAA.chklst_def b/FUSA_BMS_N_Category/checklist/_ug-vkCc8Eea-8YkLqRAPAA.chklst_def new file mode 100644 index 0000000..04d83c6 --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_ug-vkCc8Eea-8YkLqRAPAA.chklst_def @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/checklist/_ug-vkCc8Eea-8YkLqRAPAA_ch_review0.layout b/FUSA_BMS_N_Category/checklist/_ug-vkCc8Eea-8YkLqRAPAA_ch_review0.layout new file mode 100644 index 0000000..efce36b --- /dev/null +++ b/FUSA_BMS_N_Category/checklist/_ug-vkCc8Eea-8YkLqRAPAA_ch_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA.ha b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA.ha new file mode 100644 index 0000000..556f6e6 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA.ha @@ -0,0 +1,224 @@ + + + + + + + + garage (general for service) + + + + + garage on car hoist or propped up + + + + + car wash + + + + + n-leg-crossing + + + + + hill + + + + + steep downgrade + + + + + + + + parking structure + parking + + + + + steep downgrade + parking structure + + + + + hill + parking structure + + + + + curb-side + parking + + + + + parking lot + parking + + + + + parking + + + + + n-leg-crossing + + + + + n-leg-crossing + + + + + n-leg-crossing + + + + + n-leg-crossing + + + + + n-leg-crossing + + + + + bike-road crossing + + + + + + + + n-leg-crossing + + + + + + + + + + + + + + + + + + + + parking structure + + + + + + + + narrow curve (r<120m) + + + + + + + + + + + + + + + + + + + + + + + + + + railroad crossing + + + + + hill + downgrade + + + + + + + + + + + + + + + + + construction area + + + + + + + + + + + + + + + + + hill + + + + + steep downgrade + + + + + + + + towing + + + + + being towed + + + diff --git a/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha0.layout b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha0.layout new file mode 100644 index 0000000..40a0da1 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha1.layout b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha1.layout new file mode 100644 index 0000000..fd130c5 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha1.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha2.layout b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha2.layout new file mode 100644 index 0000000..dabd553 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha2.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha3.layout b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha3.layout new file mode 100644 index 0000000..a2e123a --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_6Z8n8LOMEeCra7I1nrDHCA_ha3.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/_OUg8wAwrEeSW27aUFfiZXA.missionprofile b/FUSA_BMS_N_Category/commons/_OUg8wAwrEeSW27aUFfiZXA.missionprofile new file mode 100644 index 0000000..001df8a --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_OUg8wAwrEeSW27aUFfiZXA.missionprofile @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/_QMJscAwuEeSW27aUFfiZXA.missionprofile b/FUSA_BMS_N_Category/commons/_QMJscAwuEeSW27aUFfiZXA.missionprofile new file mode 100644 index 0000000..603e373 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_QMJscAwuEeSW27aUFfiZXA.missionprofile @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/_gif8gCOnEem7IbokExUh5g.missionprofile b/FUSA_BMS_N_Category/commons/_gif8gCOnEem7IbokExUh5g.missionprofile new file mode 100644 index 0000000..b7c5b66 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_gif8gCOnEem7IbokExUh5g.missionprofile @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/_gq8t6SOnEem7IbokExUh5g.missionprofile b/FUSA_BMS_N_Category/commons/_gq8t6SOnEem7IbokExUh5g.missionprofile new file mode 100644 index 0000000..c529a33 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_gq8t6SOnEem7IbokExUh5g.missionprofile @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/_i5YnoAwuEeSW27aUFfiZXA.missionprofile b/FUSA_BMS_N_Category/commons/_i5YnoAwuEeSW27aUFfiZXA.missionprofile new file mode 100644 index 0000000..bb5e6dd --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_i5YnoAwuEeSW27aUFfiZXA.missionprofile @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/_x4v00AwsEeSW27aUFfiZXA.missionprofile b/FUSA_BMS_N_Category/commons/_x4v00AwsEeSW27aUFfiZXA.missionprofile new file mode 100644 index 0000000..c2aa1b5 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/_x4v00AwsEeSW27aUFfiZXA.missionprofile @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/settings.cybersec b/FUSA_BMS_N_Category/commons/settings.cybersec new file mode 100644 index 0000000..a2bbece --- /dev/null +++ b/FUSA_BMS_N_Category/commons/settings.cybersec @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/settings.riskclassification b/FUSA_BMS_N_Category/commons/settings.riskclassification new file mode 100644 index 0000000..6bf6fde --- /dev/null +++ b/FUSA_BMS_N_Category/commons/settings.riskclassification @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D10.measures b/FUSA_BMS_N_Category/commons/table_05-D10.measures new file mode 100644 index 0000000..221801b --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D10.measures @@ -0,0 +1,7 @@ + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D10_sme0.layout b/FUSA_BMS_N_Category/commons/table_05-D10_sme0.layout new file mode 100644 index 0000000..5ffc34d --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D10_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D2.measures b/FUSA_BMS_N_Category/commons/table_05-D2.measures new file mode 100644 index 0000000..70645c5 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D2.measures @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D2_sme0.layout b/FUSA_BMS_N_Category/commons/table_05-D2_sme0.layout new file mode 100644 index 0000000..f3ce1fa --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D2_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D3.measures b/FUSA_BMS_N_Category/commons/table_05-D3.measures new file mode 100644 index 0000000..beef533 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D3.measures @@ -0,0 +1,5 @@ + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D3_sme0.layout b/FUSA_BMS_N_Category/commons/table_05-D3_sme0.layout new file mode 100644 index 0000000..68ba6ed --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D3_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D4.measures b/FUSA_BMS_N_Category/commons/table_05-D4.measures new file mode 100644 index 0000000..e3bd77a --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D4.measures @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D4_sme0.layout b/FUSA_BMS_N_Category/commons/table_05-D4_sme0.layout new file mode 100644 index 0000000..2dffd32 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D4_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D5.measures b/FUSA_BMS_N_Category/commons/table_05-D5.measures new file mode 100644 index 0000000..5e21550 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D5.measures @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D5_sme0.layout b/FUSA_BMS_N_Category/commons/table_05-D5_sme0.layout new file mode 100644 index 0000000..30c6e9d --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D5_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D6.measures b/FUSA_BMS_N_Category/commons/table_05-D6.measures new file mode 100644 index 0000000..cc89109 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D6.measures @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D6_sme0.layout b/FUSA_BMS_N_Category/commons/table_05-D6_sme0.layout new file mode 100644 index 0000000..4eebf82 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D6_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D7.measures b/FUSA_BMS_N_Category/commons/table_05-D7.measures new file mode 100644 index 0000000..cb0b7c7 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D7.measures @@ -0,0 +1,6 @@ + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D7_sme0.layout b/FUSA_BMS_N_Category/commons/table_05-D7_sme0.layout new file mode 100644 index 0000000..579e713 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D7_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D8.measures b/FUSA_BMS_N_Category/commons/table_05-D8.measures new file mode 100644 index 0000000..68fd635 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D8.measures @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D8_sme0.layout b/FUSA_BMS_N_Category/commons/table_05-D8_sme0.layout new file mode 100644 index 0000000..0363414 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D8_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D9.measures b/FUSA_BMS_N_Category/commons/table_05-D9.measures new file mode 100644 index 0000000..f8298ce --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D9.measures @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_05-D9_sme0.layout b/FUSA_BMS_N_Category/commons/table_05-D9_sme0.layout new file mode 100644 index 0000000..034c949 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_05-D9_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-32.measures b/FUSA_BMS_N_Category/commons/table_11-32.measures new file mode 100644 index 0000000..89557b8 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-32.measures @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-32_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-32_sme0.layout new file mode 100644 index 0000000..27a6622 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-32_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-33.measures b/FUSA_BMS_N_Category/commons/table_11-33.measures new file mode 100644 index 0000000..798fa35 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-33.measures @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-33_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-33_sme0.layout new file mode 100644 index 0000000..a92bba7 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-33_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-34.measures b/FUSA_BMS_N_Category/commons/table_11-34.measures new file mode 100644 index 0000000..0627a2f --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-34.measures @@ -0,0 +1,6 @@ + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-34_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-34_sme0.layout new file mode 100644 index 0000000..9f76aa4 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-34_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-35.measures b/FUSA_BMS_N_Category/commons/table_11-35.measures new file mode 100644 index 0000000..b6125fe --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-35.measures @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-35_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-35_sme0.layout new file mode 100644 index 0000000..1c70971 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-35_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-37.measures b/FUSA_BMS_N_Category/commons/table_11-37.measures new file mode 100644 index 0000000..9965c50 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-37.measures @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-37_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-37_sme0.layout new file mode 100644 index 0000000..6fd5c25 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-37_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-38.measures b/FUSA_BMS_N_Category/commons/table_11-38.measures new file mode 100644 index 0000000..b36c96f --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-38.measures @@ -0,0 +1,6 @@ + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-38_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-38_sme0.layout new file mode 100644 index 0000000..e19f4bd --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-38_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-39.measures b/FUSA_BMS_N_Category/commons/table_11-39.measures new file mode 100644 index 0000000..8652ad9 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-39.measures @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-39_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-39_sme0.layout new file mode 100644 index 0000000..5d5c8f4 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-39_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-40.measures b/FUSA_BMS_N_Category/commons/table_11-40.measures new file mode 100644 index 0000000..a2d7a9a --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-40.measures @@ -0,0 +1,6 @@ + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-40_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-40_sme0.layout new file mode 100644 index 0000000..fc63bda --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-40_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-01.measures b/FUSA_BMS_N_Category/commons/table_11-51-01.measures new file mode 100644 index 0000000..d0f3827 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-01.measures @@ -0,0 +1,6 @@ + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-01_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-01_sme0.layout new file mode 100644 index 0000000..9395985 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-01_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-02.measures b/FUSA_BMS_N_Category/commons/table_11-51-02.measures new file mode 100644 index 0000000..ee1ba81 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-02.measures @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-02_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-02_sme0.layout new file mode 100644 index 0000000..eb82a4c --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-02_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-03.measures b/FUSA_BMS_N_Category/commons/table_11-51-03.measures new file mode 100644 index 0000000..ae88a7c --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-03.measures @@ -0,0 +1,7 @@ + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-03_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-03_sme0.layout new file mode 100644 index 0000000..92a47c3 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-03_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-04.measures b/FUSA_BMS_N_Category/commons/table_11-51-04.measures new file mode 100644 index 0000000..20d4510 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-04.measures @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-04_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-04_sme0.layout new file mode 100644 index 0000000..e17315c --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-04_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-05.measures b/FUSA_BMS_N_Category/commons/table_11-51-05.measures new file mode 100644 index 0000000..bca717b --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-05.measures @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-05_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-05_sme0.layout new file mode 100644 index 0000000..1dd7997 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-05_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-06.measures b/FUSA_BMS_N_Category/commons/table_11-51-06.measures new file mode 100644 index 0000000..ccdfa78 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-06.measures @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-06_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-06_sme0.layout new file mode 100644 index 0000000..6f3fd58 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-06_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-07.measures b/FUSA_BMS_N_Category/commons/table_11-51-07.measures new file mode 100644 index 0000000..f5230d6 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-07.measures @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-07_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-07_sme0.layout new file mode 100644 index 0000000..cb361dc --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-07_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-08.measures b/FUSA_BMS_N_Category/commons/table_11-51-08.measures new file mode 100644 index 0000000..c71e2cf --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-08.measures @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-08_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-08_sme0.layout new file mode 100644 index 0000000..73d68f0 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-08_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-09.measures b/FUSA_BMS_N_Category/commons/table_11-51-09.measures new file mode 100644 index 0000000..81be7bb --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-09.measures @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-09_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-09_sme0.layout new file mode 100644 index 0000000..97bdc1e --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-09_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-10.measures b/FUSA_BMS_N_Category/commons/table_11-51-10.measures new file mode 100644 index 0000000..c705991 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-10.measures @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-10_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-10_sme0.layout new file mode 100644 index 0000000..423ba62 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-10_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-11.measures b/FUSA_BMS_N_Category/commons/table_11-51-11.measures new file mode 100644 index 0000000..a722bf5 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-11.measures @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-51-11_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-51-11_sme0.layout new file mode 100644 index 0000000..7f9d75b --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-51-11_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/commons/table_11-57.measures b/FUSA_BMS_N_Category/commons/table_11-57.measures new file mode 100644 index 0000000..2dc1c57 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-57.measures @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/commons/table_11-57_sme0.layout b/FUSA_BMS_N_Category/commons/table_11-57_sme0.layout new file mode 100644 index 0000000..07fd130 --- /dev/null +++ b/FUSA_BMS_N_Category/commons/table_11-57_sme0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/config/scripts/.lib/factory.js b/FUSA_BMS_N_Category/config/scripts/.lib/factory.js new file mode 100644 index 0000000..1387367 --- /dev/null +++ b/FUSA_BMS_N_Category/config/scripts/.lib/factory.js @@ -0,0 +1,1886 @@ +/* + * Copyright 2017-2024 ANSYS, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of + * the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS + * OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * v2024-04-19 - NH extended the signature by collection type for: TriggerCollection, MeasureCatalog, SystemEffectCollection, WeaknessCollection + * v2024-04-05 - MW extended the signature for failure collection creation by the required collection type (using the context parameter of createElement) + * v2024-03-26 - JM added support for MissionProfile and contained data + * v2023-12-05 - JM added support for RiskTimeProbabilityModel + * v2022-09-12 - JM added support Checklist templates (23.1.0 only) + * v2022-09-01 - JM added support for Item (finally) + * v2022-05-17 - JM fixed SysMLValueProperty handling for 21.1 and 21.0 (was introduced later) + * v2022-04-26 - JM added support for DC worksheet + * v2022-03-07 - JM fixed connector and dependency creation for scripted importer use case + * v2022-03-31 - JM added support for SecurityGoal + * v2022-03-31 - MW support for FailureEffectCreation + * v2022-03-23 - JM added support for SysMLValueProperty + * v2022-03-11 - JM fixed connector doublet handling and connector creation for 22.1 + * v2022-03-01 - JM prevent creation of connector/dependency duplicates + * v2022-02-08 - JM support for DCMetricsParameters + * v2022-01-20 - MW support creation of damage scenario and other 22.1 artifacts + some leftovers + * v2022-01-04 - JM support creation of system models without any scope + * v2021-04-07 - JM fixed glitch preventing ui.js work together with factory.js + * v2021-03-17 - JM support creation of Failure Rate Data + * v2020-09-21 - JM prevent creation of contribution duplicates + * v2020-09-21 - JM fixed requirements relation from sub-requirement + * v2020-08-14 - JM support creation of system models + * v2020-06-29 - JM support creation of checklist items inside other items + * v2020-05-06 - JM improved error handling for double traces and write protected HAZOP + * v2020-04-22 - JM added support for add map entries in HAZOP entries + * v2020-04-06 - JM added support for HAZOP and Guidewords + * v2020-03-20 - JM small fix for Trace (> v310) + * v2020-03-02 - JM initial support for Diagrams + * v2019-11-13 - JM support for more Cybersecurity elements (Stakeholder) + * v2019-11-05 - JM support for Cybersecurity elements + * v2019-09-09 - JM more support for Causality Relations + * v2019-08-29 - JM fixed creation of Ports/FlowPorts + * v2019-08-29 - JM initial support for Weaknesses and Triggers + * v2019-04-11 - JM added support for Actions + * v2019-01-30 - JM added support for version 2019 R1 + * v2018-08-24 - JM added support for Checklist template usage + * v2018-06-18 - JM added support for Hazard and Error + * v2018-06-12 - JM fixed return value for FailureRelation and SafetyReqRelation + * v2018-02-28 - JM added support for SysMLDependency and SysMLAbstraction + * v2018-02-14 - JM added support for FRVariable + * v2017-10-18 - JM added support for SysMLConnector + * v2017-09-13 - JM initial version + */ +if (!bind) { + throw "This script requires extended API"; +} + +// bind operations (NOT OFFICIAL API YET) +var AddPackageOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddPackageOperation", false); +var AddFunctionOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddFunctionOperation", false); +var AddMalfunctionOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddMalfunctionOperation", false); +var AddFailureModeOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddFailureModeOperation", false); +var AddHazardOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddHazardOperation", false); +var AddDamageScenarioOperation = undefined; +var AddErrorOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddErrorOperation", false); +var AddMeasureOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddMeasureOperation", false); +var AddSafetyRequirementOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddSafetyRequirementOperation", false); +var AddSafetyGoalOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddSafetyGoalOperation", false); +var AddSafetyMechanismOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddSafetyMechanismOperation", false); +var CreateTraceOperation = bind("de.ikv.medini.kernel.traceability", "de.ikv.medini.kernel.traceability.operations.CreateTraceOperation", false); +var MediniModelModificationUtil = bind("de.ikv.medini.util.emf.plugin", "de.ikv.medini.util.emf.edit.MediniModelModificationUtil", false); +var SafetyModelUtil = bind("de.ikv.medini.metamodel.safety", "de.ikv.medini.metamodel.safetyModel.util.SafetyModelUtil", false); +var SafetyGoalsUtils = bind("de.ikv.analyze.metamodel.safetygoals", "de.ikv.analyze.metamodel.safetygoals.util.SafetyGoalsUtils", false); + +var CreateSystemArchitectureModelOperation = bind("de.ikv.analyze.sysml.core", "de.ikv.analyze.sysml.core.operations.CreateSystemArchitectureModelOperation", false); +var CreateItemModelOperation = bind("de.ikv.analyze.item.core", "de.ikv.analyze.item.core.operations.CreateItemModelOperation", false); +var CreateHazardAnalysisModelOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.CreateHazardAnalysisModelOperation", false); +var CreateFMEAWorksheetOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.CreateFMEAWorksheetOperation", false); +var CreateDCWorksheetOperation = bind("de.ikv.analyze.editor.dc.core", "de.ikv.analyze.editor.dc.core.operations.CreateDCWorksheetOperation", false); +var CreateFTAModelOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.CreateFTAModelOperation", false); +var CreateChecklistOperation = bind("de.ikv.analyze.editor.creation.checklist", "de.ikv.analyze.editor.creation.checklist.operations.CreateChecklistOperation", false); +var CreateSafetyGoalModelOperation = bind("de.ikv.analyze.safetygoal.core", "de.ikv.analyze.safetygoal.core.operations.CreateSafetyGoalModelOperation", false); +var CreateMissionProfileModelOperation = bind("de.ikv.analyze.failureratecatalogs", "de.ikv.analyze.failureratecatalogs.missionprofiles.operations.CreateMissionProfileModelOperation", false); +var ImportChecklistReviewOperation = undefined; + +var SysmlFactory = bind("de.ikv.medini.metamodel.sysml", "de.ikv.medini.metamodel.sysml.SysmlFactory", false); +var SafetyModelFactory = bind("de.ikv.medini.metamodel.safety", "de.ikv.medini.metamodel.safetyModel.SafetyModelFactory", false); +var SafetyGoalsFactory = bind("de.ikv.analyze.metamodel.safetygoals", "de.ikv.analyze.metamodel.safetygoals.SafetyGoalsFactory", false); +var FMEAFactory = bind("de.ikv.medini.metamodel.fmea", "de.ikv.medini.metamodel.FMEA.FMEAFactory", false); +var HazardAnalysisFactory = bind("de.ikv.analyze.metamodel.hazard", "de.ikv.analyze.metamodel.hazard.HazardAnalysisFactory", false); +var FTAFactory = bind("de.ikv.medini.metamodel.fta", "de.ikv.medini.metamodel.FTA.FTAFactory", false); +var ChecklistFactory = bind("de.ikv.analyze.metamodel.checklist", "de.ikv.analyze.metamodel.checklist.ChecklistFactory", false); +var TransactionUtil = bind("org.eclipse.emf.transaction", "org.eclipse.emf.transaction.util.TransactionUtil", false); +var DCFactory = bind("de.ikv.analyze.metamodel.dc", "de.ikv.analyze.metamodel.dc.DcFactory", false); + +var CreateNewFailureCollectionOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.CreateNewFailureCollectionOperation", false); +var CreateNewSystemEffectCollectionOperation = undefined; +var CreateNewMeasureCatalogOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.CreateNewMeasureCatalogOperation", false); +// ANY REFERENCE TO SYSML DIAGRAM CLASSES WERE INTENIONALLY REMOVED TO PREVENT TROUBLE WIHT BUNDLE ACTIVATION FROM NON-UI THREADS +var AnalyzeSystemAllocateOperation = bind("de.ikv.analyze.sysml.core", "de.ikv.analyze.sysml.core.operations.AnalyzeSystemAllocateOperation", false); +var SysMLModelUtils = bind("de.ikv.medini.sysml.core", "de.ikv.medini.sysml.core.SysMLModelUtils", false); + +var FailureRateCatalogsFactory = bind("de.ikv.medini.metamodel.failureratecatalogs", "de.ikv.medini.metamodel.failureratecatalogs.FailureRateCatalogsFactory", false); +var FailureRateCatalogsPackage = bind("de.ikv.medini.metamodel.failureratecatalogs", "de.ikv.medini.metamodel.failureratecatalogs.FailureRateCatalogsPackage", false); +var MExpressionsFactory = bind("de.ikv.medini.metamodel.expressions", "de.ikv.medini.metamodel.MExpressions.MExpressionsFactory", false); +var MExpressionsPackage = bind("de.ikv.medini.metamodel.expressions", "de.ikv.medini.metamodel.MExpressions.MExpressionsPackage", false); + +var StructuredSelection = bind("org.eclipse.jface", "org.eclipse.jface.viewers.StructuredSelection", false); +var VanillaAction = bind("de.ikv.medini.util.eclipse", "de.ikv.medini.util.eclipse.jface.action.VanillaAction", false); + +// do not define it here and now +var CreatePJDiagramOperation = undefined; +var CreateNewDiagramHandler = undefined; + +// these operations were introduced with 20.1 or later - avoid breaking scripts +var CreateNewWeaknessCollectionOperation = undefined; +var CreateNewTriggerCollectionOperation = undefined; +var AddLimitationOperation = undefined; +var AddTriggeringConditionOperation = undefined; +var AddVulnerabilityOperation = undefined; +var AddAttackOperation = undefined; +var AddThreatOperation = undefined; +var CreateNewThreatAssessmentModelOperation = undefined; +var ThreatAssessmentFactory = undefined; +var CreateAttackTreeOperation = undefined; +var AttackTreeFactory = undefined; +var DCMetricsParametersBuilder = undefined; + +// see more bindings below + +// some EMF stuff +var BasicEList = bind("org.eclipse.emf.common", "org.eclipse.emf.common.util.BasicEList", false); + +// helper +function __createTrace(from, to, ignoreExisting) { + // creating multiple traces per pair is strictly forbidden and may cause trouble, better prevent this + if (from && to && from.mediniGetTracedElements(to.prototype).contains(to)) { + if (ignoreExisting) return undefined; // not easy to really return the existing trace + throw "a trace between the two objects already exists"; + } + + // create one + var domain = TransactionUtil.getEditingDomain(from); + var op = new CreateTraceOperation(domain, "Link", from, to, ""); + op.execute(null, null); + return op.getTrace(); +} + +// helper +function __createFailureRelation(cause, effect) { + return __createCausalityRelation(cause, effect); +} + +// helper +function __createCausalityRelation(cause, effect) { + // compatibility for < 2020 R1 + if ("addFailureRelation" in SafetyModelUtil.INSTANCE) { + return SafetyModelUtil.INSTANCE.addFailureRelation(cause, effect); + } + + // this is 2020 R1 + return SafetyModelUtil.INSTANCE.addCausalityRelation(cause, effect); +} + +// helper +function __getRequirementsModel(source) { + // source might be top-level (then model is set) or sub (then container is set) + if (source.model) { + return source.model; + } + + if (!source.container) { + throw "requirement is missng the container reference"; + } + + return __getRequirementsModel(source.container); +} + +function __hasRelationBetween(source, target) { + var relations = source.sourceRelations; + for (var i=0; i= 340) { + feature = Metamodel.FTA.FTAModel.eventNodes; + var eventFeature = Metamodel.FTA.FTAModel.eventNodes; + var eventNode = FTAFactory.eINSTANCE.create(Metamodel.FTA.EventNode); + MediniModelModificationUtil.addValueOfFeature(scope, eventFeature, eventNode); + eventNode.event = event; + } + + return event; +} + +// helper +function __createFTAEventNode(scope) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + + // create one + var eventNode = FTAFactory.eINSTANCE.create(Metamodel.FTA.EventNode); + var feature = Metamodel.FTA.FTAModel.eventNodes; + MediniModelModificationUtil.addValueOfFeature(scope, feature, eventNode); + + return eventNode; +} + +// helper +function __createCustomProbabilityModel(scope, type) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + if (!type) { + console.error("Type is undefined in create method!"); + } + + // create one + var model = FTAFactory.eINSTANCE.create(type); + console.log(model); + var feature = Metamodel.FTA.Event.probabilityData; + MediniModelModificationUtil.addValueOfFeature(scope, feature, model); + + return model; +} + +// helper +function __createFTALogicalGate(scope) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + + // create one + var gate = FTAFactory.eINSTANCE.create(Metamodel.FTA.LogicalGate); + var feature = Metamodel.FTA.FTAModel.gates; + MediniModelModificationUtil.addValueOfFeature(scope, feature, gate); + + return gate; +} + +// helper +function __createFTAVotingGate(scope) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + + // create one + var gate = FTAFactory.eINSTANCE.create(Metamodel.FTA.VotingGate); + var feature = Metamodel.FTA.FTAModel.gates; + MediniModelModificationUtil.addValueOfFeature(scope, feature, gate); + + return gate; +} + +// helper +function __createFTATransferGate(scope) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + + // create one + var gate = FTAFactory.eINSTANCE.create(Metamodel.FTA.TransferGate); + var feature = Metamodel.FTA.FTAModel.gates; + MediniModelModificationUtil.addValueOfFeature(scope, feature, gate); + + return gate; +} + +// helper +function __createFTAConnection(scope, source, target) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + + // create one + var connection = FTAFactory.eINSTANCE.create(Metamodel.FTA.Connection); + var feature = Metamodel.FTA.FTAModel.connections; + MediniModelModificationUtil.addValueOfFeature(scope, feature, connection); + + if (source != undefined && target != undefined) { + // Note: source is the output! + connection.inputNode = source; + connection.outputNode = target; + } + + return connection; +} + +// helper +function __createInternalWorkingCycle(scope) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + + var workingCycle = FailureRateCatalogsFactory.eINSTANCE.create(FailureRateCatalogsPackage.Literals.INTERNAL_WORKING_CYCLE); + var feature = Metamodel.failureratecatalogs.MissionProfile.internalWorkingCycles; + MediniModelModificationUtil.addValueOfFeature(scope, feature, workingCycle); + + return workingCycle; +} + +// helper +function __createWorkingPhase(scope) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + + var workingPhase = FailureRateCatalogsFactory.eINSTANCE.create(FailureRateCatalogsPackage.Literals.WORKING_PHASE); + var feature = Metamodel.failureratecatalogs.MissionProfile.workingPhases; + MediniModelModificationUtil.addValueOfFeature(scope, feature, workingPhase); + + return workingPhase; +} + +// helper +function __createMissionProfile(scope) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + if (!(scope instanceof Metamodel.projectmodel.MediniProject)) { + console.error("Scope must be a MediniProject object!"); + throw "Scope must be a MediniProject object"; + } + + // we need to place the mission profile into the right hidden package + var tempFinder = Global.getFinder(scope); + scope = tempFinder.findByType(Metamodel.projectmodel.PJPackage).and('name', 'MissionProfiles').first(); + if (!scope) { + console.error("This project has no package for mission profiles!"); + throw "This project has no package for mission profiles"; + } + + // create one + var op = new CreateMissionProfileModelOperation("", scope); + op.execute(null, null); + return op.getMissionProfile(); +} + +// helper +function __createFailureRateData(scope) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + + var failureRateData = FailureRateCatalogsFactory.eINSTANCE.create(FailureRateCatalogsPackage.Literals.FAILURE_RATE_DATA); + // we create decisions here already + var decisions = MExpressionsFactory.eINSTANCE.create(MExpressionsPackage.Literals.DECISIONS); + failureRateData.decision = decisions; + + var feature = Metamodel.safetyModel.Failable.failureRateData; + MediniModelModificationUtil.setValueOfFeature(scope, feature, failureRateData); + + return failureRateData; +} + +// helper +function __createFRVariable(scope) { + if (!scope) { + console.error("Scope is undefined in create method!"); + } + + var failureRateData = scope.failureRateData; + if (failureRateData == null) { + failureRateData = FailureRateCatalogsFactory.eINSTANCE.create(FailureRateCatalogsPackage.Literals.FAILURE_RATE_DATA); + var feature = Metamodel.safetyModel.Failable.failureRateData; + MediniModelModificationUtil.setValueOfFeature(scope, feature, failureRateData); + } + + var newVariable = FailureRateCatalogsFactory.eINSTANCE.create(FailureRateCatalogsPackage.Literals.FR_VARIABLE); + newVariable.name = "new_variable"; // at least set a name + newVariable.valueAsString= "0.0"; // at least set initial value + + var feature2 = Metamodel.safetyModel.IFailureRateData.userVariables; + MediniModelModificationUtil.addValueOfFeature(failureRateData, feature2, newVariable); + + return newVariable; +} + +/** + * Object Factory() + * @constructor + * @since 3.1.0 + * @stability 1 - Experimental + */ +function Factory(){} +Factory.prototype = new Object(); +Factory.ignoreDoubleTraces = false; +Factory.ignoreDoubleSafetyReqRelations = false; +Factory.ignoreDoubleSysMLDependencies = false; +Factory.ignoreDoubleSysMLConnectors = false; +Factory.ignoreNullScopes = false; + +// after a certain version (e.g. 2000 == 20.0.0, 340 = 3.4.0) +Factory.isV310OrLater = (__tool_version_number && __tool_version_number >= 310); +Factory.isV340OrLater = (__tool_version_number && __tool_version_number >= 340); +Factory.isV2000OrLater = (__tool_version_number && __tool_version_number >= 2000); +Factory.isV2110OrLater = (__tool_version_number && __tool_version_number >= 2100); +// Note: __tool_version_object was introduced with 21.2.0 and __tool_version_number frozen at 2120 +Factory.isV2120OrLater = "__tool_version_object" in this; +Factory.isV2210OrLater = Factory.isV2120OrLater && __tool_version_object.major >= 22; + +// before a certain version +Factory.isBeforeV1930 = (__tool_version_number && __tool_version_number < 1930); + +// version specific bindings +if (Factory.isV2120OrLater) { + var AddSecurityGoalOperation = bind("de.ikv.analyze.core", "de.ikv.analyze.core.operations.AddSecurityGoalOperation", false); +} + +var ConnectorUtil = undefined; +if (Factory.isV2210OrLater) { + // 22.1 code + ConnectorUtil = bind("de.ikv.medini.metamodel.sysml", "de.ikv.medini.metamodel.sysml.util.SysMLConnectorUtil", false); +} else { + // pre 22.1 code + ConnectorUtil = bind("de.ikv.medini.uml", "de.ikv.medini.uml.util.ConnectorUtil", false); +} + +/** + * Creates an instance of the given type in the given scope. + * + * @memberOf Factory + * @param {Object} + * scope + * @param {EClass} + * type + * @returns {Object} + * @static + * @see Factory + * @since 3.1.0 + * @stability 1 - Experimental + */ + +Factory.createElement = function (scope, type, context) { + var collectionType; + if (!scope && !this.ignoreNullScopes) { + throw "missing mandatory scope argument"; + } + if (!type) { + throw "missing mandatory type argument"; + } + + // SG and SR + if (type == Metamodel.safetygoals.SafetyRequirementsModel) { + return __createRequirementsModel(scope); + } + if (type == Metamodel.safetygoals.SafetyRequirement) { + return __createSafetyRequirement(scope); + } + if (type == Metamodel.safetygoals.SafetyGoal) { + return __createSafetyGoal(scope); + } + + // SYSML + if (type == Metamodel.sysml.SysMLPart) { + return __createPart(scope); + } + if (type == Metamodel.sysml.SysMLActivity) { + return __createActivity(scope); + } + if (type == Metamodel.sysml.SysMLAction) { + return __createAction(scope); + } + if (type == Metamodel.sysml.SysMLBlock) { + return __createBlock(scope); + } + if (type == Metamodel.sysml.SysMLPort || type == Metamodel.sysml.SysMLFlowPort) { + return __createPort(scope); + } + if (type == Metamodel.sysml.SysMLPortUsage || type == Metamodel.sysml.SysMLFlowPortUsage) { + return __createPortUsage(scope); + } + if (type == Metamodel.sysml.SysMLContainerPackage) { + if (scope instanceof Metamodel.projectmodel.PJScope) { + return __createSysMLModel(scope); + } else { + return __createContainerPackage(scope); + } + } + // TODO This will create Stakeholders always! + if (this.isV2000OrLater) { + if (type == Metamodel.sysml.SysMLActor) { + return __createActor(scope); + } + } + if (this.isV2120OrLater) { + if (type == Metamodel.sysml.SysMLValueProperty) { + return __createValueProperty(scope); + } + } + + // SAFETY + if (type == Metamodel.safetyModel.MeasureGroup) { + return __createMeasureGroup(scope); + } + if (type == Metamodel.safetyModel.FailureMode) { + return __createFailureMode(scope); + } + if (type == Metamodel.safetyModel.Malfunction) { + return __createMalfunction(scope); + } + if (type == Metamodel.safetyModel.Hazard) { + return __createHazard(scope); + } + if (type == Metamodel.safetyModel.Error) { + return __createError(scope); + } + if (type == Metamodel.safetyModel.Measure) { + return __createMeasure(scope); + } + if (type == Metamodel.safetyModel.FailureCollection) { + collectionType = context; + return __createFailureCollection(scope, collectionType); + } + // since 2017-09-13 + if (type == Metamodel.safetyModel.MeasureCatalog) { + collectionType = context; + return __createMeasureCatalog(scope, collectionType); + } + // since 2017-09-13 + if (type == Metamodel.safetyModel.SafetyMechanism) { + return __createSafetyMechanism(scope); + } + if (this.isV2000OrLater) { + if (type == Metamodel.safetyModel.WeaknessCollection) { + collectionType = context; + return __createWeaknessCollection(scope, collectionType); + } + if (type == Metamodel.safetyModel.TriggerCollection) { + collectionType = context; + return __createTriggerCollection(scope, collectionType); + } + if (type == Metamodel.safetyModel.Limitation) { + return __createLimitation(scope); + } + if (type == Metamodel.safetyModel.TriggeringCondition) { + return __createTriggeringCondition(scope); + } + if (type == Metamodel.security.Vulnerability) { + return __createVulnerability(scope); + } + if (type == Metamodel.security.Attack) { + return __createAttack(scope); + } + if (type == Metamodel.security.Threat) { + return __createThreat(scope); + } + if (type == Metamodel.tara.ThreatAssessmentModel) { + return __createThreatAssessmentModel(scope); + } + if (type == Metamodel.tara.ThreatEvent) { + return __createThreatEvent(scope); + } + // XXX AttackTree was missing in Beta version - workaround with String + if (type == "AttackTree") { + return __createAttackTree(scope); + } + } + if (this.isV2110OrLater) { + // AttackPath was introduced with 21 R1 + if (type == Metamodel.attacktree.AttackPathModel) { + return __createAttackPathModel(); + } + } + if (this.isV2120OrLater) { + // SecurityGoal was introduced with 21 R2 + if (type == Metamodel.safetygoals.SecurityGoal) { + return __createSecurityGoal(scope); + } + } + if (this.isV2210OrLater) { + if (type == Metamodel.security.DamageScenario) { + return __createDamageScenario(scope); + } + if (type == Metamodel.safetyModel.SystemEffectCollection) { + collectionType = context; + return __createSystemEffectCollection(scope, collectionType); + } + if (type == "DCMetricsParametersBuilder") { + return __createDCMetricsParametersBuilder(scope); + } + if (type == Metamodel.attacktree.AttackTree) { + return __createAttackTree(scope); + } + } + + // FMEA + if (type == Metamodel.FMEA.TakenAction) { + return __createTakenAction(scope); + } + if (type == Metamodel.FMEA.RecommendedAction) { + return __createRecommendedAction(scope); + } + if (type == Metamodel.FMEA.CurrentDesignControl) { + return __createCurrentDesignControl(scope); + } + if (type == Metamodel.FMEA.FMEAWorksheet) { + return __createFMEAWorksheet(scope); + } + if (type == Metamodel.dc.DCWorksheet) { + return __createDCWorksheet(scope); + } + if (type == Metamodel.FMEA.Component) { + return __createComponentEntry(scope); + } + if (type == Metamodel.FMEA.PlainFailureMode) { + return __createPlainFailureMode(scope); + } + if (type == Metamodel.FMEA.FailureEffect) { + return __createFailureEffect(scope); + } + + // DC + if (type == Metamodel.dc.DCFailureModeEntry) { + return __createDCFailureModeEntry(scope); + } + + // HARA + if (type == Metamodel.hazard.PlainItem) { + return __createItemModel(scope); + } + if (type == Metamodel.hazard.HazardousEvent) { + return __createHazardousEvent(scope); + } + if (type == Metamodel.hazard.HazardAnalysisModel) { + return __createHazardAnalysisModel(scope); + } + if (this.isBeforeV1930) { + // IsoAsil obsolete since 19.3.0 + if (type == Metamodel.hazard.IsoAsil) { + return __createIsoAsil(scope); + } + } + + // HAZOP/Guideword + if (type == Metamodel.hazop.HazopAnalysisModel) { + return __createHazop(scope); + } + if (type == Metamodel.hazop.Guideword) { + return __createGuideword(scope); + } + if (type == Metamodel.hazop.HazopEntry) { + return __createHazopEntry(scope); + } + + // FTA + if (type == Metamodel.FTA.FTAModel) { + return __createFTAModel(scope); + } + + if (type == Metamodel.FTA.Event) { + return __createFTAEvent(scope); + } + + if (type == Metamodel.FTA.LogicalGate) { + return __createFTALogicalGate(scope); + } + + if (type == Metamodel.FTA.VotingGate) { + return __createFTAVotingGate(scope); + } + + if (type == Metamodel.FTA.TransferGate) { + return __createFTATransferGate(scope); + } + + if (this.isV340OrLater) { + if (type == Metamodel.FTA.ScriptedProbabilityModel) { + return __createCustomProbabilityModel(scope, type); + } + if (type == Metamodel.FTA.ExponentialProbabilityModel) { + return __createCustomProbabilityModel(scope, type); + } + if (type == Metamodel.FTA.NormalProbabilityModel) { + return __createCustomProbabilityModel(scope, type); + } + if (type == Metamodel.FTA.TimeIndependentProbabilityModel) { + return __createCustomProbabilityModel(scope, type); + } + if (type == Metamodel.FTA.WeibullProbabilityModel) { + return __createCustomProbabilityModel(scope, type); + } + if (type == Metamodel.FTA.RiskTimeProbabilityModel) { + return __createCustomProbabilityModel(scope, type); + } + if (type == Metamodel.FTA.EventNode) { + return __createFTAEventNode(scope); + } + } + + // TODO This should be better placed to createRelation(...) + if (type == Metamodel.FTA.Connection) { + console.error("Wrong usage of factory method: create connections with createelation"); + return __createFTAConnection(scope); + } + + // CHECKLIST + if (type == Metamodel.checklist.Checklist) { + return __createChecklist(scope, context); + } + + if (type == Metamodel.checklist.ChecklistItem) { + // this is abstract so we create static items always for convenience + return __createChecklistItem(scope); + } + if (type == Metamodel.checklist.StaticChecklistItem) { + return __createChecklistItem(scope); + } + + // ProjectModel + if (type == Metamodel.projectmodel.PJPackage) { + return __createPackage(scope); + } + if (type == Metamodel.projectmodel.PJDiagram) { + return __createDiagram(scope); + } + + // Reliability (HACK! not in Metamodel yet with R19.0) + if (type == "FRVariable") { + return __createFRVariable(scope); + } + if (this.isV2000OrLater) { + if (type == Metamodel.failureratecatalogs.FailureRateData) { + return __createFailureRateData(scope); + } + if (type == Metamodel.failureratecatalogs.MissionProfile) { + return __createMissionProfile(scope); + } + if (type == Metamodel.failureratecatalogs.InternalWorkingCycle) { + return __createInternalWorkingCycle(scope); + } + if (type == Metamodel.failureratecatalogs.WorkingPhase) { + return __createWorkingPhase(scope); + } + } + + // not supported + throw "type is not supported"; +}; + +Factory.createRelation = function (source, target, type) { + if (!source) { + throw "missing mandatory source argument"; + } + if (!target) { + throw "missing mandatory target argument"; + } + if (!type) { + throw "missing mandatory type argument"; + } + + // HARA + if (this.isV2000OrLater) { + if (type == Metamodel.safetyModel.CausalityRelation) { + return __createCausalityRelation(source, target); + } + } + if (type == Metamodel.safetyModel.FailureRelation) { + return __createFailureRelation(source, target); + } + + // SG and SR + if (type == Metamodel.safetygoals.SafetyReqRelation) { + return __createContributesRelation(source, target, this.ignoreDoubleSafetyReqRelations); + } + + // FTA + if (type == Metamodel.FTA.Connection) { + // the scope is always the FTA model + return __createFTAConnection(source.model, source, target); + } + + // SysML + if (type == Metamodel.sysml.SysMLConnector) { + return __createConnector(source, target, this.ignoreDoubleSysMLConnectors); + } + // must come first because its inherits from SysMLDependency + if (type == Metamodel.sysml.SysMLAbstraction) { + return __createAbstraction(source, target, this.ignoreDoubleSysMLDependencies); + } + if (type == Metamodel.sysml.SysMLDependency) { + return __createDependency(source, target, this.ignoreDoubleSysMLDependencies); + } + + // Trace (HACK for versions < 310!) + if (type == "TRACE") { + return __createTrace(source, target, this.ignoreDoubleTraces); + } + if (this.isV310OrLater) { + if (type == Metamodel.traceability.Trace) { + return __createTrace(source, target, this.ignoreDoubleTraces); + } + } + + // not supported + throw "type is not supported"; +}; + + +/** + * Introduced to create entries in maps. + * + * @memberOf Factory + * @static + * + * @param {Map} + * map - a map (key maps to multiple values) + * @param {Object} + * key - the key + * @param {Object} + * element - an element + * + * @see Factory + * @since 20.1.0 + * @stability 1 - Experimental + */ +Factory.createMapEntry = function(map, key, value) { + // some paranoia + if ("class" in map && ("" + map["class"]).indexOf("UnmodifiableEList") != -1) { + throw "this map is not modifiable - seems that you lack some pragma in your script to change containment"; + } + var list = map.get(key); + if (list == undefined) { + list = new BasicEList.FastCompare(); + list.add(value); + map.put(key, list); + } else { + list.add(value); + } +}; diff --git a/FUSA_BMS_N_Category/config/scripts/.lib/finderEx.js b/FUSA_BMS_N_Category/config/scripts/.lib/finderEx.js new file mode 100644 index 0000000..c659dfd --- /dev/null +++ b/FUSA_BMS_N_Category/config/scripts/.lib/finderEx.js @@ -0,0 +1,664 @@ +/* + * Copyright 2015-2023 ANSYS, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of + * the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS + * OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * v2023-10-26 - JM Added findProjectModel + * v2023-01-09 - GG support for checklist and measure groups + * v2021-07-23 - JM fixed findConnector (connectors are contained by parent of port) + * v2021-06-10 - MP added find support for port and connector + * v2020-10-21 - added findOrCreateHazard + * v2020-03-06 - initial support for traces + * v2020-01-03 - initial support for variables + * v2019-08-29 - initial support for Weaknesses and Triggers + * v2019-06-26 - improved support for goals and functions + * v2019-06-18 - added support for hazardous events + * v2019-04-11 - added support for general activities and actions + * v2017-03-01 - added support for project and system packages + * v2017-02-10 - added support for requirements + * v2016-11-14 - added support for hazard + * v2015-06-10 - added support for goal + * v2015-06-08 - initial version + */ +if (!bind) { + throw "This script requires extended API"; +} + +// extended finder methods +var AutoCounterSupport = bind("de.ikv.medini.metamodel.autocounter", "de.ikv.medini.metamodel.autocounter.AutoCounterSupport", false); +var TraceController = bind("de.ikv.medini.kernel.traceability", "de.ikv.medini.kernel.traceability.TraceController", false); +var MediniProjectModelUtil = bind("de.ikv.medini.metamodel.projectmodel", "de.ikv.medini.metamodel.projectmodel.util.MediniProjectModelUtil", false); + +// helper +function findLimitation(scope, name) { + if (!scope) { + console.error("scope is undefined!"); + return undefined; + } + var found = Global.getFinder(scope).findByType(Metamodel.safetyModel.Limitation, false).find("name", name); + if (!found.isEmpty()) { + return found.first(); + } + + return undefined; +} + +// helper +function findOrCreateLimitation(scope, name) { + var found = findLimitation(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.safetyModel.Limitation); + created.name = name; + return created; +} + +// helper +function findTriggeringCondition(scope, name) { + if (!scope) { + console.error("scope is undefined!"); + return undefined; + } + var found = Global.getFinder(scope).findByType(Metamodel.safetyModel.TriggeringCondition, false).find("name", name); + if (!found.isEmpty()) { + return found.first(); + } + + return undefined; +} + +// helper +function findOrCreateTriggeringCondition(scope, name) { + var found = findTriggeringCondition(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.safetyModel.TriggeringCondition); + created.name = name; + return created; +} + +// helper +function findHazardousEvent(scope, id) { + if (!scope) { + console.error("scope is undefined!"); + return undefined; + } + var found = Global.getFinder(scope).findByType(Metamodel.hazard.HazardousEvent, false).find("id", id); + if (!found.isEmpty()) { + return found.first(); + } + + return undefined; +} + +// helper +function findOrCreateHazardousEvent(scope, id) { + var found = findHazardousEvent(scope, id); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.hazard.HazardousEvent); + created.id = id; + return created; +} + +// helper +function findAction(scope, name) { + if (!scope) { + console.error("Scope is undefined in findAction!"); + return undefined; + } + + var found = Global.getFinder(scope).findByType(Metamodel.sysml.SysMLAction, true) + .find("name", name); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + + return undefined; +} + +// helper +function findOrCreateAction(scope, name) { + var found = findAction(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.sysml.SysMLAction); + created.name = name; + return created; +} + +// helper +function findActivity(scope, name) { + if (!scope) { + console.error("Scope is undefined in findActivity!"); + return undefined; + } + + var found = Global.getFinder(scope).findByType(Metamodel.sysml.SysMLActivity, true) + .find("name", name); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + + return undefined; +} + +// helper +function findOrCreateActivity(scope, name) { + var found = findActivity(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.sysml.SysMLActivity); + created.name = name; + return created; +} + +// helper +function findFunction(scope, name, id) { + if (!scope) { + console.error("Scope is undefined in findFunction!"); + return undefined; + } + // id before name (!) + if (id) { + var found = Global.getFinder(scope).findByType(Metamodel.sysml.SysMLActivity, true) + .and("typeCode", "function") + .find("id", id); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + } + if (name) { + found = Global.getFinder(scope).findByType(Metamodel.sysml.SysMLActivity, true) + .and("typeCode", "function") + .find("name", name); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + } + return undefined; +} + +// helper +function findOrCreateFunction(scope, name, id) { + var found = findFunction(scope, name, id); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.sysml.SysMLActivity); + created.typeCode = "function"; + created.id = id ? id : AutoCounterSupport.createUniqueIDString(created, "id", "F-001"); + created.name = name; + return created; +} + +// helper +function findMalfunction(scope, name) { + if (!scope) { + console.error("Scope is undefined in findMalfunction!"); + return undefined; + } + var found = Global.getFinder(scope).findByType(Metamodel.safetyModel.Malfunction, true).find("name", name); + if (!found.isEmpty()) { + return found.first(); + } + + return undefined; +} + +// helper +function findOrCreateMalfunction(scope, name) { + var found = findMalfunction(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.safetyModel.Malfunction); + created.name = name; + return created; +} + +// helper +function findHazard(scope, name) { + if (!scope) { + console.error("Scope is undefined in find method!"); + } + var found = Global.getFinder(scope).findByType(Metamodel.safetyModel.Hazard, true).find("name", name); + if (!found.isEmpty()) { + return found.first(); + } + + return undefined; +} + +// helper +function findOrCreateHazard(scope, name) { + if (!scope) { + console.error("Scope is undefined in findOrCreate!"); + return undefined; + } + var found = Global.getFinder(scope).findByType(Metamodel.safetyModel.Hazard, true).find("name", name); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + + // create one + var created = Factory.createElement(scope, Metamodel.safetyModel.Hazard); + created.name = name; + return created; +} + +// helper +function findOrCreateFailureMode(scope, name) { + if (!scope) { + console.error("Scope is undefined in findOrCreate!"); + return undefined; + } + var found = Global.getFinder(scope).findByType(Metamodel.safetyModel.FailureMode, true).find("name", name); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + + // create one + var created = Factory.createElement(scope, Metamodel.safetyModel.FailureMode); + created.name = name; + return created; +} + +// helper +function findOrCreateMeasure(scope, name) { + if (!scope) { + console.error("Scope is undefined in findOrCreate!"); + } + var found = Global.getFinder(scope).findByType(Metamodel.safetyModel.Measure, true).find("name", name); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + + // create one + var created = Factory.createElement(scope, Metamodel.safetyModel.Measure); + created.name = name; + return created; +} + +// helper added by GG 2022-08-17 +function findOrCreateMeasureGroup(scope, name) { + if (!scope) { + console.error("Scope is undefined in findOrCreate!"); + } + var found = Global.getFinder(scope).findByType(Metamodel.safetyModel.MeasureGroup, true).find("name", name); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + + // create one + var created = Factory.createElement(scope, Metamodel.safetyModel.MeasureGroup); + created.name = name; + return created; +} + +// helper +function findContainerPackage(scope, name) { + if (!scope) { + console.error("Scope is undefined in find method!"); + return undefined; + } + var found = Global.getFinder(scope).findByType(Metamodel.sysml.SysMLContainerPackage, true).find("name", name); + if (!found.isEmpty()) { + return found.first(); + } + + return undefined; +} + +// helper +function findOrCreateContainerPackage(scope, name) { + var found = findContainerPackage(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.sysml.SysMLContainerPackage); + created.name = name; + return created; +} + +// helper +function findPart(scope, name) { + if (!scope) { + console.error("Scope is undefined in find method!"); + return undefined; + } + var found = Global.getFinder(scope).findByType(Metamodel.sysml.SysMLPart, true).find("name", name); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.asArray()[0]; + } + + return undefined; +} + +// helper +function findOrCreatePart(scope, name) { + var found = findPart(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.sysml.SysMLPart); + created.name = name; + return created; +} + +// helper +function findGoal(scope, name, id) { + if (!scope) { + console.error("Scope is undefined in find method!"); + } + // id before name (!) + if (id) { + var found = Global.getFinder(scope).findByType(Metamodel.safetygoals.SafetyGoal, true).find("identifier", id); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + } + if (name) { + found = Global.getFinder(scope).findByType(Metamodel.safetygoals.SafetyGoal, true).find("name", name); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + } + + return undefined; +} + +// helper +function findOrCreateGoal(scope, name, id) { + var found = findGoal(scope, name, id); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.safetygoals.SafetyGoal); + created.name = name; + created.identifier = id; + return created; +} + +// helper +function findRequirement(scope, nameOrId) { + if (!scope) { + console.error("Scope is undefined in find method!"); + } + var found = Global.getFinder(scope).findByType(Metamodel.safetygoals.SafetyRequirement, true).find("name", nameOrId); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + // try again with ID + found = Global.getFinder(scope).findByType(Metamodel.safetygoals.SafetyRequirement, true).find("identifier", nameOrId); + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + + return undefined; +} + +// helper +function findPackage(scope, name) { + if (!scope) { + console.error("Scope is undefined in find method!"); + return undefined; + } + var found = Global.getFinder(scope).findByType(Metamodel.projectmodel.PJPackage, true).find("name", name); + if (!found.isEmpty()) { + return found.first(); + } + return undefined; +} + +// helper +function findOrCreatePackage(scope, name) { + var found = findPackage(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.projectmodel.PJPackage); + created.name = name; + return created; +} + +// helper +function findVariable(scope, name) { + if (!scope) { + console.error("Scope is undefined in find method!"); + return undefined; + } + // only handle elements that may carry failure rate data + if (!Metamodel.safetyModel.Failable.isInstance(scope)) { + console.error("Scope is not a Failable but has to be!"); + return undefined; + } + // we can skip if elements has no failure rate data + if (!scope.failureRateData) { + return undefined; + } + + // search for catalog variables first + var found = Global.getFinder(scope.failureRateData.variables.toArray()).findByType("FRVariable").find("name", name); + if (!found.isEmpty()) { + return found.first(); + } + + // search for user variables next + found = Global.getFinder(scope.failureRateData.userVariables.toArray()).findByType("FRVariable").find("name", name); + if (!found.isEmpty()) { + return found.first(); + } + + // give up + return undefined; +} + +// helper +function findOrCreateVariable(scope, name) { + var found = findVariable(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, "FRVariable"); + created.name = name; +// created.description = description; +// created.comment = comment; +// created.value = value; + return created; +} + +function findTraces(project) { + var traceSet = TraceController.INSTANCE.findTraceModel(project ? project : finder.project); + return Global.getFinder(traceSet).findByType("Trace"); +} + +// added by MP +function findOrCreatePort(scope, name) { + var found = findPort(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.sysml.SysMLFlowPortUsage); + created.name = name; + return created; +} + +// added by MP +function findPort(scope, name) { + var found = Global.getFinder(scope).findByType(Metamodel.sysml.SysMLFlowPortUsage, true).and("name", name); + + if (!found.isEmpty()) { + return found.first(); + } + + // give up + return undefined; +} + +// added by MP +function findOrCreateConnector(source, target) { + var found1 = findConnector(source, target); + if (found1) { + return found1; + } + var found2 = findConnector(target, source); + if (found2) { + return found2; + } + + // create one + var created = Factory.createRelation(source, target, Metamodel.sysml.SysMLConnector); + + //created.name = name; + return created; +} + +// added by MP +function findConnector(source, target) { + // search through all connector (ends) + var ends = source.end.toArray(); + for (var i = 0; i < ends.length; i++) { + var end = ends[i]; + var conn = end.theConnector; + // we assume that conn.theConnectorEnd.get(0).role == source + if (conn.theConnectorEnd.get(1).role == target) { + return conn; // found it + } + } + + // give up + return undefined; +} + +// helper added by GG 2021-10-19 +function findChecklist(scope, name) { + if (!scope) { + console.error("Scope is undefined in findChecklist!"); + return undefined; + } + + var found = Global.getFinder(scope).findByType(Metamodel.checklist.Checklist, true) + .find("name", name); + + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + + return undefined; +} + +// helper added by GG 2021-10-19 +function findOrCreateChecklist(scope, name) { + var found = findChecklist(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.checklist.Checklist); + created.typeCode = "checklist"; + created.name = name; + return created; +} + +// helper added by GG 2021-10-19 +function findChecklistItem(scope, name) { + if (!scope) { + console.error("Scope is undefined in findChecklistItem!"); + return undefined; + } + + var found = Global.getFinder(scope).findByType(Metamodel.checklist.StaticChecklistItem, true) + .find("name", name); + + if (!found.isEmpty()) { + // first() since 3.0.2 + return found.first(); + } + + return undefined; +} + +// helper added by GG 2021-10-19 +function findOrCreateChecklistItem(scope, name) { + var found = findChecklistItem(scope, name); + if (found) { + return found; + } + + // create one + var created = Factory.createElement(scope, Metamodel.checklist.ChecklistItem); + created.name = name; + return created; +} + +/** + * Returns the project modle root ({@link MediniProject}) for + * any {@link EObject}, or undefined if element + * is null or undefined or is not contained in any project. + * + * @param {EObject} element the model element + * @return {MediniProject} the root object of the project model + * or undefined + */ +function findProjectModel(element) { + return MediniProjectModelUtil.getMediniProject(element); +} + diff --git a/FUSA_BMS_N_Category/config/scripts/.lib/ui.js b/FUSA_BMS_N_Category/config/scripts/.lib/ui.js new file mode 100644 index 0000000..46eba4b --- /dev/null +++ b/FUSA_BMS_N_Category/config/scripts/.lib/ui.js @@ -0,0 +1,458 @@ +/* + * Copyright 2016-2024 ANSYS, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of + * the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS + * OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * v2024-03-27 - fixed glitch in default y value in drop to diagram function + * v2022-12-01 - added functions to drop elements to diagrams + * v2022-11-18 - added functions to show in internal/external browser + * v2020-11-22 - extended selectElement by check / uncheck all tool for multi selection + * v2020-05-20 - extended selectElement by description and pre-selection + * v2019-03-20 - fixed glitch in openDirectory, improved alertWithAbortOption + * v2018-08-28 - alertWithToggle and alertWithAbortOption added + * v2018-07-17 - copyToClipboard and copyFromClipboard added + * v2018-04-12 - openDirectory added + * v2016-11-14 - initial version + */ +if (!bind) { + throw "This script requires extended API"; +} + +// bind UI utility (NOT OFFICIAL API YET) +var UI = bind("de.ikv.medini.util.eclipse", "de.ikv.medini.util.eclipse.MediniUIUtil", false); +var AnalyzeUI = bind("de.ikv.analyze.ui.common", "de.ikv.analyze.ui.common.util.AnalyzeUIUtil", false); +var Dialogs = bind("de.ikv.medini.util.eclipse", "de.ikv.medini.util.eclipse.dialogs.MediniDialogUtil", false); +var SelectElementTreeDialog = bind("de.ikv.medini.cockpit.ui", "de.ikv.medini.cockpit.ui.dialogs.SelectModelElementTreeDialog", false); +var SWT = bind("org.eclipse.swt", "org.eclipse.swt.SWT", false); +var SWTPoint = bind("org.eclipse.swt", "org.eclipse.swt.graphics.Point", false); +var SWTButton = bind("org.eclipse.swt", "org.eclipse.swt.widgets.Button", false); +var DirectoryDialog = bind("org.eclipse.swt", "org.eclipse.swt.widgets.DirectoryDialog", false); +var InputDialog = bind("org.eclipse.jface", "org.eclipse.jface.dialogs.InputDialog", false); +var StructuredSelection = bind("org.eclipse.jface", "org.eclipse.jface.viewers.StructuredSelection", false); +var ArrayTreeContentProvider = bind("de.ikv.medini.util.eclipse", "de.ikv.medini.util.eclipse.jface.viewers.ArrayTreeContentProvider", false); +var VanillaAction = bind("de.ikv.medini.util.eclipse", "de.ikv.medini.util.eclipse.jface.action.VanillaAction", false); +var WidgetUtil = bind("de.ikv.medini.util.swt", "de.ikv.medini.util.swt.widgets.WidgetUtil", false); +var ScopedPreferenceStore = bind("org.eclipse.ui.workbench", "org.eclipse.ui.preferences.ScopedPreferenceStore", false); +var InstanceScope = bind("org.eclipse.equinox.preferences", "org.eclipse.core.runtime.preferences.InstanceScope", false); +var BasicEList = bind("org.eclipse.emf.common", "org.eclipse.emf.common.util.BasicEList", false); + +function openFile(extensions) { + var fileName = undefined; + UI.execute(function select(monitor) { + var shell = UI.getWorkbenchWindowShell(); + fileName = Dialogs.openFileDialog(shell, SWT.OPEN, extensions); + }); + + if (fileName) { + return new java.io.File(fileName); + } + return undefined; +} + +/** + * Open the directory dialog. + * + * @param message + * {String} the dialog's message, which is a description of the + * purpose for which it was opened + * @param initialPath + * {String} the path that the dialog will select initially + * @returns {java.io.File} the selected path or undefined + */ +function openDirectory(message, initialPath) { + var dirName = undefined; + UI.execute(function select(monitor) { + var shell = UI.getWorkbenchWindowShell(); + var dialog = new DirectoryDialog(shell); + if (message) { + dialog.setMessage(message); + } + if (initialPath) { + dialog.setFilterPath(initialPath); + } + dirName = Dialogs.openDirectoryDialog(dialog); + }); + + if (dirName) { + return new java.io.File(dirName.trim()); + } + return undefined; +} + +/** + * Opens the editor for the given semantic element. + * + * @param {EObject} + * semanticElement + * @param {Number} + * delay the delay in milliseconds before the editor opens (optional) + */ +function openEditor(semanticElement, delay) { + var openFunc = function open(monitor) { + AnalyzeUI.INSTANCE.openEditorForSemanticElement(semanticElement, true, + false, false, true); + }; + + if (delay != undefined) { + UI.executeDelayed(delay, openFunc); + } else { + UI.executeNonBlocking(openFunc); + } +} + +/* + * It is rather difficult to decide whether a given object + * is an array with Rhino. + */ +function isArray(object) { + if (object == undefined) { + return false; + } + if (typeof object != "object") { + return false; + } + if (object.length == undefined) { + return false; + } + if (typeof object.length != "number") { + return false; + } + + return true; +} + +/** + * Opens an element selection dialog, either single selection or multi-selection. + * An optional root element can be passed. + * + * @param {String} title + * @param {EClass} type + * @param {Boolean} multiple + * @param {Object} root + * @param {String} description (optional) + * @param {Array} preSelection (optional) + * @returns a single object or an array of objects or undefined + */ +function selectElement(title, type, multiple, root, description, preSelection) { + var selected = undefined; + UI.execute(function select(monitor) { + var shell = UI.getWorkbenchWindowShell(); + var dialog = new SelectElementTreeDialog(shell, title, type, multiple); + AnalyzeUI.INSTANCE.preparate(dialog); + dialog.setStyle(SelectElementTreeDialog.CHECKBOX); + if (multiple) { + dialog.setStyle(SelectElementTreeDialog.TOOLBAR_CHECK_ALL); + dialog.setStyle(SelectElementTreeDialog.TOOLBAR_UNCHECK_ALL); + dialog.setStyle(SelectElementTreeDialog.PROPAGATE_CHECKED_STATE); + } + // new since 05-2020 + if (description) { + dialog.setDescription(description); + } + // new since 05-2020 + if (preSelection) { + // the dialog only access EObject arrays or collections + var list = new BasicEList(); + preSelection.forEach(function (p) { list.add(p); }); + dialog.setInitiallySelectedObjects(list); + } + // use global variable "project" as input if none was defined + if (root == undefined) { + root = finder.getProject(); + } else if (isArray(root)) { + dialog.setTreeContentProvider(new ArrayTreeContentProvider()); + dialog.clearStyle(1 << 12); // <- filter does not work in this case + } + dialog.setTreeInput(root); + var result = Dialogs.openDialog(dialog); + + if (result == 0) { // Window.OK = 0 + selected = dialog.getSelectedModelElements(); + if (!multiple) { + selected = selected[0]; + // FIXME This should be normally done by the dialog already, why isn't? + if (selected.prototype == Metamodel.projectmodel.PJProxyModel) { + selected = selected.originalModel; + } + } + } + }); + + return selected; +} + +/* + * Input filter which accepts all. + */ +function acceptAll(input) { + return null; +} + +function inputText(title, message, initialValue, validator) { + var selected = undefined; + if (validator == undefined) { + validator = acceptAll; + } + UI.execute(function select(monitor) { + var shell = UI.getWorkbenchWindowShell(); + var dialog = new InputDialog(shell, title, message, initialValue, + validator); + var result = dialog.open(); + if (result == 0) { // Window.OK = 0 + selected = dialog.getValue(); + } + }); + + return selected; +} + +/** + * Opens an option dialog with a message and buttons for each option. + * + * @param {String} title + * @param {String} message + * @param [{String}] options an array of strings aka options + * @returns the index of the selected option or -1 (cancel) + */ +function selectOption(title, message, buttons) { + // API says: "can be called from any thread" but not true + // TODO assert that buttons is an array + var selected = -1; + UI.execute(function select(monitor) { + selected = UI.displayQuestion(title, message, buttons); + }); + + return selected; +} + +function runHandler(handler, object, label) { + // use a vanilla action to satisfy the handler + var action = new VanillaAction(label); + // we have to run in UI thread + UI.execute(function run(monitor) { + // simulate a selection + handler.selectionChanged(action, new StructuredSelection(object)); + handler.run(action); + }); +} + +function setHandlerSelection(handler, object, label) { + // use a vanilla action to satisfy the handler + var action = new VanillaAction(label ? label : "set selection"); + handler.selectionChanged(action, new StructuredSelection(object)); +} + +/** + * Helper to fill the text into the system Clipboard. + * + * @param {String} + * text to copy to the Clipboard + * + */ +function copyToClipboard(text) { + var toolkit = java.awt.Toolkit.getDefaultToolkit(); + var clipboard = toolkit.getSystemClipboard(); + var transfer = new java.awt.datatransfer.StringSelection(text); + clipboard.setContents(transfer, null); +} + +/** + * Helper to extract text from the system Clipboard. + * + * @return {String} text if the Clipboard contains text, otherwise the result is + * undefined + */ +function copyFromClipboard() { + var toolkit = java.awt.Toolkit.getDefaultToolkit(); + var clipboard = toolkit.getSystemClipboard(); + return clipboard.getData(java.awt.datatransfer.DataFlavor.stringFlavor); +} + +/** + * Opens a message dialog similar to "alert" but with a typical "Do not show + * again" toggle. + * + * @param {String} + * message + * @param {Object} + * an optional object (map) that holds information on kind, title + * @returns 0 (OK) or 1 (CANCEL) + */ +function alertWithToggle(message, options) { + if (options == undefined) { + options = {}; + } + var kind = options["kind"]; + var title = options["title"]; + var toggleMessage = options["toggleMessage"]; + var bundleName = options["bundleName"]; + var key = options["key"]; + var style = options["style"]; + + if (kind == undefined) { + kind = 2; // INFO + } + if (title == undefined) { + title = "Alert"; + } + if (toggleMessage == undefined) { + toggleMessage = "Do not show this message again"; + } + if (bundleName == undefined) { + bundleName = "de.ikv.medini.util.eclipse"; + } + if (key == undefined) { + key = message; + } + if (style == undefined) { + style = SWT.NONE; + } + + var store = new ScopedPreferenceStore(InstanceScope.INSTANCE, bundleName); + var selected = undefined; + UI.execute(function select(monitor) { + var shell = UI.getWorkbenchWindowShell(); + selected = Dialogs.openDialogWithDontShowAgainToggle(kind, shell, title, message, toggleMessage, store, key, style); + store.save(); + }); + + return selected; +} + +/** + * Opens a message dialog similar to "alert" but allows the user to choose + * whether or not to abort the program completely. Returns true + * if "Abort" and false if "Continue" has been selected. + * Note: It is up to the caller to evaluate this and abort the program, + * if the user has opted so. + * + * @param {String} + * title the dialog title + * @param {String} + * message the message + * @returns false if the user has selected to continue, + * true if the user has selected to abort + */ +function alertWithAbortOption(title, message) { + var selected = selectOption(title, message , [ "Continue", "Abort" ]); + if (selected == 1) { + return true; + } else { + return false; + } +} + +/** + * Opens a given object in the external browser. The following types are + * supported: java.io.File and string. + * + * @param object URL string or File object + */ +function openInExternalBrowser(object) { + if (object instanceof java.io.File) { + object = object.toURL(); + } + var url = '' + object; // make a string out of it + AnalyzeUI.INSTANCE.openInExternalBrowser(url); +} + +/** + * Opens a given object in the internal browser. The following types are + * supported: java.io.File and string. + * + * @param object URL string or File object + * @param id optional unique id of this browser window, default is 'OpenInInternalBrowser' + * @param name optional window name + * @param name optional window tooltip + */ +function openInInternalBrowser(object, id, name, tooltip) { + if (object instanceof java.io.File) { + object = object.toURL(); + } + var url = '' + object; // make a string out of it + var AS_VIEW = 64; // 1 << 6 + var STATUS = 8; // 1 << 3 + var NAVIGATION_BAR = 4; // 1 << 2 + var style = AS_VIEW; // + STATUS + NAVIGATION_BAR; + + // MUST be executed in UI thread + UI.execute(function select(monitor) { + var /* IWorkbenchBrowserSupport */ support = UI.getWorkbench().getBrowserSupport(); + console.log("Internal available: {0}", support.internalWebBrowserAvailable); + var /* IWebBrowser */ browser = + support.createBrowser(style, id != null ? id : "OpenInInternalBrowser", + name != null ? name : "Internal Browser", tooltip); + browser.openURL(new java.net.URL(url)); + }); +} + +/** + * Drops objects on a given diagram using an offset edit part + * + * @param objectsBeingDropped + * an arrays of dropped objects + * @param extendedData + * an optional map providing extended request data (may be null) + * @param diagram + * the diagram onto which the objects have been dropped + * @param x + * the location where the objects has been dropped + * @param y + * the location where the objects has been dropped + * @param operation + * the drop operation (2 = {@link DND#DROP_MOVE}, {1 = @link DND#DROP_COPY}, or {4 = @link DND#DROP_LINK}} + */ +function dropObjectsToDiagram(objectsBeingDropped, extendedData, /* PJDiagram */ diagram, x, y, /* int */ operation) { + + var OffscreenEditPartFactory = bind("org.eclipse.gmf.runtime.diagram.ui", "org.eclipse.gmf.runtime.diagram.ui.OffscreenEditPartFactory", false); + var DropObjectsRequest = bind("org.eclipse.gmf.runtime.diagram.ui", "org.eclipse.gmf.runtime.diagram.ui.requests.DropObjectsRequest", false); + var Point = bind("org.eclipse.draw2d", "org.eclipse.draw2d.geometry.Point", false); + + UI.execute(function select(monitor) { + var shell = UI.getWorkbenchWindowShell(); + var /* EditPartViewer */ viewer = + OffscreenEditPartFactory.getInstance().createDiagramEditPart(diagram.diagram, shell).getViewer(); + + if (operation == undefined) { + operation = 2; + } + if (x == undefined) { + x = 50; + } + if (y == undefined) { + y = 50; + } + var request = new DropObjectsRequest(); + + request.setObjects(objectsBeingDropped); + request.setRequiredDetail(operation); + request.setAllowedDetail(operation); + if (extendedData != null) { + request.getExtendedData().putAll(extendedData); + } + /* Point */ var location = new Point(x, y); + request.setLocation(location); + + /* EditPart */ targetEP = viewer.contents.getTargetEditPart(request); + if (targetEP != null) { + var command = targetEP.getCommand(request); + if ((command != null) && command.canExecute()) { + var stack = viewer.getDiagramEditDomain().getDiagramCommandStack(); + stack.execute(command); + // flush pending UI events and asynchronous requests + UI.flushEventQueue(); + } + } + }); +} diff --git a/FUSA_BMS_N_Category/config/scripts/HWLibrary_and_Models/Restructure HW Model.js b/FUSA_BMS_N_Category/config/scripts/HWLibrary_and_Models/Restructure HW Model.js new file mode 100644 index 0000000..f73f90a --- /dev/null +++ b/FUSA_BMS_N_Category/config/scripts/HWLibrary_and_Models/Restructure HW Model.js @@ -0,0 +1,154 @@ +//$EXPERIMENTAL$ $ENHANCED_CONTAINMENT_ACCESS$ +/* +* © 2022 ANSYS Inc. +* +* THE NON STANDARD SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE NON STANDARD SOFTWARE OR THE USE OR OTHER DEALINGS +* IN THE NON STANDARD SOFTWARE. +* +*/ +/* + * This script expects a SysML model (i.e. with HW parts as a result of import/update from Excel) + * The elements of the model have an annotation indicating the package or path to the package to which they belong (by default stored in a user defined property 'user_circuit_block' ) + * The script will create appropriate containers or a full heirarchy and will move all elements to the containers they belong to. + * Organizing the model to folders instead of container components is availabel on user demand + */ +load("~/.lib/finderEx.js"); +load("~/.lib/factory.js"); +load("~/.lib/ui.js"); + + +//name of the container or container path for the element - adapt according to data model +var NAME_VARIABLE = "user_circuit_block"; +//separator for full path names - adapt according to data model +var SEPARATOR = "/"; + +//log a lot of verbose messages to the console +var verbose = false; + +//marker that console may contain important information +var reviewConsole = true; + +//indicate whether packages or components shall be used for the structure +var usePackages = true; + +/** + * Returns true if the given element has a variable with name + * NAME_VARIABLE and this variable has a value. + * + * @param element + * a system element + */ +function hasVariableSet(element) { + if (!element) { + return false; + } + if (!element[NAME_VARIABLE]) { + return false; + } + if (element[NAME_VARIABLE]==""){ + return false; + } + return true; +} + +/** + * Arrange the given element, i.e. move it to a container that is addressed by its + * HW block. + * + * @param element + * the element to move + * @param scope + * the selected model + */ +function arrange(element, theContainer) { + element.the_owner = theContainer; + if(!element.typeCode || element.typeCode =="") + element.typeCode = "Hardware Part" +} + +/** + * Main entry point of the script. + */ +function main() { + var selected = selectOption( + "Restructure HW Architecture", + "This script will create a structure for the selected hardware model and move all parts into the appropriate containers.\n\n" + + "It expects the container name of a part to be stored in the property " + NAME_VARIABLE +" with \"" +SEPARATOR+ "\" as separator in case of a full path names." + + "\n\nPlease select whether folders or components hall be used as container.", + [ "Component", "Folder", "Cancel" ]); + if (selected == 2) { + alert("No changes have been made."); + return; + } + usePackages = (selected == 1); + // check the selection - this script must be run on a single SysML model + var scope = finder; + if (!selection || (selection && selection.length > 1) + || selection[0].prototype != Metamodel.sysml.SysMLContainerPackage) { + alert( "Please select a single system model"); return; + } +// un-comment the next two lines in case the usage of the script shall be restricted to a full architecture model only +// if (selection[0].mediniGetContainer() != undefined) { +// alert( "No or invalid selection - please select a single system model"); return; +// } + if (selection && selection.length == 1) { + scope = Global.getFinder(selection[0]); + if (verbose) { + console.log("Scope changed to selected element"); + } + } + var children = scope.findByType(Metamodel.sysml.SysMLPart, true).filter( + hasVariableSet).asArray(); + if (verbose) { + console.log("{0} parts with target folder name found", children.length); + } + if (!children || !children.length) { + alert( "There are no elements with appropriate circuit block information in the selected scope"); return; + } + // + progressMonitor.beginTask("Re-arranging elements", children.length); + // Collect all circuit block names and sort elements accordingly + children.sort(function(a, b){ + var x = a[NAME_VARIABLE]; + var y = b[NAME_VARIABLE]; + if (x < y) { return -1;} + if (x > y) {return 1; } + return 0; + }); + for (var i = 0; i < children.length; i++) { + var c = children[i]; + if (verbose) { + console.log("Sorting entry #{0} {1}", i, c.name); + console.log("Package {0}", c[NAME_VARIABLE]); + }; + var split_names = c[NAME_VARIABLE].split(SEPARATOR); + var target = selection[0]; + for(var j in split_names){ + if(split_names[j]!="" ){ + if (usePackages){ + target = findOrCreateContainerPackage (target, split_names[j]); + } + else{ + target = findOrCreatePart(target,split_names[j]); + target.typeCode = "Component"; + } + } + } + if (verbose) { + console.log("Moving {0} to {1}", c.name, c[NAME_VARIABLE]); + }; + arrange(c, target); + progressMonitor.worked(1); + } + var message = "The script run without critical problems."; + if (reviewConsole) { + message += " Note: However, a few details have been logged to the console. You may check the script console for more information."; + } + alert( message); + progressMonitor.done(); + return +} + +main(); \ No newline at end of file diff --git a/FUSA_BMS_N_Category/config/scripts/HWLibrary_and_Models/UpdateSMCoverageInDCSheet.js b/FUSA_BMS_N_Category/config/scripts/HWLibrary_and_Models/UpdateSMCoverageInDCSheet.js new file mode 100644 index 0000000..a1e09b5 --- /dev/null +++ b/FUSA_BMS_N_Category/config/scripts/HWLibrary_and_Models/UpdateSMCoverageInDCSheet.js @@ -0,0 +1,159 @@ +//$EXPERIMENTAL$ $ENHANCED_CONTAINMENT_ACCESS$ +/* +* © 2021 ANSYS Inc. +* +* THE NON STANDARD SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE NON STANDARD SOFTWARE OR THE USE OR OTHER DEALINGS +* IN THE NON STANDARD SOFTWARE. +* +*/ +/* + * + * This script updates the diagnostic coverage values for SPF and LF Safety mechanisms in the selected DC Worksheet + * The values will be taken from the Safety Mechanism Collection(s). A strategy may be applied for multiple assigned safety mechanisms. + * Current implemented combination strategies are: + * Minimum - smallest coverage value of all non-filtered and activated safety mechanisms + * Maximum - largest coverage value of all non-filtered and activated safety mechanisms + * OR Combined - combines all coverage values of all non-filtered and activated safety mechanisms using the OR-Probability calculation + * Set to 0 - sets the dc value for failure modes with multiple non-filtered and activated safety mechanisms to zero + * The script will check whether an property "activated" is defined for the Safety Mechanism and takes into account only the activated mechanisms. + * The profile property activated shall have the values "YES" and "NO", the fault assumption is YES (in case no variable is defined or no value is given) + * + */ +load("~/.lib/ui.js"); + +// name of the activation indication property - adapt according to data model +// Note: Do not use "active" as that is already a system defined attribute +var NAME_VARIABLE = "user_activated_"; + +// +var strategy = -1; + +/** + * Returns false if the given element has a variable with name + * NAME_VARIABLE and this variable has the value "NO". + * + * @param element + * a system element + */ +function isActivated(element) { + if (!element) { + return true; + } + if (!element[NAME_VARIABLE]) { + return true; + } + if (element[NAME_VARIABLE] == "NO") { + return false; + } + return true; +} + +function determine_coverage(sm_list, dc_kind) { + if (!sm_list || (sm_list && sm_list.size() == 0)) { + return 0; + } + var dc_Array = new Array(); + for (var i = 0; i < sm_list.size(); i++) { + if (isActivated(sm_list.get(i))) { + + if (dc_kind == 0) {//SPF + dc_Array.push(sm_list.get(i).spfPercentage); + } else + if(dc_kind ==1 ){//LF + dc_Array.push(sm_list.get(i).lfPercentage); + } else + if(dc_kind ==2 ){//TSF + dc_Array.push(sm_list.get(i).spfTransientPercentage); + } else + if(dc_kind ==3 ){//TLF + dc_Array.push(sm_list.get(i).lfTransientPercentage); + } + } + } + if (dc_Array.length == 0) { + return 0; + } + if (dc_Array.length ==1){ + return dc_Array[0]; + } + if (dc_Array.length > 1) { + dc_Array.sort(function(a, b) { + return b - a; + }); + }; + if (strategy == 0) { // MAX + return dc_Array[0]; + } else if (strategy == 1) { // MIN + return dc_Array[dc_Array.length - 1]; + } else if (strategy == 2) { // OR Combine + return andCombine(dc_Array); + } + else return 0; //Set-to-0 +} +function andCombine(theArray) { + if (theArray.length == 1) { + return theArray[0]; + } + var result = 1; + for (var i = 0; i < theArray.length; i++) { + result = result * (1 - theArray[i] * 0.01); + } + return 100 * (1 - result); +} +/** + * Main entry point of the script. + */ +function main() { + // check the selection - this script must be run on a DC Worksheet + var scope = finder; + if (!selection || (selection && selection.length > 1) + || selection[0].prototype != Metamodel.dc.DCWorksheet) { + alert("Please select a single DC Worksheet"); + return; + } + if (selection[0].mediniGetContainer() != undefined) { + alert("No or invalid selection - please select a single DC Worksheet"); + return; + } + if (selection && selection.length == 1) { + scope = Global.getFinder(selection[0]); + } + strategy = selectOption( + "Strategy for the combination of multiple assigned safety mechanisms", + "Please select a strategy", [ "Maximum", "Minimum", "OR-Combined", + "Set to 0" ]); + if (strategy < 0 || strategy > 3) { + alert("No or invalid strategy selected"); + return; + } + var failureModes = scope.findByType(Metamodel.dc.DCFailureModeEntry, true).asList(); + if (!failureModes || !failureModes.size()) { + alert("There are no failure modes in the worksheet"); + return; + } + + progressMonitor.beginTask("Updating Diagnostic Coverage values",failureModes.size()); + + for (var i = 0; i < failureModes.size(); i++) { + var fm = failureModes.get(i); + var spf_sm = fm.allSpfSafetyMechanismsApplicable ? fm.element.spfSafetyMechanisms + : fm.spfSafetyMechanisms; + var lf_sm = fm.allLmpfSafetyMechanismsApplicable ? fm.element.mpfSafetyMechanisms + : fm.lmpfSafetyMechanisms; + if(!fm.transient){ + fm.spfCoverage = java.math.BigDecimal(determine_coverage(spf_sm, 0)); + fm.lmpfCoverage = java.math.BigDecimal(determine_coverage(lf_sm, 1)); + } + else { + fm.spfCoverage = java.math.BigDecimal(determine_coverage(spf_sm, 2)); + fm.lmpfCoverage = java.math.BigDecimal(determine_coverage(lf_sm, 3)); + } + progressMonitor.worked(1); + }; + progressMonitor.done(); + return; +} + +main(); \ No newline at end of file diff --git a/FUSA_BMS_N_Category/config/scripts/Renumbering/Renumber FTA Events.js b/FUSA_BMS_N_Category/config/scripts/Renumbering/Renumber FTA Events.js new file mode 100644 index 0000000..f0535b6 --- /dev/null +++ b/FUSA_BMS_N_Category/config/scripts/Renumbering/Renumber FTA Events.js @@ -0,0 +1,49 @@ +//$EXPERIMENTAL$ $ENHANCED_CONTAINMENT_ACCESS$ +/* + * © 2021 ANSYS Inc. + * + * THE NON STANDARD SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE NON STANDARD SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE NON STANDARD SOFTWARE. + * + */ + +//Rename FTA events within a selected Fault Tree +load("~/.lib/ui.js"); +alert("This script will renumber all events found in the selected FTA. Use undo if you are not satisfied with the result. Note that the script is provided AS-IS and without any warranty."); +//lets check the selection first - it must be a single FTA model +if (!selection || selection.length != 1 + || selection[0].prototype != Metamodel.FTA.FTAModel) { + // TODO: Check whether selection is a SysML model + throw "No or invalid selection - please select a single FTA model"; +} +if (selection[0].mediniGetContainer() != undefined) { + throw "No or invalid selection - please select a single FTA model"; +} +var PREFIX =""; +PREFIX = inputText("Event Prefix", "Please enter a prefix that shall be used for all events of this FTA model\nIf no prefix is given, all events will get a generic new unique ID", "E") +//find all parts in the model +var events = Global.getFinder(selection[0]).findByType( + Metamodel.FTA.Event, false).asList(); +if (events.isEmpty()) { + throw "The model contains no events"; +} + +//rearrange to native array so we can use nice Java Script methods +var eventArray = new Array(); +for (var i = 0; i < events.size(); i++) { + eventArray.push(events.get(i)); +}; +//now sort them based on the existing ID +eventArray.sort(function(e1, e2) { + return parseInt(e1.id.substring(1)) - parseInt(e2.id.substring(1)); +}); + +// now give them a new unique ID +for (var j = 0; j Preferences > General > Project Templates"). The project can also be loaded to the list of available templates from the menu Help > Examples. + +2. To get started double-click on the "Getting-Started"-Tasklist in the Model Browser and follow the steps explained there. + +3. Note: The BestPracticesTemplate is always being adjusted to new releases of medini. After upgrading to a new version of medini also check whether a new version of the BestPracticesTemplate is available. + +# Disclaimer +Read the separate LICENSE.txt diff --git a/FUSA_BMS_N_Category/failures/_$Hazards$_RzcHQaljEeCaHInwqwM1Vg.failures b/FUSA_BMS_N_Category/failures/_$Hazards$_RzcHQaljEeCaHInwqwM1Vg.failures new file mode 100644 index 0000000..73a8fd3 --- /dev/null +++ b/FUSA_BMS_N_Category/failures/_$Hazards$_RzcHQaljEeCaHInwqwM1Vg.failures @@ -0,0 +1,4 @@ + + + + diff --git a/FUSA_BMS_N_Category/failures/_$Hazards$_RzcHQaljEeCaHInwqwM1Vg_failures0.layout b/FUSA_BMS_N_Category/failures/_$Hazards$_RzcHQaljEeCaHInwqwM1Vg_failures0.layout new file mode 100644 index 0000000..93b678f --- /dev/null +++ b/FUSA_BMS_N_Category/failures/_$Hazards$_RzcHQaljEeCaHInwqwM1Vg_failures0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw.safetygoal b/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw.safetygoal new file mode 100644 index 0000000..b5e10a6 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw.safetygoal @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw_sg0.layout b/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw_sg0.layout new file mode 100644 index 0000000..c59f6ae --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw_sg0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw_sr0.layout b/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw_sr0.layout new file mode 100644 index 0000000..0c3efd8 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw_sr0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw_sr2_0.layout b/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw_sr2_0.layout new file mode 100644 index 0000000..ebaf53f --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_qdRrgHVYEeSHJr9dJxG-Iw_sr2_0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_qh0NQHVYEeSHJr9dJxG-Iw.safegoal_diagram b/FUSA_BMS_N_Category/goals/_qh0NQHVYEeSHJr9dJxG-Iw.safegoal_diagram new file mode 100644 index 0000000..6b7b960 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_qh0NQHVYEeSHJr9dJxG-Iw.safegoal_diagram @@ -0,0 +1,5 @@ + + + + + diff --git a/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw.safetygoal b/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw.safetygoal new file mode 100644 index 0000000..da8884a --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw.safetygoal @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw_sg0.layout b/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw_sg0.layout new file mode 100644 index 0000000..e2609c9 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw_sg0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw_sr0.layout b/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw_sr0.layout new file mode 100644 index 0000000..18b3df4 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw_sr0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw_sr2_0.layout b/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw_sr2_0.layout new file mode 100644 index 0000000..d437033 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_wCDisHVYEeSHJr9dJxG-Iw_sr2_0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_wCV2kXVYEeSHJr9dJxG-Iw.safegoal_diagram b/FUSA_BMS_N_Category/goals/_wCV2kXVYEeSHJr9dJxG-Iw.safegoal_diagram new file mode 100644 index 0000000..04fee6b --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_wCV2kXVYEeSHJr9dJxG-Iw.safegoal_diagram @@ -0,0 +1,5 @@ + + + + + diff --git a/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw.safetygoal b/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw.safetygoal new file mode 100644 index 0000000..fde24f8 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw.safetygoal @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw_sg0.layout b/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw_sg0.layout new file mode 100644 index 0000000..88389c7 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw_sg0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw_sr0.layout b/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw_sr0.layout new file mode 100644 index 0000000..1a830d5 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw_sr0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw_sr2_0.layout b/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw_sr2_0.layout new file mode 100644 index 0000000..e39746f --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zGRBwLryEeG74PAEAJO_Uw_sr2_0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_zI8iUbryEeG74PAEAJO_Uw.safegoal_diagram b/FUSA_BMS_N_Category/goals/_zI8iUbryEeG74PAEAJO_Uw.safegoal_diagram new file mode 100644 index 0000000..0e5194c --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zI8iUbryEeG74PAEAJO_Uw.safegoal_diagram @@ -0,0 +1,5 @@ + + + + + diff --git a/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw.safetygoal b/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw.safetygoal new file mode 100644 index 0000000..a7ef5ad --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw.safetygoal @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw_sg0.layout b/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw_sg0.layout new file mode 100644 index 0000000..b4d61cd --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw_sg0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw_sr0.layout b/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw_sr0.layout new file mode 100644 index 0000000..b1a1bf1 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw_sr0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw_sr2_0.layout b/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw_sr2_0.layout new file mode 100644 index 0000000..5aef34c --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zRvx0HVYEeSHJr9dJxG-Iw_sr2_0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/goals/_zSCFsXVYEeSHJr9dJxG-Iw.safegoal_diagram b/FUSA_BMS_N_Category/goals/_zSCFsXVYEeSHJr9dJxG-Iw.safegoal_diagram new file mode 100644 index 0000000..800a774 --- /dev/null +++ b/FUSA_BMS_N_Category/goals/_zSCFsXVYEeSHJr9dJxG-Iw.safegoal_diagram @@ -0,0 +1,5 @@ + + + + + diff --git a/FUSA_BMS_N_Category/hazop/_f8868EIEEei-Ya3WcufpeA.hazop_def b/FUSA_BMS_N_Category/hazop/_f8868EIEEei-Ya3WcufpeA.hazop_def new file mode 100644 index 0000000..9badb7d --- /dev/null +++ b/FUSA_BMS_N_Category/hazop/_f8868EIEEei-Ya3WcufpeA.hazop_def @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/hazop/_f8868EIEEei-Ya3WcufpeA_hazop_review0.layout b/FUSA_BMS_N_Category/hazop/_f8868EIEEei-Ya3WcufpeA_hazop_review0.layout new file mode 100644 index 0000000..865a6f2 --- /dev/null +++ b/FUSA_BMS_N_Category/hazop/_f8868EIEEei-Ya3WcufpeA_hazop_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/hazop/_voowsEIEEei-Ya3WcufpeA.hazop_def b/FUSA_BMS_N_Category/hazop/_voowsEIEEei-Ya3WcufpeA.hazop_def new file mode 100644 index 0000000..94705a2 --- /dev/null +++ b/FUSA_BMS_N_Category/hazop/_voowsEIEEei-Ya3WcufpeA.hazop_def @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/FUSA_BMS_N_Category/hazop/_voowsEIEEei-Ya3WcufpeA_hazop_review0.layout b/FUSA_BMS_N_Category/hazop/_voowsEIEEei-Ya3WcufpeA_hazop_review0.layout new file mode 100644 index 0000000..587a44f --- /dev/null +++ b/FUSA_BMS_N_Category/hazop/_voowsEIEEei-Ya3WcufpeA_hazop_review0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g.ha b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g.ha new file mode 100644 index 0000000..af6be28 --- /dev/null +++ b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g.ha @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha0.layout b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha0.layout new file mode 100644 index 0000000..ef74c05 --- /dev/null +++ b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha1.layout b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha1.layout new file mode 100644 index 0000000..c54ac85 --- /dev/null +++ b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha1.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha2.layout b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha2.layout new file mode 100644 index 0000000..b0f7bff --- /dev/null +++ b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha2.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha3.layout b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha3.layout new file mode 100644 index 0000000..83cb833 --- /dev/null +++ b/FUSA_BMS_N_Category/hls/_ET11wCOkEem7IbokExUh5g_ha3.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/items/_t5-VcLb0EeGM6OyJYFJ4eA.item b/FUSA_BMS_N_Category/items/_t5-VcLb0EeGM6OyJYFJ4eA.item new file mode 100644 index 0000000..4e8db95 --- /dev/null +++ b/FUSA_BMS_N_Category/items/_t5-VcLb0EeGM6OyJYFJ4eA.item @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/sysml/_Ap__4Cc8Eea-8YkLqRAPAA.sysml b/FUSA_BMS_N_Category/sysml/_Ap__4Cc8Eea-8YkLqRAPAA.sysml new file mode 100644 index 0000000..ec38f0a --- /dev/null +++ b/FUSA_BMS_N_Category/sysml/_Ap__4Cc8Eea-8YkLqRAPAA.sysml @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/sysml/_Ap__4Cc8Eea-8YkLqRAPAA_sys0.layout b/FUSA_BMS_N_Category/sysml/_Ap__4Cc8Eea-8YkLqRAPAA_sys0.layout new file mode 100644 index 0000000..8bda3f5 --- /dev/null +++ b/FUSA_BMS_N_Category/sysml/_Ap__4Cc8Eea-8YkLqRAPAA_sys0.layout @@ -0,0 +1,2 @@ + + diff --git a/FUSA_BMS_N_Category/sysml/_AqERUCc8Eea-8YkLqRAPAA.sysml_diagram b/FUSA_BMS_N_Category/sysml/_AqERUCc8Eea-8YkLqRAPAA.sysml_diagram new file mode 100644 index 0000000..6af5de4 --- /dev/null +++ b/FUSA_BMS_N_Category/sysml/_AqERUCc8Eea-8YkLqRAPAA.sysml_diagram @@ -0,0 +1,5 @@ + + + + + diff --git a/FUSA_BMS_N_Category/sysml/_NLA9YG3hEeGyZ5eYlZakUA.sysml b/FUSA_BMS_N_Category/sysml/_NLA9YG3hEeGyZ5eYlZakUA.sysml new file mode 100644 index 0000000..387fed2 --- /dev/null +++ b/FUSA_BMS_N_Category/sysml/_NLA9YG3hEeGyZ5eYlZakUA.sysml @@ -0,0 +1,5 @@ + + + + + diff --git a/FUSA_BMS_N_Category/sysml/_NLA9YG3hEeGyZ5eYlZakUA_sys0.layout b/FUSA_BMS_N_Category/sysml/_NLA9YG3hEeGyZ5eYlZakUA_sys0.layout new file mode 100644 index 0000000..9eb3e82 --- /dev/null +++ b/FUSA_BMS_N_Category/sysml/_NLA9YG3hEeGyZ5eYlZakUA_sys0.layout @@ -0,0 +1,2 @@ + +