role systemEngineer {
    label "system engineer";
    brief "The system engineer has the technical responsibility for all project details.";
}

activity systemEngineering {
    label "system engineering";
    brief "This activity includes all technical planning activities.";
    responsible systemEngineer;
    subactivities
        sr_technicalPreview,
        sr_reportIssueSolved,
        CreateSystemRequirementsDocument,
        CreateSystemArchitectureDocument;
}

artefact systemRequirements {
    label "System requirements specification";
    brief "17-12 System requirements specification";
    text 
        md/spice/SystemRequirements.md, 
        md/spice/requirementSpecification.md,
        md/spice/verificationCriteria.md,
        md/simpleSPICE/extended_markdown.md;
}

artefact systemRequirementsView {
    label "System requirements specification view";
    brief "this is the part of the documentation which contains the system specification";
}

extend artefact docu_resultArtefact {
    contains systemRequirementsView;
}

activity CreateSystemRequirementsDocument {
    label "Create system requirements document";
    transform
        docu_resultArtefact;
    create
        systemRequirements;
    specialize 
        spice_SYS2BP1,spice_SYS2BP2;
    subactivities
        syr_doBaseline,
        syr_schedule,
        syr_close;
}

namespace syr {
    include resources/processes/simpleSPICE/baseline.txt(
        "system requirements",
        systemRequirements,
        spice_SUP8BP6
    ); 
    
    include  resources/processes/simpleSPICE/review.txt(
        systemRequirementsView,
        "system requirements",
        syr_baseline);
}

extend activity syr_schedule {
    specialize
        spice_SYS2BP3,spice_SYS2BP4;
}

extend artefact link_script {
    relations 
        syr_baseline;
}

activity createSystemTestPlan {
    label "create system test plan";
    transform 
        systemRequirementsView;
    create systemTestPlan;
    specialize 
        spice_SYS2BP5;
    text 
        md/spice/requirementSpecification.md,
        md/spice/verificationCriteria.md,
        md/simpleSPICE/extended_markdown.md;
}

artefact systemTestPlan {
    label "system test plan";
    contains verificationCriteria;
    text 
        md/spice/requirementSpecification.md,
        md/spice/verificationCriteria.md,
        md/simpleSPICE/extended_markdown.md;
}

artefact verificationCriteria {
    label "Verification Criteria";
    brief "17-50 Verification Criteria";
    text 
        md/spice/verificationCriteria.md;
}