memo_viewpoints_stakeholders_concerns
SysML API
Namespace hierarchy
memo → memo::viewpoints → memo::viewpoints::stakeholders_concerns
Packages
| Package |
memo_viewpoints_stakeholders_concerns |
Imports
| Visibility |
Target |
| private |
ScalarValues::* |
| private |
memo_core_common::* |
Declarations
| Name |
SysML kind |
Description |
Specializes |
MemoConcern |
concern def |
A concern is an interest in the system held by one or more stakeholders. concern def is the native SysML construct for it; a viewpoint frames the concerns it addresses.… |
— |
SafetyConcern |
concern def |
Safety concern definition specializing MemoConcern. |
MemoConcern |
UsabilityConcern |
concern def |
Usability concern definition specializing MemoConcern. |
MemoConcern |
CybersecurityConcern |
concern def |
Cybersecurity concern definition specializing MemoConcern. |
MemoConcern |
PerformanceConcern |
concern def |
Performance concern definition specializing MemoConcern. |
MemoConcern |
InteroperabilityConcern |
concern def |
Interoperability concern definition specializing MemoConcern. |
MemoConcern |
ReliabilityConcern |
concern def |
Reliability concern definition specializing MemoConcern. |
MemoConcern |
PrivacyConcern |
concern def |
Privacy concern definition specializing MemoConcern. |
MemoConcern |
RegulatoryConcern |
concern def |
Regulatory concern definition specializing MemoConcern. |
MemoConcern |
ClinicalConcern |
concern def |
Clinical concern definition specializing MemoConcern. |
MemoConcern |
MemoQualityAttribute |
part def |
Memo quality attribute definition specializing MemoPart. |
MemoPart |
Availability |
part def |
Availability definition specializing MemoQualityAttribute. |
MemoQualityAttribute |
Performance |
part def |
Performance definition specializing MemoQualityAttribute. |
MemoQualityAttribute |
Security |
part def |
Security definition specializing MemoQualityAttribute. |
MemoQualityAttribute |
Modifiability |
part def |
Modifiability definition specializing MemoQualityAttribute. |
MemoQualityAttribute |
Testability |
part def |
Testability definition specializing MemoQualityAttribute. |
MemoQualityAttribute |
Usability |
part def |
Usability definition specializing MemoQualityAttribute. |
MemoQualityAttribute |
Interoperability |
part def |
Interoperability definition specializing MemoQualityAttribute. |
MemoQualityAttribute |
MemoStakeholder |
part def |
A stakeholder holds concerns. These are the engineering and regulatory roles a viewpoint is written FOR; the clinical actors who operate the device are OperationalParticipants and are a different population.… |
Parts::Part |
SystemArchitect |
part def |
System architect definition specializing MemoStakeholder. |
MemoStakeholder |
SoftwareArchitect |
part def |
Software architect definition specializing MemoStakeholder. |
MemoStakeholder |
HardwareEngineer |
part def |
Hardware engineer definition specializing MemoStakeholder. |
MemoStakeholder |
SafetyEngineer |
part def |
Safety engineer definition specializing MemoStakeholder. |
MemoStakeholder |
VerificationEngineer |
part def |
Verification engineer definition specializing MemoStakeholder. |
MemoStakeholder |
RegulatoryEngineer |
part def |
Regulatory engineer definition specializing MemoStakeholder. |
MemoStakeholder |
ProjectLead |
part def |
Project lead definition specializing MemoStakeholder. |
MemoStakeholder |
SecurityEngineer |
part def |
Security engineer definition specializing MemoStakeholder. |
MemoStakeholder |
PrivacyEngineer |
part def |
Privacy engineer definition specializing MemoStakeholder. |
MemoStakeholder |
ClinicalEngineer |
part def |
Clinical engineer definition specializing MemoStakeholder. |
MemoStakeholder |
UsabilityEngineer |
part def |
Usability engineer definition specializing MemoStakeholder. |
MemoStakeholder |
MemoConcern
abstract concern def MemoConcern
| Property |
Value |
| Description |
A concern is an interest in the system held by one or more stakeholders. concern def is the native SysML construct for it; a viewpoint frames the concerns it addresses.… |
| Kind |
concern def |
| Abstract |
Yes |
| Specializes |
— |
| Owning package |
memo_viewpoints_stakeholders_concerns |
SafetyConcern
concern def SafetyConcern :> MemoConcern
| Property |
Value |
| Description |
Safety concern definition specializing MemoConcern. |
| Kind |
concern def |
| Abstract |
No |
| Specializes |
MemoConcern |
| Owning package |
memo_viewpoints_stakeholders_concerns |
UsabilityConcern
concern def UsabilityConcern :> MemoConcern
| Property |
Value |
| Description |
Usability concern definition specializing MemoConcern. |
| Kind |
concern def |
| Abstract |
No |
| Specializes |
MemoConcern |
| Owning package |
memo_viewpoints_stakeholders_concerns |
CybersecurityConcern
concern def CybersecurityConcern :> MemoConcern
| Property |
Value |
| Description |
Cybersecurity concern definition specializing MemoConcern. |
| Kind |
concern def |
| Abstract |
No |
| Specializes |
MemoConcern |
| Owning package |
memo_viewpoints_stakeholders_concerns |
concern def PerformanceConcern :> MemoConcern
| Property |
Value |
| Description |
Performance concern definition specializing MemoConcern. |
| Kind |
concern def |
| Abstract |
No |
| Specializes |
MemoConcern |
| Owning package |
memo_viewpoints_stakeholders_concerns |
InteroperabilityConcern
concern def InteroperabilityConcern :> MemoConcern
| Property |
Value |
| Description |
Interoperability concern definition specializing MemoConcern. |
| Kind |
concern def |
| Abstract |
No |
| Specializes |
MemoConcern |
| Owning package |
memo_viewpoints_stakeholders_concerns |
ReliabilityConcern
concern def ReliabilityConcern :> MemoConcern
| Property |
Value |
| Description |
Reliability concern definition specializing MemoConcern. |
| Kind |
concern def |
| Abstract |
No |
| Specializes |
MemoConcern |
| Owning package |
memo_viewpoints_stakeholders_concerns |
PrivacyConcern
concern def PrivacyConcern :> MemoConcern
| Property |
Value |
| Description |
Privacy concern definition specializing MemoConcern. |
| Kind |
concern def |
| Abstract |
No |
| Specializes |
MemoConcern |
| Owning package |
memo_viewpoints_stakeholders_concerns |
RegulatoryConcern
concern def RegulatoryConcern :> MemoConcern
| Property |
Value |
| Description |
Regulatory concern definition specializing MemoConcern. |
| Kind |
concern def |
| Abstract |
No |
| Specializes |
MemoConcern |
| Owning package |
memo_viewpoints_stakeholders_concerns |
ClinicalConcern
concern def ClinicalConcern :> MemoConcern
| Property |
Value |
| Description |
Clinical concern definition specializing MemoConcern. |
| Kind |
concern def |
| Abstract |
No |
| Specializes |
MemoConcern |
| Owning package |
memo_viewpoints_stakeholders_concerns |
MemoQualityAttribute
abstract part def MemoQualityAttribute :> MemoPart
| Property |
Value |
| Description |
Memo quality attribute definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
Yes |
| Specializes |
MemoPart |
| Owning package |
memo_viewpoints_stakeholders_concerns |
Availability
part def Availability :> MemoQualityAttribute
| Property |
Value |
| Description |
Availability definition specializing MemoQualityAttribute. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoQualityAttribute |
| Owning package |
memo_viewpoints_stakeholders_concerns |
part def Performance :> MemoQualityAttribute
| Property |
Value |
| Description |
Performance definition specializing MemoQualityAttribute. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoQualityAttribute |
| Owning package |
memo_viewpoints_stakeholders_concerns |
Security
part def Security :> MemoQualityAttribute
| Property |
Value |
| Description |
Security definition specializing MemoQualityAttribute. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoQualityAttribute |
| Owning package |
memo_viewpoints_stakeholders_concerns |
Modifiability
part def Modifiability :> MemoQualityAttribute
| Property |
Value |
| Description |
Modifiability definition specializing MemoQualityAttribute. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoQualityAttribute |
| Owning package |
memo_viewpoints_stakeholders_concerns |
Testability
part def Testability :> MemoQualityAttribute
| Property |
Value |
| Description |
Testability definition specializing MemoQualityAttribute. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoQualityAttribute |
| Owning package |
memo_viewpoints_stakeholders_concerns |
Usability
part def Usability :> MemoQualityAttribute
| Property |
Value |
| Description |
Usability definition specializing MemoQualityAttribute. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoQualityAttribute |
| Owning package |
memo_viewpoints_stakeholders_concerns |
Interoperability
part def Interoperability :> MemoQualityAttribute
| Property |
Value |
| Description |
Interoperability definition specializing MemoQualityAttribute. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoQualityAttribute |
| Owning package |
memo_viewpoints_stakeholders_concerns |
MemoStakeholder
abstract part def MemoStakeholder :> Parts::Part
| Property |
Value |
| Description |
A stakeholder holds concerns. These are the engineering and regulatory roles a viewpoint is written FOR; the clinical actors who operate the device are OperationalParticipants and are a different population.… |
| Kind |
part def |
| Abstract |
Yes |
| Specializes |
Parts::Part |
| Owning package |
memo_viewpoints_stakeholders_concerns |
SystemArchitect
part def SystemArchitect :> MemoStakeholder
| Property |
Value |
| Description |
System architect definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
SoftwareArchitect
part def SoftwareArchitect :> MemoStakeholder
| Property |
Value |
| Description |
Software architect definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
HardwareEngineer
part def HardwareEngineer :> MemoStakeholder
| Property |
Value |
| Description |
Hardware engineer definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
SafetyEngineer
part def SafetyEngineer :> MemoStakeholder
| Property |
Value |
| Description |
Safety engineer definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
VerificationEngineer
part def VerificationEngineer :> MemoStakeholder
| Property |
Value |
| Description |
Verification engineer definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
RegulatoryEngineer
part def RegulatoryEngineer :> MemoStakeholder
| Property |
Value |
| Description |
Regulatory engineer definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
ProjectLead
part def ProjectLead :> MemoStakeholder
| Property |
Value |
| Description |
Project lead definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
SecurityEngineer
part def SecurityEngineer :> MemoStakeholder
| Property |
Value |
| Description |
Security engineer definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
PrivacyEngineer
part def PrivacyEngineer :> MemoStakeholder
| Property |
Value |
| Description |
Privacy engineer definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
ClinicalEngineer
part def ClinicalEngineer :> MemoStakeholder
| Property |
Value |
| Description |
Clinical engineer definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
UsabilityEngineer
part def UsabilityEngineer :> MemoStakeholder
| Property |
Value |
| Description |
Usability engineer definition specializing MemoStakeholder. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoStakeholder |
| Owning package |
memo_viewpoints_stakeholders_concerns |
Source
viewpoints/stakeholders_concerns/memo_stakeholders_concerns.sysml
package memo_viewpoints_stakeholders_concerns {
private import ScalarValues::*;
private import memo_core_common::*;
abstract concern def MemoConcern {
ref memoStakeholders :>> stakeholders : MemoStakeholder[0..*];
}
concern def SafetyConcern :> MemoConcern {
@MemoIdentity { :>> providedId = "CNC-1"; }
attribute name = "Safety";
attribute description = "Freedom from unacceptable risk of harm to the patient, the operator or a bystander.";
}
concern def UsabilityConcern :> MemoConcern {
@MemoIdentity { :>> providedId = "CNC-2"; }
attribute name = "Usability";
attribute description = "Whether the intended user can operate the device correctly under use conditions.";
}
concern def CybersecurityConcern :> MemoConcern {
@MemoIdentity { :>> providedId = "CNC-3"; }
attribute name = "Cybersecurity";
attribute description = "Resistance to compromise of the device, its data, or the network it participates in.";
}
concern def PerformanceConcern :> MemoConcern {
@MemoIdentity { :>> providedId = "CNC-4"; }
attribute name = "Performance";
attribute description = "Timing, throughput and capacity against what the clinical procedure demands.";
}
concern def InteroperabilityConcern :> MemoConcern {
@MemoIdentity { :>> providedId = "CNC-5"; }
attribute name = "Interoperability";
attribute description = "Correct exchange with the equipment and systems the device is used alongside.";
}
concern def ReliabilityConcern :> MemoConcern {
@MemoIdentity { :>> providedId = "CNC-6"; }
attribute name = "Reliability";
attribute description = "Continuity of correct service, and behaviour on failure.";
}
concern def PrivacyConcern :> MemoConcern {
@MemoIdentity { :>> providedId = "CNC-7"; }
attribute name = "Privacy";
attribute description = "Protection of patient and operator data through its lifecycle.";
}
concern def RegulatoryConcern :> MemoConcern {
@MemoIdentity { :>> providedId = "CNC-8"; }
attribute name = "Regulatory";
attribute description = "Evidence a submission requires, and conformance to the standards claimed.";
}
concern def ClinicalConcern :> MemoConcern {
@MemoIdentity { :>> providedId = "CNC-9"; }
attribute name = "Clinical";
attribute description = "Whether the device serves the clinical procedure and its intended use.";
}
abstract part def MemoQualityAttribute :> MemoPart {
ref addressesConcerns : MemoConcern[*];
/** How the property is measured — the response measure of a quality
* attribute scenario, stated once for the attribute. */
attribute measure : String;
}
part def Availability :> MemoQualityAttribute {
@MemoIdentity { :>> providedId = "QA-1"; }
ref :>> addressesConcerns = (safetyConcern, reliabilityConcern, clinicalConcern);
attribute :>> measure = "Proportion of scheduled procedure time the function is delivered, and time to recover after a fault.";
}
part def Performance :> MemoQualityAttribute {
@MemoIdentity { :>> providedId = "QA-2"; }
ref :>> addressesConcerns = (performanceConcern, clinicalConcern);
attribute :>> measure = "Latency and throughput under the arrival pattern the procedure produces.";
}
part def Security :> MemoQualityAttribute {
@MemoIdentity { :>> providedId = "QA-3"; }
ref :>> addressesConcerns = (cybersecurityConcern, privacyConcern, safetyConcern);
attribute :>> measure = "Resistance to a stated threat, and time to detect and recover from a compromise.";
}
part def Modifiability :> MemoQualityAttribute {
@MemoIdentity { :>> providedId = "QA-4"; }
ref :>> addressesConcerns = (regulatoryConcern);
attribute :>> measure = "Cost and blast radius of a stated change, including the re-verification it forces.";
}
part def Testability :> MemoQualityAttribute {
@MemoIdentity { :>> providedId = "QA-5"; }
ref :>> addressesConcerns = (regulatoryConcern, safetyConcern);
attribute :>> measure = "Probability that a fault present is revealed by the next test, and the effort to observe it.";
}
part def Usability :> MemoQualityAttribute {
@MemoIdentity { :>> providedId = "QA-6"; }
ref :>> addressesConcerns = (usabilityConcern, safetyConcern, clinicalConcern);
attribute :>> measure = "Task success and use-error rate for the intended user under use conditions (IEC 62366-1).";
}
part def Interoperability :> MemoQualityAttribute {
@MemoIdentity { :>> providedId = "QA-7"; }
ref :>> addressesConcerns = (interoperabilityConcern, clinicalConcern);
attribute :>> measure = "Proportion of exchanges with a named partner system that are correctly understood.";
}
abstract part def MemoStakeholder :> Parts::Part;
part def SystemArchitect :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-1"; :>> label = "System Architect"; }
}
part def SoftwareArchitect :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-2"; :>> label = "Software Architect"; }
}
part def HardwareEngineer :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-3"; :>> label = "Hardware Engineer"; }
}
part def SafetyEngineer :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-4"; :>> label = "Safety Engineer"; }
}
part def VerificationEngineer :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-5"; :>> label = "Verification Engineer"; }
}
part def RegulatoryEngineer :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-6"; :>> label = "Regulatory Engineer"; }
}
part def ProjectLead :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-7"; :>> label = "Project Lead"; }
}
part def SecurityEngineer :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-8"; :>> label = "Security Engineer"; }
}
part def PrivacyEngineer :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-9"; :>> label = "Privacy Engineer"; }
}
part def ClinicalEngineer :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-10"; :>> label = "Clinical Engineer"; }
}
part def UsabilityEngineer :> MemoStakeholder {
@MemoIdentity { :>> providedId = "STK-11"; :>> label = "Usability Engineer"; }
}
concern safetyConcern : SafetyConcern;
concern usabilityConcern : UsabilityConcern;
concern cybersecurityConcern : CybersecurityConcern;
concern performanceConcern : PerformanceConcern;
concern interoperabilityConcern : InteroperabilityConcern;
concern reliabilityConcern : ReliabilityConcern;
concern privacyConcern : PrivacyConcern;
concern regulatoryConcern : RegulatoryConcern;
concern clinicalConcern : ClinicalConcern;
part systemArchitect : SystemArchitect;
part softwareArchitect : SoftwareArchitect;
part hardwareEngineer : HardwareEngineer;
part safetyEngineer : SafetyEngineer;
part verificationEngineer : VerificationEngineer;
part regulatoryEngineer : RegulatoryEngineer;
part projectLead : ProjectLead;
part securityEngineer : SecurityEngineer;
part privacyEngineer : PrivacyEngineer;
part clinicalEngineer : ClinicalEngineer;
part usabilityEngineer : UsabilityEngineer;
}