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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ package analysisProblemSpace {
// **General Analysis Definition: Risk-Adjusted Profitability Calculation**
analysis def RiskAdjustedProfitability {

subject miningcorporation : MiningCorporation;
subject miningcorporation : Domain::MiningCorporation;

objective {
doc /* Evaluates profitability across different security zones (High Sec, Low Sec, Null Sec)
Expand Down Expand Up @@ -112,7 +112,7 @@ package analysisProblemSpace {
in operationalCosts = 200000.0; // ISK/hour (high cost due to logistics, security)
in survivalProbability = 50.0; // Very high risk, frequent losses
}
part analysisMiningCorporation : MiningCorporation ;
part analysisMiningCorporation : Domain::MiningCorporation ;

satisfy BUS01_1 by analysisMiningCorporation;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ package BusinessRequirements {
doc /* The mining organization shall guarantee a profitability of 25.000 ISK/hour in order to provide
* suficcient incentive to pilots to work for the corporation.
*/
subject miningFCorporation : MiningCorporation;
subject miningFCorporation : Domain::MiningCorporation;
attribute profitability : Real;
require constraint { profitability >= 25000 }

frame concern ProfitabilityConcern;
}
requirement <BUS01_1> profitabilityRequirement : ProfitabilityRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> profitability = miningCorporation.minimumProfit ;
}
}
28 changes: 14 additions & 14 deletions models/example_EveOnlineMiningFrigate/DomainModel/Concerns.sysml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ package StakeholderConcerns {
// Concerns Derived from the Business Case

concern def ProfitabilityConcern {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;

require constraint {
doc /* The Mining Corporation shall ensure that mining operations generate sufficient ISK/hour
Expand All @@ -48,7 +48,7 @@ package StakeholderConcerns {
}

concern def OperationalCostsConcern {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;

require constraint {
doc /* The Mining Corporation shall minimize operational costs (e.g., ship replacements,
Expand All @@ -59,7 +59,7 @@ package StakeholderConcerns {
}

concern def ScalabilityConcern {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;

assume constraint {
doc /* The Mining Corporation assumes that mining operations can scale effectively with
Expand All @@ -70,7 +70,7 @@ package StakeholderConcerns {
}

concern def MarketResponsivenessConcern {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;

require constraint {
doc /* The Mining Corporation shall adapt mining operations to fluctuating market demands
Expand All @@ -83,7 +83,7 @@ package StakeholderConcerns {
// Concerns Derived from the ConOps

concern def SecurityConcern {
subject miningFrigate : MiningFrigate;
subject miningFrigate : MiningFrigate::MiningFrigate;

require constraint {
doc /* The Mining Frigate shall ensure safety and survivability in hostile environments
Expand All @@ -95,7 +95,7 @@ package StakeholderConcerns {
}

concern def ResourceAvailabilityConcern {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;

require constraint {
doc /* The Mining Corporation shall ensure sufficient access to high-value asteroids,
Expand All @@ -106,7 +106,7 @@ package StakeholderConcerns {
}

concern def DeploymentEfficiencyConcern {
subject miningFrigate : MiningFrigate;
subject miningFrigate : MiningFrigate::MiningFrigate;

require constraint {
doc /* The Mining Frigate shall ensure rapid and efficient movement between resource
Expand All @@ -117,7 +117,7 @@ package StakeholderConcerns {
}

concern def ThreatNeutralizationConcern {
subject miningFrigate : MiningFrigate;
subject miningFrigate : MiningFrigate::MiningFrigate;

require constraint {
doc /* The Mining Frigate shall mitigate risks from NPC pirates and hostile players
Expand All @@ -131,7 +131,7 @@ package StakeholderConcerns {
// Concerns Derived from the MoEs

concern def TotalProfitabilityConcern {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;

require constraint {
doc /* The Mining Corporation shall maximize the total ISK/hour generated from mining
Expand All @@ -142,7 +142,7 @@ package StakeholderConcerns {
}

concern def OreYieldConcern {
subject miningFrigate : MiningFrigate;
subject miningFrigate : MiningFrigate::MiningFrigate;

require constraint {
doc /* The Mining Frigate shall maximize ore yield per frigate or fleet while avoiding
Expand All @@ -153,7 +153,7 @@ package StakeholderConcerns {
}

concern def SurvivabilityConcern {
subject miningFrigate : MiningFrigate;
subject miningFrigate : MiningFrigate::MiningFrigate;

require constraint {
doc /* The Mining Frigate shall ensure high survivability in hostile or dangerous environments. */
Expand All @@ -164,7 +164,7 @@ package StakeholderConcerns {
}

concern def FleetDeploymentEfficiencyConcern {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;

require constraint {
doc /* The Mining Corporation shall ensure optimal fleet deployment to maximize ore extraction
Expand All @@ -176,7 +176,7 @@ package StakeholderConcerns {
}

concern def OreDeliveryEfficiencyConcern {
subject miningFrigate : MiningFrigate;
subject miningFrigate : MiningFrigate::MiningFrigate;

require constraint {
doc /* The Mining Frigate shall ensure fast and efficient transport of mined ore to stations
Expand All @@ -187,7 +187,7 @@ package StakeholderConcerns {
}

concern def RiskAdjustedProfitabilityConcern {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;

require constraint {
doc /* The Mining Corporation shall balance profitability with the risks of operating in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ package Domain {
} // %

//exhibits a predefined state
part miningFrigate : MiningFrigate [1..*] {
exhibit miningFrigatesStates {
part miningFrigate : MiningFrigate::MiningFrigate [1..*] {
exhibit MiningFrigate::miningFrigatesStates {
in miningFrigates = miningFrigate;
}
// Cause and Effect Occurrences
Expand Down Expand Up @@ -299,7 +299,7 @@ package Domain {
interface def PowerDockIF {
end shipDockingPort : DockingPort;
end stationDockingPort : ~DockingPort;
flow of Power from stationDockingPort.power to shipDockingPort.power;
flow of Power from stationDockingPort.charge to shipDockingPort.charge;
flow of CargoContainer from shipDockingPort.cargo to stationDockingPort.cargo;
}
interface def AsteroidOreIF {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,62 +6,62 @@ package MiningCorporationRequirementsDecl {

// **Mining Corporation Requirement Declarations**
requirement <MCR01_1> profitabilityRequirement : ProfitabilityRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> minimumProfit = miningCorporation.minimumProfit;
}

requirement <MCR02_1> fleetUtilizationRequirement : FleetUtilizationRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> fleetUtilization = miningCorporation.fleetUtilization;
}

requirement <MCR03_1> oreExtractionRequirement : OreExtractionRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> oreExtractionRate = miningCorporation.oreExtractionEfficiency;
}

requirement <MCR04_1> oreDeliveryEfficiencyRequirement : OreDeliveryEfficiencyRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> oreDeliveryTime = miningCorporation.oreDeliveryEfficiency;
}

requirement <MCR05_1> storageCapacityRequirement : StorageCapacityRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> oreStorageCapacity = miningCorporation.storageCapacityUtilization;
}

requirement <MCR06_1> fleetSizeRequirement : FleetSizeRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> fleetSize = miningCorporation.fleetSizeEffectiveness;
}

requirement <MCR07_1> defenseCapabilityRequirement : DefenseCapabilityRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> securityEscortCoverage = miningCorporation.securityCoverageEffectiveness;
}

requirement <MCR08_1> threatResponseTimeRequirement : ThreatResponseTimeRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> threatResponseTime = miningCorporation.threatResponseEffectiveness;
}

requirement <MCR09_1> operationalUptimeRequirement : OperationalUptimeRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> operationalUptime = miningCorporation.operationalUptime;
}

requirement <MCR10_1> deploymentEfficiencyRequirement : DeploymentEfficiencyRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> deploymentEfficiency = miningCorporation.deploymentEfficiency;
}

requirement <MCR11_1> operationalCostControlRequirement : OperationalCostControlRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> operationalCosts = miningCorporation.costEfficiency;
}

requirement <MCR12_1> marketAdaptabilityRequirement : MarketAdaptabilityRequirement {
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute :>> marketAdaptability = miningCorporation.marketAdaptability;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ package MiningCorporationRequirementsDef {
requirement def <MCRQ01> ProfitabilityRequirement {
doc /* The mining corporation shall maintain an average profitability of at least 500M ISK per operational cycle,
considering ore market value, operational costs, and risk-adjusted returns. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute minimumProfit : Real;
require constraint { minimumProfit >= 500000000.0 } // ISK

Expand All @@ -18,7 +18,7 @@ package MiningCorporationRequirementsDef {

requirement def <MCRQ02> FleetUtilizationRequirement {
doc /* The mining corporation shall maintain a fleet utilization rate of at least 80% to ensure high operational efficiency. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute fleetUtilization : Real;
require constraint { fleetUtilization >= 80.0 } // %

Expand All @@ -28,7 +28,7 @@ package MiningCorporationRequirementsDef {
// **Resource Extraction and Logistics Requirements**
requirement def <MCRQ03> OreExtractionRequirement {
doc /* The mining corporation shall extract at least 1,000,000 m³ of ore per operational cycle. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute oreExtractionRate : Real;
require constraint { oreExtractionRate >= 1000000.0 } // m³/cycle

Expand All @@ -37,7 +37,7 @@ package MiningCorporationRequirementsDef {

requirement def <MCRQ04> OreDeliveryEfficiencyRequirement {
doc /* The mining corporation shall ensure an average ore delivery time of no more than 30 minutes per batch. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute oreDeliveryTime : Real;
require constraint { oreDeliveryTime <= 1800.0 } // seconds

Expand All @@ -46,7 +46,7 @@ package MiningCorporationRequirementsDef {

requirement def <MCRQ05> StorageCapacityRequirement {
doc /* The mining corporation shall maintain a minimum ore storage capacity of 10,000,000 m³ to accommodate mining operations. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute oreStorageCapacity : Real;
require constraint { oreStorageCapacity >= 10000000.0 } // m³

Expand All @@ -56,7 +56,7 @@ package MiningCorporationRequirementsDef {
// **Fleet and Security Requirements**
requirement def <MCRQ06> FleetSizeRequirement {
doc /* The mining corporation shall operate a fleet of at least 10 mining frigates per operational cycle. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute fleetSize : Integer;
require constraint { fleetSize >= 10 }

Expand All @@ -65,7 +65,7 @@ package MiningCorporationRequirementsDef {

requirement def <MCRQ07> DefenseCapabilityRequirement {
doc /* The mining corporation shall ensure that at least 30% of mining operations have security escort coverage in Low Sec and Null Sec. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute securityEscortCoverage : Real;
require constraint { securityEscortCoverage >= 30.0 } // %

Expand All @@ -74,7 +74,7 @@ package MiningCorporationRequirementsDef {

requirement def <MCRQ08> ThreatResponseTimeRequirement {
doc /* The mining corporation shall ensure that threat response time does not exceed 60 seconds in Low Sec and Null Sec. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute threatResponseTime : Real;
require constraint { threatResponseTime <= 60.0 } // seconds

Expand All @@ -84,7 +84,7 @@ package MiningCorporationRequirementsDef {
// **Operational Uptime and Efficiency**
requirement def <MCRQ09> OperationalUptimeRequirement {
doc /* The mining corporation shall maintain an operational uptime of at least 85% per cycle. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute operationalUptime : Real;
require constraint { operationalUptime >= 85.0 } // %

Expand All @@ -93,7 +93,7 @@ package MiningCorporationRequirementsDef {

requirement def <MCRQ10> DeploymentEfficiencyRequirement {
doc /* The mining corporation shall ensure that at least 90% of planned mining deployments are executed successfully. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute deploymentEfficiency : Real;
require constraint { deploymentEfficiency >= 90.0 } // %

Expand All @@ -102,7 +102,7 @@ package MiningCorporationRequirementsDef {

requirement def <MCRQ11> OperationalCostControlRequirement {
doc /* The mining corporation shall minimize operational costs to improve long-term profitability. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute operationalCosts : Real;
require constraint { operationalCosts <= 2000000000.0 } // ISK per month

Expand All @@ -111,7 +111,7 @@ package MiningCorporationRequirementsDef {

requirement def <MCRQ12> MarketAdaptabilityRequirement {
doc /* The mining corporation shall adapt its mining operations based on fluctuating ore prices. */
subject miningCorporation : MiningCorporation;
subject miningCorporation : Domain::MiningCorporation;
attribute marketAdaptability : Real;
require constraint { marketAdaptability >= 75.0 } // %

Expand Down
Loading
Loading