Specify baseline analysis and verified library contract compatibility
This commit is contained in:
@@ -29,6 +29,8 @@ harness/fixtures/scenario-authoring/base/** -text whitespace=cr-at-eol
|
||||
harness/experiments/textual-authoring-20260911/** -text whitespace=cr-at-eol
|
||||
harness/experiments/textual-authoring-20260911/observed/split-entry.arcadia whitespace=-blank-at-eol,cr-at-eol
|
||||
harness/experiments/analysis-context-20260911/** -text whitespace=cr-at-eol
|
||||
harness/experiments/analysis-baseline-20260911/** -text whitespace=cr-at-eol
|
||||
harness/experiments/library-compatibility-20260911/** -text whitespace=cr-at-eol
|
||||
|
||||
# Preserve checksum-bound font notices verbatim through Git round trips.
|
||||
scripts/windows-notices/GNOME-Cantarell-61362600e104-COPYING -text
|
||||
|
||||
@@ -35,8 +35,7 @@ impl Geometry {
|
||||
fn new(anchor: Rectangle, viewport: Size) -> Self {
|
||||
let width = anchor
|
||||
.width
|
||||
.max(278.)
|
||||
.min(420.)
|
||||
.clamp(278., 420.)
|
||||
.min((viewport.width - 2. * MARGIN).max(0.));
|
||||
let height = 360f32.min((viewport.height - 2. * MARGIN).max(0.));
|
||||
let x = anchor.x.clamp(
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# Baseline contract fixtures
|
||||
|
||||
Companion to [the candidate contract](../../release-analysis-baseline-contract-20260911.md). This is proposed schema/source/JSON, not implemented Studio syntax.
|
||||
|
||||
- active.arcadia.proposed is a complete UUID-bearing local model with four base bindings, two cases and one shared check.
|
||||
- evaluate-*.json are complete candidate REST request bodies.
|
||||
- portable-document.json.proposed exposes the complete candidate Project, exact source, local definitions and explicitly empty library collections.
|
||||
- freeze-degraded.json.proposed retains those exact document bytes, a SHA256 commitment, complete effective bindings/checks, and private definition inventory.
|
||||
- expected-observations.json records hand-derived arithmetic/context expectations, not evaluator output.
|
||||
- r7-literal-boundaries.json contains full exact JSON literal nodes and their expected canonical source, including 301-digit and 4096-bit boundaries.
|
||||
- fixture-integrity.json records only transport/source/UUID checks and size counts.
|
||||
|
||||
Run build-fixtures.ps1 with PowerShell 7 to regenerate the JSON fixtures. It writes only within this directory. The script constructs the proposed typed data; it does not parse source, evaluate expressions, run Rust, or establish Project/source semantic equality. Changing the fixture file's exact line endings changes the captured document and digest; preserve these snapshot bytes when publishing.
|
||||
|
||||
The full local capture has no imports, so empty pins/package content are complete for this example. Nonempty pinned-package capture and offline replay remain a required paired library/evaluator acceptance test, not something this local transport fixture has proved.
|
||||
@@ -0,0 +1,55 @@
|
||||
arcadia 8;
|
||||
project response_budget "Response budget" id "4210b9f2-7046-47f0-aa3b-153f626a579d" {
|
||||
description "A complete proposed analysis model. Schema 8 and the new declarations are not implemented source7 syntax.";
|
||||
|
||||
quantity_kind duration "Duration" id "188b911c-5f8b-431c-9eea-2d41f3953767" {
|
||||
dimension { time: 1; }
|
||||
algebra Linear;
|
||||
}
|
||||
unit second "Second" id "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce" {
|
||||
kind @duration; scale 1; offset 0; symbol "s";
|
||||
}
|
||||
unit millisecond "Millisecond" id "39053f37-fec9-4708-9f0a-3959d223f891" {
|
||||
kind @duration; scale ratio(1, 1000); offset 0; symbol "ms";
|
||||
}
|
||||
calculation combine "Combine durations" id "fd7ce7ab-f789-40bc-b699-0c37f1b6902f" {
|
||||
input a id "28ff40b0-1b8f-4735-8536-5a6ab21b56cb" : Quantity(@duration);
|
||||
input b id "7a47cc1e-8ae5-4551-b2d8-8a68108e0976" : Quantity(@duration);
|
||||
result Quantity(@duration);
|
||||
body $a + $b;
|
||||
}
|
||||
|
||||
oa_activity respond "Respond" id "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59" {
|
||||
oa_activity receive "Receive" id "4ab9a8a7-7552-488d-9862-e14b89e7b353" {}
|
||||
oa_activity dispatch "Dispatch" id "6df991ba-4c5e-4535-99e2-524ae274ee8b" {}
|
||||
}
|
||||
oa_property receive_time "Receive time" id "63a931c2-675a-4fce-89e5-04361cb99450" {
|
||||
subject @receive; type Quantity(@duration); display_unit @millisecond;
|
||||
base 750 [@millisecond];
|
||||
}
|
||||
oa_property dispatch_time "Dispatch time" id "c33fc772-2a60-4044-9af9-73c61c563ace" {
|
||||
subject @dispatch; type Quantity(@duration); display_unit @second;
|
||||
base 1 [@second];
|
||||
}
|
||||
oa_property total_time "Total time" id "bd5b68e8-65fc-4e35-9071-a73061316a4b" {
|
||||
subject @respond; type Quantity(@duration); display_unit @second;
|
||||
// The formula is shared. Every read uses the requested evaluation context.
|
||||
base @combine(a: @receive_time, b: @dispatch_time);
|
||||
}
|
||||
oa_property limit "Allowed duration" id "437bedbb-2cf4-44ee-a139-6563cc5086ec" {
|
||||
subject @respond; type Quantity(@duration); display_unit @second;
|
||||
base 2 [@second];
|
||||
}
|
||||
oa_check budget "Response budget" id "bac0de99-9d2f-4e53-9158-d424ecac61bf" {
|
||||
subject none; documented_constraint none;
|
||||
predicate @total_time <= @limit;
|
||||
}
|
||||
oa_analysis degraded "Degraded radio" id "38036c65-16d4-449c-837b-91eb141c1d93" {
|
||||
subject none; base ModelBaseline;
|
||||
overrides { @receive_time = 1250 [@millisecond]; }
|
||||
}
|
||||
oa_analysis unmeasured "Unmeasured radio" id "99d3e09a-0ec3-4194-9dd4-9f3de6625cde" {
|
||||
subject none; base ModelBaseline;
|
||||
overrides { @receive_time = unbound; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,216 @@
|
||||
# Fixture construction only. This does not parse/evaluate the proposed language.
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$taskDir = $PSScriptRoot
|
||||
$ids = @{
|
||||
project = '4210b9f2-7046-47f0-aa3b-153f626a579d'
|
||||
duration = '188b911c-5f8b-431c-9eea-2d41f3953767'
|
||||
second = '534f4672-1ba5-4157-8b0a-b9cf41d0a3ce'
|
||||
millisecond = '39053f37-fec9-4708-9f0a-3959d223f891'
|
||||
combine = 'fd7ce7ab-f789-40bc-b699-0c37f1b6902f'
|
||||
input_a = '28ff40b0-1b8f-4735-8536-5a6ab21b56cb'
|
||||
input_b = '7a47cc1e-8ae5-4551-b2d8-8a68108e0976'
|
||||
respond = 'cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59'
|
||||
receive = '4ab9a8a7-7552-488d-9862-e14b89e7b353'
|
||||
dispatch = '6df991ba-4c5e-4535-99e2-524ae274ee8b'
|
||||
receive_time = '63a931c2-675a-4fce-89e5-04361cb99450'
|
||||
dispatch_time = 'c33fc772-2a60-4044-9af9-73c61c563ace'
|
||||
total_time = 'bd5b68e8-65fc-4e35-9071-a73061316a4b'
|
||||
limit = '437bedbb-2cf4-44ee-a139-6563cc5086ec'
|
||||
degraded = '38036c65-16d4-449c-837b-91eb141c1d93'
|
||||
unmeasured = '99d3e09a-0ec3-4194-9dd4-9f3de6625cde'
|
||||
budget = 'bac0de99-9d2f-4e53-9158-d424ecac61bf'
|
||||
}
|
||||
function Exact([string]$n, [string]$d = '1') {
|
||||
return @{ numerator = $n; denominator = $d }
|
||||
}
|
||||
function Local([string]$name) { return @{ Local = $ids[$name] } }
|
||||
function ReadProperty([string]$name) { return @{ Property = $ids[$name] } }
|
||||
function Literal([string]$n, [string]$unit) {
|
||||
return @{ Quantity = @{ magnitude = (Exact $n); unit = (Local $unit) } }
|
||||
}
|
||||
function Bound($expr) { return @{ Expression = $expr } }
|
||||
function Record([string]$key, [string]$name, $body) {
|
||||
return @{
|
||||
id = $ids[$key]; alias = $key; name = $name; description = ''; body = $body
|
||||
}
|
||||
}
|
||||
function Element([string]$key, [string]$name, $body, $parent = $null) {
|
||||
$r = Record $key $name $body
|
||||
$r.parent = $parent
|
||||
return $r
|
||||
}
|
||||
function Property([string]$key, [string]$name, [string]$subject, [string]$unit, $binding) {
|
||||
return Element $key $name @{ Oa = @{ Shared = @{ EngineeringProperty = @{
|
||||
subject = @{ Element = $ids[$subject] }
|
||||
value_type = $quantityType
|
||||
display_unit = (Local $unit)
|
||||
base = $binding
|
||||
} } } }
|
||||
}
|
||||
function OrderedCopy($value) {
|
||||
if ($null -eq $value) { return $null }
|
||||
if ($value -is [Collections.IDictionary]) {
|
||||
$copy = [ordered]@{}
|
||||
[string[]]$keys = @($value.Keys)
|
||||
[Array]::Sort($keys, [StringComparer]::Ordinal)
|
||||
foreach ($key in $keys) { $copy[$key] = OrderedCopy $value[$key] }
|
||||
return $copy
|
||||
}
|
||||
if ($value -is [Collections.IEnumerable] -and $value -isnot [string]) {
|
||||
$copy = @()
|
||||
foreach ($item in $value) { $copy += ,(OrderedCopy $item) }
|
||||
return ,$copy
|
||||
}
|
||||
return $value
|
||||
}
|
||||
function JsonBytes($value) {
|
||||
$json = (OrderedCopy $value) | ConvertTo-Json -Depth 100
|
||||
$json = $json.Replace([string][char]13 + [string][char]10, [string][char]10)
|
||||
return [Text.UTF8Encoding]::new($false).GetBytes($json + [string][char]10)
|
||||
}
|
||||
function SaveBytes([string]$name, [byte[]]$bytes) {
|
||||
[IO.File]::WriteAllBytes((Join-Path $taskDir $name), $bytes)
|
||||
}
|
||||
$quantityType = @{ Scalar = @{ Quantity = (Local 'duration') } }
|
||||
$definitions = @{}
|
||||
$definitions[$ids.duration] = Record 'duration' 'Duration' @{ QuantityKind = @{
|
||||
dimension = @(0, 0, 1, 0, 0, 0, 0); algebra = 'Linear'
|
||||
} }
|
||||
$definitions[$ids.second] = Record 'second' 'Second' @{ Unit = @{
|
||||
kind = (Local 'duration'); scale = (Exact '1'); offset = (Exact '0'); symbol = 's'
|
||||
} }
|
||||
$definitions[$ids.millisecond] = Record 'millisecond' 'Millisecond' @{ Unit = @{
|
||||
kind = (Local 'duration'); scale = (Exact '1' '1000'); offset = (Exact '0'); symbol = 'ms'
|
||||
} }
|
||||
$definitions[$ids.combine] = Record 'combine' 'Combine durations' @{ Calculation = @{
|
||||
parameters = @(
|
||||
@{ id = $ids.input_a; name = 'a'; value_type = $quantityType },
|
||||
@{ id = $ids.input_b; name = 'b'; value_type = $quantityType }
|
||||
)
|
||||
result = $quantityType
|
||||
body = (Bound @{ Binary = @{
|
||||
op = 'Add'; left = @{ Parameter = $ids.input_a }; right = @{ Parameter = $ids.input_b }
|
||||
} })
|
||||
} }
|
||||
$receiveBase = Bound (Literal '750' 'millisecond')
|
||||
$dispatchBase = Bound (Literal '1' 'second')
|
||||
$totalBase = Bound @{ Call = @{
|
||||
definition = (Local 'combine')
|
||||
arguments = @{
|
||||
$ids.input_a = (ReadProperty 'receive_time')
|
||||
$ids.input_b = (ReadProperty 'dispatch_time')
|
||||
}
|
||||
} }
|
||||
$limitBase = Bound (Literal '2' 'second')
|
||||
$degradedBinding = Bound (Literal '1250' 'millisecond')
|
||||
$predicate = Bound @{ Binary = @{
|
||||
op = 'LessOrEqual'; left = (ReadProperty 'total_time'); right = (ReadProperty 'limit')
|
||||
} }
|
||||
$elements = @{}
|
||||
$elements[$ids.respond] = Element 'respond' 'Respond' @{ Oa = 'Activity' }
|
||||
$elements[$ids.receive] = Element 'receive' 'Receive' @{ Oa = 'Activity' } $ids.respond
|
||||
$elements[$ids.dispatch] = Element 'dispatch' 'Dispatch' @{ Oa = 'Activity' } $ids.respond
|
||||
$elements[$ids.receive_time] = Property 'receive_time' 'Receive time' 'receive' 'millisecond' $receiveBase
|
||||
$elements[$ids.dispatch_time] = Property 'dispatch_time' 'Dispatch time' 'dispatch' 'second' $dispatchBase
|
||||
$elements[$ids.total_time] = Property 'total_time' 'Total time' 'respond' 'second' $totalBase
|
||||
$elements[$ids.limit] = Property 'limit' 'Allowed duration' 'respond' 'second' $limitBase
|
||||
$elements[$ids.budget] = Element 'budget' 'Response budget' @{ Oa = @{ Shared = @{ AnalysisCheck = @{
|
||||
subject = $null; documented_constraint = $null; predicate = $predicate
|
||||
} } } }
|
||||
$elements[$ids.degraded] = Element 'degraded' 'Degraded radio' @{ Oa = @{ Shared = @{ AnalysisCase = @{
|
||||
subject = $null; base = 'ModelBaseline'; overrides = @{ $ids.receive_time = $degradedBinding }
|
||||
} } } }
|
||||
$elements[$ids.unmeasured] = Element 'unmeasured' 'Unmeasured radio' @{ Oa = @{ Shared = @{ AnalysisCase = @{
|
||||
subject = $null; base = 'ModelBaseline'; overrides = @{ $ids.receive_time = 'Unbound' }
|
||||
} } } }
|
||||
$sourceBytes = [IO.File]::ReadAllBytes((Join-Path $taskDir 'active.arcadia.proposed'))
|
||||
$source = [Text.UTF8Encoding]::new($false, $true).GetString($sourceBytes)
|
||||
$project = @{
|
||||
schema_version = 8; id = $ids.project; alias = 'response_budget'; name = 'Response budget'
|
||||
description = 'A complete proposed analysis model. Schema 8 and the new declarations are not implemented source7 syntax.'
|
||||
elements = $elements; relations = @{}; diagrams = @{}; artifact_links = @{}; traces = @{}
|
||||
definitions = $definitions; imports = @{}; definition_mounts = @{}; library_instances = @{}
|
||||
}
|
||||
$document = @{
|
||||
model = $project
|
||||
source = @{ entry = 'active.arcadia'; files = @{ 'active.arcadia' = $source } }
|
||||
packages = @{}
|
||||
}
|
||||
[byte[]]$documentBytes = JsonBytes $document
|
||||
SaveBytes 'portable-document.json.proposed' $documentBytes
|
||||
$documentDigest = [Convert]::ToHexString([Security.Cryptography.SHA256]::HashData($documentBytes)).ToLowerInvariant()
|
||||
$manifest = @(
|
||||
@{ property = $ids.receive_time; binding = $degradedBinding; origin = @{ CaseOverride = $ids.degraded } },
|
||||
@{ property = $ids.dispatch_time; binding = $dispatchBase; origin = 'ModelBaseline' },
|
||||
@{ property = $ids.total_time; binding = $totalBase; origin = 'ModelBaseline' },
|
||||
@{ property = $ids.limit; binding = $limitBase; origin = 'ModelBaseline' }
|
||||
) | Sort-Object { $_.property }
|
||||
$freeze = @{
|
||||
format = 'arcadia-analysis-freeze-1-proposal'
|
||||
captured_document = @{
|
||||
media_type = 'application/vnd.arcadia.portable-document+json'
|
||||
sha256 = $documentDigest
|
||||
bytes_base64 = [Convert]::ToBase64String($documentBytes)
|
||||
}
|
||||
origin = @{ Local = @{
|
||||
document_instance = 'd911a3c0-8adb-4203-850c-b16e9b4e4d0a'; accepted_revision = 1
|
||||
} }
|
||||
model_id = $ids.project
|
||||
context = @{ Case = $ids.degraded }
|
||||
targets = @{ properties = @($ids.total_time); checks = @($ids.budget) }
|
||||
numeric_profile = 'Q1-exact-1'
|
||||
effective_bindings = @($manifest)
|
||||
check_predicates = @(@{ check = $ids.budget; predicate = $predicate })
|
||||
definition_capture = @{
|
||||
document_sha256 = $documentDigest
|
||||
local_definitions = @($ids.duration, $ids.second, $ids.millisecond, $ids.combine | Sort-Object)
|
||||
imports = @()
|
||||
}
|
||||
}
|
||||
SaveBytes 'freeze-degraded.json.proposed' (JsonBytes $freeze)
|
||||
$expected = @{
|
||||
status = 'Hand-derived expectations, not evaluator output'
|
||||
baseline = @{ total_canonical_seconds = (Exact '7' '4'); check = 'Satisfied' }
|
||||
degraded = @{ total_canonical_seconds = (Exact '9' '4'); check = 'Violated' }
|
||||
unmeasured = @{ total = 'Missing'; input = $ids.receive_time; check = 'Unresolved' }
|
||||
after_clear_unmeasured_override = @{ total_canonical_seconds = (Exact '7' '4'); check = 'Satisfied' }
|
||||
after_baseline_dispatch_changes_to_two_seconds = @{
|
||||
active_degraded_total = (Exact '13' '4'); frozen_degraded_total = (Exact '9' '4')
|
||||
}
|
||||
}
|
||||
SaveBytes 'expected-observations.json' (JsonBytes $expected)
|
||||
$largeInteger = [Numerics.BigInteger]::Pow([Numerics.BigInteger]10, 300).ToString()
|
||||
$smallDenominator = [Numerics.BigInteger]::Pow([Numerics.BigInteger]2, 4095).ToString()
|
||||
$boundInteger = ([Numerics.BigInteger]::Pow([Numerics.BigInteger]2, 4096) - 1).ToString()
|
||||
$literalFixtures = @(
|
||||
@{ name = 'ten_to_300'; expression = @{ Number = (Exact $largeInteger) }; canonical_source = $largeInteger },
|
||||
@{ name = 'one_over_two_to_4095'; expression = @{ Number = (Exact '1' $smallDenominator) }; canonical_source = ('ratio(1, ' + $smallDenominator + ')') },
|
||||
@{ name = 'negative_4096_bit_bound'; expression = @{ Number = (Exact ('-' + $boundInteger)) }; canonical_source = ('ratio(-' + $boundInteger + ', 1)') }
|
||||
)
|
||||
SaveBytes 'r7-literal-boundaries.json' (JsonBytes $literalFixtures)
|
||||
# Verify only JSON transport, UUID completeness, raw source retention and hashes.
|
||||
$parsed = Get-Content -LiteralPath (Join-Path $taskDir 'freeze-degraded.json.proposed') -Raw | ConvertFrom-Json
|
||||
$decoded = [Convert]::FromBase64String($parsed.captured_document.bytes_base64)
|
||||
if ([Convert]::ToBase64String($decoded) -cne [Convert]::ToBase64String($documentBytes)) { throw 'Document capsule differs' }
|
||||
$parsedDoc = [Text.Encoding]::UTF8.GetString($decoded) | ConvertFrom-Json
|
||||
if ($parsedDoc.source.files.'active.arcadia' -cne $source) { throw 'Source changed' }
|
||||
if ($ids.Count -ne (@($ids.Values | Sort-Object -Unique)).Count) { throw 'Duplicate fixture UUID' }
|
||||
foreach ($value in $ids.Values) {
|
||||
[void][guid]::ParseExact($value, 'D')
|
||||
if (-not $source.Contains('id "' + $value + '"')) { throw "Missing source identity $value" }
|
||||
}
|
||||
$stats = @{
|
||||
source_lines = ($source -split [string][char]10).Count - 1
|
||||
source_utf8_bytes = $sourceBytes.Length
|
||||
explicit_source_uuids = $ids.Count
|
||||
project_elements = $elements.Count
|
||||
local_definitions = $definitions.Count
|
||||
scoped_parameters = 2
|
||||
base_bindings = 4
|
||||
override_bindings = 2
|
||||
shared_checks = 1
|
||||
portable_document_sha256 = $documentDigest
|
||||
verified = 'JSON transport, 17 syntactically valid distinct UUIDs, exact source bytes, capsule equality. No proposed parser/evaluator execution.'
|
||||
}
|
||||
SaveBytes 'fixture-integrity.json' (JsonBytes $stats)
|
||||
$stats | ConvertTo-Json
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"context": "ModelBaseline",
|
||||
"targets": {
|
||||
"properties": ["bd5b68e8-65fc-4e35-9071-a73061316a4b"],
|
||||
"checks": ["bac0de99-9d2f-4e53-9158-d424ecac61bf"]
|
||||
},
|
||||
"numeric_profile": "Q1-exact-1"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"context": {"Case": "38036c65-16d4-449c-837b-91eb141c1d93"},
|
||||
"targets": {
|
||||
"properties": ["bd5b68e8-65fc-4e35-9071-a73061316a4b"],
|
||||
"checks": ["bac0de99-9d2f-4e53-9158-d424ecac61bf"]
|
||||
},
|
||||
"numeric_profile": "Q1-exact-1"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"context": {"Case": "99d3e09a-0ec3-4194-9dd4-9f3de6625cde"},
|
||||
"targets": {
|
||||
"properties": ["bd5b68e8-65fc-4e35-9071-a73061316a4b"],
|
||||
"checks": ["bac0de99-9d2f-4e53-9158-d424ecac61bf"]
|
||||
},
|
||||
"numeric_profile": "Q1-exact-1"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"after_baseline_dispatch_changes_to_two_seconds": {
|
||||
"active_degraded_total": {
|
||||
"denominator": "4",
|
||||
"numerator": "13"
|
||||
},
|
||||
"frozen_degraded_total": {
|
||||
"denominator": "4",
|
||||
"numerator": "9"
|
||||
}
|
||||
},
|
||||
"after_clear_unmeasured_override": {
|
||||
"check": "Satisfied",
|
||||
"total_canonical_seconds": {
|
||||
"denominator": "4",
|
||||
"numerator": "7"
|
||||
}
|
||||
},
|
||||
"baseline": {
|
||||
"check": "Satisfied",
|
||||
"total_canonical_seconds": {
|
||||
"denominator": "4",
|
||||
"numerator": "7"
|
||||
}
|
||||
},
|
||||
"degraded": {
|
||||
"check": "Violated",
|
||||
"total_canonical_seconds": {
|
||||
"denominator": "4",
|
||||
"numerator": "9"
|
||||
}
|
||||
},
|
||||
"status": "Hand-derived expectations, not evaluator output",
|
||||
"unmeasured": {
|
||||
"check": "Unresolved",
|
||||
"input": "63a931c2-675a-4fce-89e5-04361cb99450",
|
||||
"total": "Missing"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"base_bindings": 4,
|
||||
"explicit_source_uuids": 17,
|
||||
"local_definitions": 4,
|
||||
"override_bindings": 2,
|
||||
"portable_document_sha256": "6667773d90f83626f760b2faa2bf7d57638947d95574e3fa3e80b64416f01497",
|
||||
"project_elements": 10,
|
||||
"scoped_parameters": 2,
|
||||
"shared_checks": 1,
|
||||
"source_lines": 55,
|
||||
"source_utf8_bytes": 2678,
|
||||
"verified": "JSON transport, 17 syntactically valid distinct UUIDs, exact source bytes, capsule equality. No proposed parser/evaluator execution."
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,425 @@
|
||||
{
|
||||
"model": {
|
||||
"alias": "response_budget",
|
||||
"artifact_links": {},
|
||||
"definition_mounts": {},
|
||||
"definitions": {
|
||||
"188b911c-5f8b-431c-9eea-2d41f3953767": {
|
||||
"alias": "duration",
|
||||
"body": {
|
||||
"QuantityKind": {
|
||||
"algebra": "Linear",
|
||||
"dimension": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "188b911c-5f8b-431c-9eea-2d41f3953767",
|
||||
"name": "Duration"
|
||||
},
|
||||
"39053f37-fec9-4708-9f0a-3959d223f891": {
|
||||
"alias": "millisecond",
|
||||
"body": {
|
||||
"Unit": {
|
||||
"kind": {
|
||||
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
||||
},
|
||||
"offset": {
|
||||
"denominator": "1",
|
||||
"numerator": "0"
|
||||
},
|
||||
"scale": {
|
||||
"denominator": "1000",
|
||||
"numerator": "1"
|
||||
},
|
||||
"symbol": "ms"
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "39053f37-fec9-4708-9f0a-3959d223f891",
|
||||
"name": "Millisecond"
|
||||
},
|
||||
"534f4672-1ba5-4157-8b0a-b9cf41d0a3ce": {
|
||||
"alias": "second",
|
||||
"body": {
|
||||
"Unit": {
|
||||
"kind": {
|
||||
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
||||
},
|
||||
"offset": {
|
||||
"denominator": "1",
|
||||
"numerator": "0"
|
||||
},
|
||||
"scale": {
|
||||
"denominator": "1",
|
||||
"numerator": "1"
|
||||
},
|
||||
"symbol": "s"
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce",
|
||||
"name": "Second"
|
||||
},
|
||||
"fd7ce7ab-f789-40bc-b699-0c37f1b6902f": {
|
||||
"alias": "combine",
|
||||
"body": {
|
||||
"Calculation": {
|
||||
"body": {
|
||||
"Expression": {
|
||||
"Binary": {
|
||||
"left": {
|
||||
"Parameter": "28ff40b0-1b8f-4735-8536-5a6ab21b56cb"
|
||||
},
|
||||
"op": "Add",
|
||||
"right": {
|
||||
"Parameter": "7a47cc1e-8ae5-4551-b2d8-8a68108e0976"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"id": "28ff40b0-1b8f-4735-8536-5a6ab21b56cb",
|
||||
"name": "a",
|
||||
"value_type": {
|
||||
"Scalar": {
|
||||
"Quantity": {
|
||||
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7a47cc1e-8ae5-4551-b2d8-8a68108e0976",
|
||||
"name": "b",
|
||||
"value_type": {
|
||||
"Scalar": {
|
||||
"Quantity": {
|
||||
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"Scalar": {
|
||||
"Quantity": {
|
||||
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "fd7ce7ab-f789-40bc-b699-0c37f1b6902f",
|
||||
"name": "Combine durations"
|
||||
}
|
||||
},
|
||||
"description": "A complete proposed analysis model. Schema 8 and the new declarations are not implemented source7 syntax.",
|
||||
"diagrams": {},
|
||||
"elements": {
|
||||
"38036c65-16d4-449c-837b-91eb141c1d93": {
|
||||
"alias": "degraded",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"AnalysisCase": {
|
||||
"base": "ModelBaseline",
|
||||
"overrides": {
|
||||
"63a931c2-675a-4fce-89e5-04361cb99450": {
|
||||
"Expression": {
|
||||
"Quantity": {
|
||||
"magnitude": {
|
||||
"denominator": "1",
|
||||
"numerator": "1250"
|
||||
},
|
||||
"unit": {
|
||||
"Local": "39053f37-fec9-4708-9f0a-3959d223f891"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"subject": null
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "38036c65-16d4-449c-837b-91eb141c1d93",
|
||||
"name": "Degraded radio",
|
||||
"parent": null
|
||||
},
|
||||
"437bedbb-2cf4-44ee-a139-6563cc5086ec": {
|
||||
"alias": "limit",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"EngineeringProperty": {
|
||||
"base": {
|
||||
"Expression": {
|
||||
"Quantity": {
|
||||
"magnitude": {
|
||||
"denominator": "1",
|
||||
"numerator": "2"
|
||||
},
|
||||
"unit": {
|
||||
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"display_unit": {
|
||||
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
||||
},
|
||||
"subject": {
|
||||
"Element": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59"
|
||||
},
|
||||
"value_type": {
|
||||
"Scalar": {
|
||||
"Quantity": {
|
||||
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "437bedbb-2cf4-44ee-a139-6563cc5086ec",
|
||||
"name": "Allowed duration",
|
||||
"parent": null
|
||||
},
|
||||
"4ab9a8a7-7552-488d-9862-e14b89e7b353": {
|
||||
"alias": "receive",
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
},
|
||||
"description": "",
|
||||
"id": "4ab9a8a7-7552-488d-9862-e14b89e7b353",
|
||||
"name": "Receive",
|
||||
"parent": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59"
|
||||
},
|
||||
"63a931c2-675a-4fce-89e5-04361cb99450": {
|
||||
"alias": "receive_time",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"EngineeringProperty": {
|
||||
"base": {
|
||||
"Expression": {
|
||||
"Quantity": {
|
||||
"magnitude": {
|
||||
"denominator": "1",
|
||||
"numerator": "750"
|
||||
},
|
||||
"unit": {
|
||||
"Local": "39053f37-fec9-4708-9f0a-3959d223f891"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"display_unit": {
|
||||
"Local": "39053f37-fec9-4708-9f0a-3959d223f891"
|
||||
},
|
||||
"subject": {
|
||||
"Element": "4ab9a8a7-7552-488d-9862-e14b89e7b353"
|
||||
},
|
||||
"value_type": {
|
||||
"Scalar": {
|
||||
"Quantity": {
|
||||
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "63a931c2-675a-4fce-89e5-04361cb99450",
|
||||
"name": "Receive time",
|
||||
"parent": null
|
||||
},
|
||||
"6df991ba-4c5e-4535-99e2-524ae274ee8b": {
|
||||
"alias": "dispatch",
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
},
|
||||
"description": "",
|
||||
"id": "6df991ba-4c5e-4535-99e2-524ae274ee8b",
|
||||
"name": "Dispatch",
|
||||
"parent": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59"
|
||||
},
|
||||
"99d3e09a-0ec3-4194-9dd4-9f3de6625cde": {
|
||||
"alias": "unmeasured",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"AnalysisCase": {
|
||||
"base": "ModelBaseline",
|
||||
"overrides": {
|
||||
"63a931c2-675a-4fce-89e5-04361cb99450": "Unbound"
|
||||
},
|
||||
"subject": null
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "99d3e09a-0ec3-4194-9dd4-9f3de6625cde",
|
||||
"name": "Unmeasured radio",
|
||||
"parent": null
|
||||
},
|
||||
"bac0de99-9d2f-4e53-9158-d424ecac61bf": {
|
||||
"alias": "budget",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"AnalysisCheck": {
|
||||
"documented_constraint": null,
|
||||
"predicate": {
|
||||
"Expression": {
|
||||
"Binary": {
|
||||
"left": {
|
||||
"Property": "bd5b68e8-65fc-4e35-9071-a73061316a4b"
|
||||
},
|
||||
"op": "LessOrEqual",
|
||||
"right": {
|
||||
"Property": "437bedbb-2cf4-44ee-a139-6563cc5086ec"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"subject": null
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "bac0de99-9d2f-4e53-9158-d424ecac61bf",
|
||||
"name": "Response budget",
|
||||
"parent": null
|
||||
},
|
||||
"bd5b68e8-65fc-4e35-9071-a73061316a4b": {
|
||||
"alias": "total_time",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"EngineeringProperty": {
|
||||
"base": {
|
||||
"Expression": {
|
||||
"Call": {
|
||||
"arguments": {
|
||||
"28ff40b0-1b8f-4735-8536-5a6ab21b56cb": {
|
||||
"Property": "63a931c2-675a-4fce-89e5-04361cb99450"
|
||||
},
|
||||
"7a47cc1e-8ae5-4551-b2d8-8a68108e0976": {
|
||||
"Property": "c33fc772-2a60-4044-9af9-73c61c563ace"
|
||||
}
|
||||
},
|
||||
"definition": {
|
||||
"Local": "fd7ce7ab-f789-40bc-b699-0c37f1b6902f"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"display_unit": {
|
||||
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
||||
},
|
||||
"subject": {
|
||||
"Element": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59"
|
||||
},
|
||||
"value_type": {
|
||||
"Scalar": {
|
||||
"Quantity": {
|
||||
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "bd5b68e8-65fc-4e35-9071-a73061316a4b",
|
||||
"name": "Total time",
|
||||
"parent": null
|
||||
},
|
||||
"c33fc772-2a60-4044-9af9-73c61c563ace": {
|
||||
"alias": "dispatch_time",
|
||||
"body": {
|
||||
"Oa": {
|
||||
"Shared": {
|
||||
"EngineeringProperty": {
|
||||
"base": {
|
||||
"Expression": {
|
||||
"Quantity": {
|
||||
"magnitude": {
|
||||
"denominator": "1",
|
||||
"numerator": "1"
|
||||
},
|
||||
"unit": {
|
||||
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"display_unit": {
|
||||
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
||||
},
|
||||
"subject": {
|
||||
"Element": "6df991ba-4c5e-4535-99e2-524ae274ee8b"
|
||||
},
|
||||
"value_type": {
|
||||
"Scalar": {
|
||||
"Quantity": {
|
||||
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "",
|
||||
"id": "c33fc772-2a60-4044-9af9-73c61c563ace",
|
||||
"name": "Dispatch time",
|
||||
"parent": null
|
||||
},
|
||||
"cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59": {
|
||||
"alias": "respond",
|
||||
"body": {
|
||||
"Oa": "Activity"
|
||||
},
|
||||
"description": "",
|
||||
"id": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59",
|
||||
"name": "Respond",
|
||||
"parent": null
|
||||
}
|
||||
},
|
||||
"id": "4210b9f2-7046-47f0-aa3b-153f626a579d",
|
||||
"imports": {},
|
||||
"library_instances": {},
|
||||
"name": "Response budget",
|
||||
"relations": {},
|
||||
"schema_version": 8,
|
||||
"traces": {}
|
||||
},
|
||||
"packages": {},
|
||||
"source": {
|
||||
"entry": "active.arcadia",
|
||||
"files": {
|
||||
"active.arcadia": "arcadia 8;\nproject response_budget \"Response budget\" id \"4210b9f2-7046-47f0-aa3b-153f626a579d\" {\n description \"A complete proposed analysis model. Schema 8 and the new declarations are not implemented source7 syntax.\";\n\n quantity_kind duration \"Duration\" id \"188b911c-5f8b-431c-9eea-2d41f3953767\" {\n dimension { time: 1; }\n algebra Linear;\n }\n unit second \"Second\" id \"534f4672-1ba5-4157-8b0a-b9cf41d0a3ce\" {\n kind @duration; scale 1; offset 0; symbol \"s\";\n }\n unit millisecond \"Millisecond\" id \"39053f37-fec9-4708-9f0a-3959d223f891\" {\n kind @duration; scale ratio(1, 1000); offset 0; symbol \"ms\";\n }\n calculation combine \"Combine durations\" id \"fd7ce7ab-f789-40bc-b699-0c37f1b6902f\" {\n input a id \"28ff40b0-1b8f-4735-8536-5a6ab21b56cb\" : Quantity(@duration);\n input b id \"7a47cc1e-8ae5-4551-b2d8-8a68108e0976\" : Quantity(@duration);\n result Quantity(@duration);\n body $a + $b;\n }\n\n oa_activity respond \"Respond\" id \"cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59\" {\n oa_activity receive \"Receive\" id \"4ab9a8a7-7552-488d-9862-e14b89e7b353\" {}\n oa_activity dispatch \"Dispatch\" id \"6df991ba-4c5e-4535-99e2-524ae274ee8b\" {}\n }\n oa_property receive_time \"Receive time\" id \"63a931c2-675a-4fce-89e5-04361cb99450\" {\n subject @receive; type Quantity(@duration); display_unit @millisecond;\n base 750 [@millisecond];\n }\n oa_property dispatch_time \"Dispatch time\" id \"c33fc772-2a60-4044-9af9-73c61c563ace\" {\n subject @dispatch; type Quantity(@duration); display_unit @second;\n base 1 [@second];\n }\n oa_property total_time \"Total time\" id \"bd5b68e8-65fc-4e35-9071-a73061316a4b\" {\n subject @respond; type Quantity(@duration); display_unit @second;\n // The formula is shared. Every read uses the requested evaluation context.\n base @combine(a: @receive_time, b: @dispatch_time);\n }\n oa_property limit \"Allowed duration\" id \"437bedbb-2cf4-44ee-a139-6563cc5086ec\" {\n subject @respond; type Quantity(@duration); display_unit @second;\n base 2 [@second];\n }\n oa_check budget \"Response budget\" id \"bac0de99-9d2f-4e53-9158-d424ecac61bf\" {\n subject none; documented_constraint none;\n predicate @total_time <= @limit;\n }\n oa_analysis degraded \"Degraded radio\" id \"38036c65-16d4-449c-837b-91eb141c1d93\" {\n subject none; base ModelBaseline;\n overrides { @receive_time = 1250 [@millisecond]; }\n }\n oa_analysis unmeasured \"Unmeasured radio\" id \"99d3e09a-0ec3-4194-9dd4-9f3de6625cde\" {\n subject none; base ModelBaseline;\n overrides { @receive_time = unbound; }\n }\n}\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"canonical_source": "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"expression": {
|
||||
"Number": {
|
||||
"denominator": "1",
|
||||
"numerator": "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
}
|
||||
},
|
||||
"name": "ten_to_300"
|
||||
},
|
||||
{
|
||||
"canonical_source": "ratio(1, 522194440706576253345876355358312191289982124523691890192116741641976953985778728424413405967498779170445053357219631418993786719092896803631618043925682638972978488271854999170180795067191859157214035005927973113188159419698856372836167342172293308748403954352901852035642024370059304557233988891799014503343469488440893892973452815095130470299789726716411734651513348221529512507986199933857107770846917779942645743159118957217248367043905936319748237550094520674504208530837546834166925275516486044134775384991808184705966507606898412918594045916828375610659246423184062775112999150206172392431297837246097308511903252956622805412865917690043804311051417135098849101156584508839003337597742539960818209685142687562392007453579567729991395256699805775897135553415567045292136442139895777424891477161767258532611634530697452993846501061481697843891439474220308003706472837459911525285821188577408160690315522951458068463354171428220365223949985950890732881736611925133626529949897998045399734600887312408859224933727829625089164535236559716582775403784110923285873186648442456409760158728501220463308455437074192539205964902261490928669488824051563042951500651206733594863336608245755565801460390869016718045121902354170201577095168)",
|
||||
"expression": {
|
||||
"Number": {
|
||||
"denominator": "522194440706576253345876355358312191289982124523691890192116741641976953985778728424413405967498779170445053357219631418993786719092896803631618043925682638972978488271854999170180795067191859157214035005927973113188159419698856372836167342172293308748403954352901852035642024370059304557233988891799014503343469488440893892973452815095130470299789726716411734651513348221529512507986199933857107770846917779942645743159118957217248367043905936319748237550094520674504208530837546834166925275516486044134775384991808184705966507606898412918594045916828375610659246423184062775112999150206172392431297837246097308511903252956622805412865917690043804311051417135098849101156584508839003337597742539960818209685142687562392007453579567729991395256699805775897135553415567045292136442139895777424891477161767258532611634530697452993846501061481697843891439474220308003706472837459911525285821188577408160690315522951458068463354171428220365223949985950890732881736611925133626529949897998045399734600887312408859224933727829625089164535236559716582775403784110923285873186648442456409760158728501220463308455437074192539205964902261490928669488824051563042951500651206733594863336608245755565801460390869016718045121902354170201577095168",
|
||||
"numerator": "1"
|
||||
}
|
||||
},
|
||||
"name": "one_over_two_to_4095"
|
||||
},
|
||||
{
|
||||
"canonical_source": "ratio(-1044388881413152506691752710716624382579964249047383780384233483283953907971557456848826811934997558340890106714439262837987573438185793607263236087851365277945956976543709998340361590134383718314428070011855946226376318839397712745672334684344586617496807908705803704071284048740118609114467977783598029006686938976881787785946905630190260940599579453432823469303026696443059025015972399867714215541693835559885291486318237914434496734087811872639496475100189041349008417061675093668333850551032972088269550769983616369411933015213796825837188091833656751221318492846368125550225998300412344784862595674492194617023806505913245610825731835380087608622102834270197698202313169017678006675195485079921636419370285375124784014907159135459982790513399611551794271106831134090584272884279791554849782954323534517065223269061394905987693002122963395687782878948440616007412945674919823050571642377154816321380631045902916136926708342856440730447899971901781465763473223850267253059899795996090799469201774624817718449867455659250178329070473119433165550807568221846571746373296884912819520317457002440926616910874148385078411929804522981857338977648103126085903001302413467189726673216491511131602920781738033436090243804708340403154190335, 1)",
|
||||
"expression": {
|
||||
"Number": {
|
||||
"denominator": "1",
|
||||
"numerator": "-1044388881413152506691752710716624382579964249047383780384233483283953907971557456848826811934997558340890106714439262837987573438185793607263236087851365277945956976543709998340361590134383718314428070011855946226376318839397712745672334684344586617496807908705803704071284048740118609114467977783598029006686938976881787785946905630190260940599579453432823469303026696443059025015972399867714215541693835559885291486318237914434496734087811872639496475100189041349008417061675093668333850551032972088269550769983616369411933015213796825837188091833656751221318492846368125550225998300412344784862595674492194617023806505913245610825731835380087608622102834270197698202313169017678006675195485079921636419370285375124784014907159135459982790513399611551794271106831134090584272884279791554849782954323534517065223269061394905987693002122963395687782878948440616007412945674919823050571642377154816321380631045902916136926708342856440730447899971901781465763473223850267253059899795996090799469201774624817718449867455659250178329070473119433165550807568221846571746373296884912819520317457002440926616910874148385078411929804522981857338977648103126085903001302413467189726673216491511131602920781738033436090243804708340403154190335"
|
||||
}
|
||||
},
|
||||
"name": "negative_4096_bit_bound"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,426 @@
|
||||
{
|
||||
"recorded_utc": "2026-09-11T09:28:31.1120792Z",
|
||||
"compiler": "rustc 1.98.1 (48a229cea 2026-09-01), x86_64-pc-windows-gnullvm, LLVM 22.1.8",
|
||||
"compiler_commit": "48a229ceaefd4985c50990b14116b6d856af0985",
|
||||
"flags": [
|
||||
"--edition=2024",
|
||||
"-D",
|
||||
"warnings",
|
||||
"-C",
|
||||
"linker=clang.exe"
|
||||
],
|
||||
"source_sha256": "bc31bacf250f3711758717f18a3104696ed941c3c9b89817caa6a96e6540062a",
|
||||
"executable_sha256": "652a15a96bd9b0cf2aa732c2273ec5e651c18e9d11d668a1ae5f214d120bb310",
|
||||
"assertions_passed": 120,
|
||||
"run_exit_code": 0,
|
||||
"fresh_process_reopen_exit_code": 0,
|
||||
"complete_updated_vs_expected_and_reopened_files_equal": 11,
|
||||
"fixture_count": 81,
|
||||
"files": [
|
||||
{
|
||||
"path": "generated-final/01-initial/management/data1.mount",
|
||||
"sha256": "828815e84eefc2efafb03895f19be38e561161a4b714905fa768f82f4b0b9e9e",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-initial/management/left/base.model",
|
||||
"sha256": "d395e3cd67d2d0ee2cd5c2aeb685a9943cd5cde006c6d2a0c5e9362a2b718404",
|
||||
"bytes": 501
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-initial/management/left/lineage.model",
|
||||
"sha256": "009ebf1f520d967b9281248f863f76e3e6df41944292a4bb88cfa3728c646826",
|
||||
"bytes": 110
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-initial/management/left/map.model",
|
||||
"sha256": "ac8a85f5ca3faaf77b7a5a25a219c2b2cc9052c0d634a18f136f41b5726d69e9",
|
||||
"bytes": 85
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-initial/management/right/base.model",
|
||||
"sha256": "4de79b75cc20bd3f5f66e5e7f2b9a6d11b36c66abc4253dc71243fe16547208e",
|
||||
"bytes": 523
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-initial/management/right/lineage.model",
|
||||
"sha256": "3bc877618796da6639d7947ec46197d321e0ce60ec35bf3fb1d3662867b8215e",
|
||||
"bytes": 120
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-initial/management/right/map.model",
|
||||
"sha256": "af64ecf111266362f9bf3765c71547608fefde72635a565d44e8acaefd664f5a",
|
||||
"bytes": 90
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-initial/packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library",
|
||||
"sha256": "28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33",
|
||||
"bytes": 1116
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-initial/project.model",
|
||||
"sha256": "a4886ca964c12b435ba73f4df2259268fce8d3ab6297a339776f8bbec095a946",
|
||||
"bytes": 1374
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-recompiled/management/data1.mount",
|
||||
"sha256": "828815e84eefc2efafb03895f19be38e561161a4b714905fa768f82f4b0b9e9e",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-recompiled/management/left/base.model",
|
||||
"sha256": "d395e3cd67d2d0ee2cd5c2aeb685a9943cd5cde006c6d2a0c5e9362a2b718404",
|
||||
"bytes": 501
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-recompiled/management/left/lineage.model",
|
||||
"sha256": "009ebf1f520d967b9281248f863f76e3e6df41944292a4bb88cfa3728c646826",
|
||||
"bytes": 110
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-recompiled/management/left/map.model",
|
||||
"sha256": "ac8a85f5ca3faaf77b7a5a25a219c2b2cc9052c0d634a18f136f41b5726d69e9",
|
||||
"bytes": 85
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-recompiled/management/right/base.model",
|
||||
"sha256": "4de79b75cc20bd3f5f66e5e7f2b9a6d11b36c66abc4253dc71243fe16547208e",
|
||||
"bytes": 523
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-recompiled/management/right/lineage.model",
|
||||
"sha256": "3bc877618796da6639d7947ec46197d321e0ce60ec35bf3fb1d3662867b8215e",
|
||||
"bytes": 120
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-recompiled/management/right/map.model",
|
||||
"sha256": "af64ecf111266362f9bf3765c71547608fefde72635a565d44e8acaefd664f5a",
|
||||
"bytes": 90
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-recompiled/packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library",
|
||||
"sha256": "28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33",
|
||||
"bytes": 1116
|
||||
},
|
||||
{
|
||||
"path": "generated-final/01-recompiled/project.model",
|
||||
"sha256": "a4886ca964c12b435ba73f4df2259268fce8d3ab6297a339776f8bbec095a946",
|
||||
"bytes": 1374
|
||||
},
|
||||
{
|
||||
"path": "generated-final/02-edited/management/data1.mount",
|
||||
"sha256": "828815e84eefc2efafb03895f19be38e561161a4b714905fa768f82f4b0b9e9e",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/02-edited/management/left/base.model",
|
||||
"sha256": "d395e3cd67d2d0ee2cd5c2aeb685a9943cd5cde006c6d2a0c5e9362a2b718404",
|
||||
"bytes": 501
|
||||
},
|
||||
{
|
||||
"path": "generated-final/02-edited/management/left/lineage.model",
|
||||
"sha256": "009ebf1f520d967b9281248f863f76e3e6df41944292a4bb88cfa3728c646826",
|
||||
"bytes": 110
|
||||
},
|
||||
{
|
||||
"path": "generated-final/02-edited/management/left/map.model",
|
||||
"sha256": "ac8a85f5ca3faaf77b7a5a25a219c2b2cc9052c0d634a18f136f41b5726d69e9",
|
||||
"bytes": 85
|
||||
},
|
||||
{
|
||||
"path": "generated-final/02-edited/management/right/base.model",
|
||||
"sha256": "4de79b75cc20bd3f5f66e5e7f2b9a6d11b36c66abc4253dc71243fe16547208e",
|
||||
"bytes": 523
|
||||
},
|
||||
{
|
||||
"path": "generated-final/02-edited/management/right/lineage.model",
|
||||
"sha256": "3bc877618796da6639d7947ec46197d321e0ce60ec35bf3fb1d3662867b8215e",
|
||||
"bytes": 120
|
||||
},
|
||||
{
|
||||
"path": "generated-final/02-edited/management/right/map.model",
|
||||
"sha256": "af64ecf111266362f9bf3765c71547608fefde72635a565d44e8acaefd664f5a",
|
||||
"bytes": 90
|
||||
},
|
||||
{
|
||||
"path": "generated-final/02-edited/packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library",
|
||||
"sha256": "28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33",
|
||||
"bytes": 1116
|
||||
},
|
||||
{
|
||||
"path": "generated-final/02-edited/project.model",
|
||||
"sha256": "3864ae2655459b5881d2ee85a28d5a231a1c33cc9b478ace83eb9627a2603f32",
|
||||
"bytes": 1416
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/management/data1.mount",
|
||||
"sha256": "828815e84eefc2efafb03895f19be38e561161a4b714905fa768f82f4b0b9e9e",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/management/data2.mount",
|
||||
"sha256": "f33c8f5ae9d5d26035dc65cb12ba10c3fe6ce7a9bd412b8af9ffcee5ff2c2bbf",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/management/left/base.model",
|
||||
"sha256": "60de8b67c76bcf5630a3387b999d65e8e952e2f2147c585827055a1a169859dc",
|
||||
"bytes": 501
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/management/left/lineage.model",
|
||||
"sha256": "009ebf1f520d967b9281248f863f76e3e6df41944292a4bb88cfa3728c646826",
|
||||
"bytes": 110
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/management/left/map.model",
|
||||
"sha256": "ac8a85f5ca3faaf77b7a5a25a219c2b2cc9052c0d634a18f136f41b5726d69e9",
|
||||
"bytes": 85
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/management/right/base.model",
|
||||
"sha256": "4de79b75cc20bd3f5f66e5e7f2b9a6d11b36c66abc4253dc71243fe16547208e",
|
||||
"bytes": 523
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/management/right/lineage.model",
|
||||
"sha256": "3bc877618796da6639d7947ec46197d321e0ce60ec35bf3fb1d3662867b8215e",
|
||||
"bytes": 120
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/management/right/map.model",
|
||||
"sha256": "af64ecf111266362f9bf3765c71547608fefde72635a565d44e8acaefd664f5a",
|
||||
"bytes": 90
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library",
|
||||
"sha256": "28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33",
|
||||
"bytes": 1116
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/packages/a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779.library",
|
||||
"sha256": "a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779",
|
||||
"bytes": 1121
|
||||
},
|
||||
{
|
||||
"path": "generated-final/03-updated/project.model",
|
||||
"sha256": "45698cd30d6b1fcd773585c2d4bd8d4c882aaa76f1d896afb183d6780f56dcc0",
|
||||
"bytes": 1768
|
||||
},
|
||||
{
|
||||
"path": "generated-final/04-reidentified/management/data1.mount",
|
||||
"sha256": "828815e84eefc2efafb03895f19be38e561161a4b714905fa768f82f4b0b9e9e",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/04-reidentified/management/left/base.model",
|
||||
"sha256": "d395e3cd67d2d0ee2cd5c2aeb685a9943cd5cde006c6d2a0c5e9362a2b718404",
|
||||
"bytes": 501
|
||||
},
|
||||
{
|
||||
"path": "generated-final/04-reidentified/management/left/lineage.model",
|
||||
"sha256": "dbfe42380143f2ac00c641696d5084079e77c19c01cbea9f43753d72b113e331",
|
||||
"bytes": 111
|
||||
},
|
||||
{
|
||||
"path": "generated-final/04-reidentified/management/left/map.model",
|
||||
"sha256": "1d27692c293091242195040269317ed1dd794de48aef37c7c98d4c8f8c194ac7",
|
||||
"bytes": 86
|
||||
},
|
||||
{
|
||||
"path": "generated-final/04-reidentified/management/right/base.model",
|
||||
"sha256": "4de79b75cc20bd3f5f66e5e7f2b9a6d11b36c66abc4253dc71243fe16547208e",
|
||||
"bytes": 523
|
||||
},
|
||||
{
|
||||
"path": "generated-final/04-reidentified/management/right/lineage.model",
|
||||
"sha256": "3bc877618796da6639d7947ec46197d321e0ce60ec35bf3fb1d3662867b8215e",
|
||||
"bytes": 120
|
||||
},
|
||||
{
|
||||
"path": "generated-final/04-reidentified/management/right/map.model",
|
||||
"sha256": "af64ecf111266362f9bf3765c71547608fefde72635a565d44e8acaefd664f5a",
|
||||
"bytes": 90
|
||||
},
|
||||
{
|
||||
"path": "generated-final/04-reidentified/packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library",
|
||||
"sha256": "28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33",
|
||||
"bytes": 1116
|
||||
},
|
||||
{
|
||||
"path": "generated-final/04-reidentified/project.model",
|
||||
"sha256": "b45e9b41f5aec27b0a39663ecae7154dbb14d5e8e938b93e30f94ca80c2f7104",
|
||||
"bytes": 1419
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/management/data1.mount",
|
||||
"sha256": "828815e84eefc2efafb03895f19be38e561161a4b714905fa768f82f4b0b9e9e",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/management/data2.mount",
|
||||
"sha256": "f33c8f5ae9d5d26035dc65cb12ba10c3fe6ce7a9bd412b8af9ffcee5ff2c2bbf",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/management/left/base.model",
|
||||
"sha256": "60de8b67c76bcf5630a3387b999d65e8e952e2f2147c585827055a1a169859dc",
|
||||
"bytes": 501
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/management/left/lineage.model",
|
||||
"sha256": "009ebf1f520d967b9281248f863f76e3e6df41944292a4bb88cfa3728c646826",
|
||||
"bytes": 110
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/management/left/map.model",
|
||||
"sha256": "ac8a85f5ca3faaf77b7a5a25a219c2b2cc9052c0d634a18f136f41b5726d69e9",
|
||||
"bytes": 85
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/management/right/base.model",
|
||||
"sha256": "4de79b75cc20bd3f5f66e5e7f2b9a6d11b36c66abc4253dc71243fe16547208e",
|
||||
"bytes": 523
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/management/right/lineage.model",
|
||||
"sha256": "3bc877618796da6639d7947ec46197d321e0ce60ec35bf3fb1d3662867b8215e",
|
||||
"bytes": 120
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/management/right/map.model",
|
||||
"sha256": "af64ecf111266362f9bf3765c71547608fefde72635a565d44e8acaefd664f5a",
|
||||
"bytes": 90
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library",
|
||||
"sha256": "28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33",
|
||||
"bytes": 1116
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/packages/a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779.library",
|
||||
"sha256": "a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779",
|
||||
"bytes": 1121
|
||||
},
|
||||
{
|
||||
"path": "generated-final/05-fresh-process-reopened/project.model",
|
||||
"sha256": "45698cd30d6b1fcd773585c2d4bd8d4c882aaa76f1d896afb183d6780f56dcc0",
|
||||
"bytes": 1768
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/management/data1.mount",
|
||||
"sha256": "828815e84eefc2efafb03895f19be38e561161a4b714905fa768f82f4b0b9e9e",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/management/data2.mount",
|
||||
"sha256": "f33c8f5ae9d5d26035dc65cb12ba10c3fe6ce7a9bd412b8af9ffcee5ff2c2bbf",
|
||||
"bytes": 137
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/management/left/base.model",
|
||||
"sha256": "60de8b67c76bcf5630a3387b999d65e8e952e2f2147c585827055a1a169859dc",
|
||||
"bytes": 501
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/management/left/lineage.model",
|
||||
"sha256": "009ebf1f520d967b9281248f863f76e3e6df41944292a4bb88cfa3728c646826",
|
||||
"bytes": 110
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/management/left/map.model",
|
||||
"sha256": "ac8a85f5ca3faaf77b7a5a25a219c2b2cc9052c0d634a18f136f41b5726d69e9",
|
||||
"bytes": 85
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/management/right/base.model",
|
||||
"sha256": "4de79b75cc20bd3f5f66e5e7f2b9a6d11b36c66abc4253dc71243fe16547208e",
|
||||
"bytes": 523
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/management/right/lineage.model",
|
||||
"sha256": "3bc877618796da6639d7947ec46197d321e0ce60ec35bf3fb1d3662867b8215e",
|
||||
"bytes": 120
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/management/right/map.model",
|
||||
"sha256": "af64ecf111266362f9bf3765c71547608fefde72635a565d44e8acaefd664f5a",
|
||||
"bytes": 90
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library",
|
||||
"sha256": "28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33",
|
||||
"bytes": 1116
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/packages/a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779.library",
|
||||
"sha256": "a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779",
|
||||
"bytes": 1121
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-full-updated/project.model",
|
||||
"sha256": "45698cd30d6b1fcd773585c2d4bd8d4c882aaa76f1d896afb183d6780f56dcc0",
|
||||
"bytes": 1768
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-initial.model",
|
||||
"sha256": "470c2e384d217c6cfc818509381ac22fb38ff33074cd167141aab51858593065",
|
||||
"bytes": 1035
|
||||
},
|
||||
{
|
||||
"path": "generated-final/expected-key-records.model",
|
||||
"sha256": "cab552e0674d17ecc6bbc2cb2acc7c156680d2aa7ca4b2eef617e59737152667",
|
||||
"bytes": 558
|
||||
},
|
||||
{
|
||||
"path": "generated-final/explicit-bridges.model",
|
||||
"sha256": "7cc69321432fc414e248eefc76768004a301b76c870e1766ba22534a05bfa7e9",
|
||||
"bytes": 338
|
||||
},
|
||||
{
|
||||
"path": "generated-final/initial.request",
|
||||
"sha256": "c18e02f799dd8635f979429991b66088fee5b0ef9fe56e9b6a7761fa1d5ec681",
|
||||
"bytes": 330
|
||||
},
|
||||
{
|
||||
"path": "generated-final/local-edit.request",
|
||||
"sha256": "68a3253cbec698468ee6ee307d179f6e01d825111de5e522fdb6f57f07bca260",
|
||||
"bytes": 34
|
||||
},
|
||||
{
|
||||
"path": "generated-final/oa-sa-transition.model",
|
||||
"sha256": "bb129c495d8f7dbc7eaaa470a3e83a7d8fb5630016696f4912fdfa5e5714dcb8",
|
||||
"bytes": 6308
|
||||
},
|
||||
{
|
||||
"path": "generated-final/package-D1.library",
|
||||
"sha256": "28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33",
|
||||
"bytes": 1116
|
||||
},
|
||||
{
|
||||
"path": "generated-final/package-D2.library",
|
||||
"sha256": "a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779",
|
||||
"bytes": 1121
|
||||
},
|
||||
{
|
||||
"path": "generated-final/package-D3.library",
|
||||
"sha256": "4b05d6a15115448e318d0c5d567ebb0bb9e0ab6438bd238e5f3a0716c7db1ee8",
|
||||
"bytes": 1116
|
||||
},
|
||||
{
|
||||
"path": "generated-final/package-SA.library",
|
||||
"sha256": "f52b2a9281b60d35ddc0044fc9624b3b30ee0d35d88d1130c2c3e1af54e05696",
|
||||
"bytes": 296
|
||||
},
|
||||
{
|
||||
"path": "generated-final/RESULTS.md",
|
||||
"sha256": "0c4456fb62d0de8b31d1d1e24b32d2e54ceff30908a696e01b94956b84c04dcd",
|
||||
"bytes": 1667
|
||||
},
|
||||
{
|
||||
"path": "generated-final/selective-update.request",
|
||||
"sha256": "961a87fa1c3357101bdd4369b0ec016a56105a7158c90c073dcb6e5babd5284d",
|
||||
"bytes": 113
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
# Isolated library compatibility experiment
|
||||
|
||||
Codex-956atf `/root/library_compatibility`, 2026-09-11. Read the [candidate contract](../../release-library-compatibility-contract-20260911.md) for the recommended production semantics and explicit limits.
|
||||
|
||||
`main.rs` is a std-only finite-model experiment, not Studio code or accepted source7 grammar. Its archive files use opaque symbolic IDs, a closed pipe-delimited record dialect and integer-millisecond arithmetic. Every final package contains its complete relevant prototype records and definitions. The `SELF` definition-reference category becomes an exact imported reference during materialization; the external sink prototype is mapped by a declared role. The source request starts with a blank project and a supplied package, creates two independent instances, edits one property, then selectively adopts a cosmetic revision while preserving outside consumers.
|
||||
|
||||
Final evidence is exclusively in `generated-final/` and `EVIDENCE.json`. The `generated/` directory contains the superseded preliminary interpreter-default run and is labeled accordingly. Its removal was rejected by automatic approval review; it is not final evidence.
|
||||
|
||||
## Reproduce on this configured Windows host
|
||||
|
||||
Root authorized this isolated compiler invocation. It does not invoke Cargo or write `target`. The toolchain setup path is this workspace's existing local setup, not a portable dependency included in the repository.
|
||||
|
||||
```powershell
|
||||
. '.local/toolchain/env.ps1'
|
||||
New-Item -ItemType Directory -Path '.local/library-compatibility-20260911' -Force | Out-Null
|
||||
rustc --edition=2024 -D warnings -C linker=clang.exe `
|
||||
'harness/experiments/library-compatibility-20260911/main.rs' `
|
||||
-o '.local/library-compatibility-20260911/library-compatibility.exe'
|
||||
& '.local/library-compatibility-20260911/library-compatibility.exe' `
|
||||
'harness/experiments/library-compatibility-20260911/generated-final'
|
||||
& '.local/library-compatibility-20260911/library-compatibility.exe' --reopen `
|
||||
'harness/experiments/library-compatibility-20260911/generated-final/03-updated' `
|
||||
'harness/experiments/library-compatibility-20260911/generated-final/05-fresh-process-reopened'
|
||||
```
|
||||
|
||||
On another host, compile this same std-only source with a suitable Rust compiler and run the executable with the explicit output directory. Omit the Windows linker override where inappropriate. No network, Studio process, package cache or GUI is used. The separate `--reopen` process loads only the declared project/management/package files; it does not recreate the initial package or consult the experiment's package constructors.
|
||||
|
||||
Final compiler: `rustc 1.98.1 (48a229cea 2026-09-01)`, host `x86_64-pc-windows-gnullvm`, LLVM 22.1.8. Final run: 120 assertions, exit 0; fresh-process reopen: exit 0. All 11 files of the updated, expected and fresh-reopened documents have independently matching SHA-256 hashes.
|
||||
|
||||
## Read the experiment
|
||||
|
||||
- `generated-final/package-D1.library`: complete exact original package. D2 changes only version/documentation; D3 changes the field cardinality. The SA package is a distinct explicit target package.
|
||||
- `initial.request`, `local-edit.request`, `selective-update.request`: concise complete experiment requests. `D1` in the initial request denotes the explicitly supplied D1 archive in the runner, not a cache search.
|
||||
- `01-initial/`, `02-edited/`, `03-updated/`: complete accepted snapshots. `project.model` declares all package and management paths. Each instance has a full typed `base.model`, `map.model`, and `lineage.model`.
|
||||
- `expected-initial.model` and `expected-full-updated/`: independently specified literal initial records and complete updated document oracle. The expected changed rows do not come from `update()` or `materialize()`.
|
||||
- `04-reidentified/`: current-ID remap with the exact original baseline retained and explicit lineage.
|
||||
- `05-fresh-process-reopened/`: output of a new process loading the updated portable directory.
|
||||
- `explicit-bridges.model`: two validated pair-specific identity witnesses for the alternative bridge policy.
|
||||
- `oa-sa-transition.model`: complete finite pinned/derivative dictionary maps, origin/target pins, target functions/ports/exchange and a refined derivative that cannot be silently written back into the original mount.
|
||||
- `RESULTS.md`: final observed results and limitations. `EVIDENCE.json` is one level above it and records source/executable/fixture hashes.
|
||||
|
||||
The source parser/materializer, full-state parser/writer and finite admission checks are separate paths. Negative controls include strict revision-only consumer rejection, missing explicit bridges, different origins and Energy/Torque, changed contract closure, stale update revision, unresolved expression conflict, field/operation mapping, wrong-layer counterpart, incomplete correspondence, forged package/base/current map, missing imports, reused reserved IDs, local name/subject edits, unrelated additions and dangling outside consumers.
|
||||
|
||||
The frozen archive/source hashes depend on exact bytes. Do not normalize line endings when publishing these fixtures. A compile-time type inference correction and the move from interpreter-supplied prototype defaults to complete package records occurred before the final hash-bound run. They are not counted as passing final experiments.
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data1/Alarm
|
||||
member|Code|data1/Code
|
||||
member|Flag|data1/Flag
|
||||
member|Interface|data1/Interface
|
||||
member|Operation|data1/Operation
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_left|left
|
||||
original|A|left/A
|
||||
original|C|left/C
|
||||
original|E|left/E
|
||||
original|K|left/K
|
||||
original|P|left/P
|
||||
member|A|record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
member|C|record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
member|E|record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data1/Alarm
|
||||
member|K|record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
member|P|record|left/P|OA|left Elapsed|Property|left/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|left/A|left/A
|
||||
lineage|left/C|left/C
|
||||
lineage|left/E|left/E
|
||||
lineage|left/K|left/K
|
||||
lineage|left/P|left/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|left/A
|
||||
current|C|left/C
|
||||
current|E|left/E
|
||||
current|K|left/K
|
||||
current|P|left/P
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_right|right
|
||||
original|A|right/A
|
||||
original|C|right/C
|
||||
original|E|right/E
|
||||
original|K|right/K
|
||||
original|P|right/P
|
||||
member|A|record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
member|C|record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
member|E|record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
member|K|record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
member|P|record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|right/A|right/A
|
||||
lineage|right/C|right/C
|
||||
lineage|right/E|right/E
|
||||
lineage|right/K|right/K
|
||||
lineage|right/P|right/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|right/A
|
||||
current|C|right/C
|
||||
current|E|right/E
|
||||
current|K|right/K
|
||||
current|P|right/P
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.0
|
||||
description|Monitor alarm
|
||||
note|Initial documentation
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
document|Alpha|1
|
||||
import|controls1|ControlPatterns|1.0.0|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library
|
||||
mount|data1|controls1|management/data1.mount
|
||||
instance|left|management/left
|
||||
instance|right|management/right
|
||||
record|budget|OA|Combined duration|Budget|left/P|right/P|controls1:Duration|2000@controls1:ms
|
||||
record|global|OA|Unrelated project-wide study|Case|-|left/P=3000@controls1:ms
|
||||
record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data1/Alarm
|
||||
record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
record|left/P|OA|left Elapsed|Property|left/A|controls1:Duration|750@controls1:ms
|
||||
record|outside|OA|Outside typed receiver|Consumer|left/E|data1/Interface|data1/Operation|data1/Code
|
||||
record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
record|sink_left|OA|Receive left|Activity|
|
||||
record|sink_right|OA|Receive right|Activity|
|
||||
applied|create-two-instances
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data1/Alarm
|
||||
member|Code|data1/Code
|
||||
member|Flag|data1/Flag
|
||||
member|Interface|data1/Interface
|
||||
member|Operation|data1/Operation
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_left|left
|
||||
original|A|left/A
|
||||
original|C|left/C
|
||||
original|E|left/E
|
||||
original|K|left/K
|
||||
original|P|left/P
|
||||
member|A|record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
member|C|record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
member|E|record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data1/Alarm
|
||||
member|K|record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
member|P|record|left/P|OA|left Elapsed|Property|left/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|left/A|left/A
|
||||
lineage|left/C|left/C
|
||||
lineage|left/E|left/E
|
||||
lineage|left/K|left/K
|
||||
lineage|left/P|left/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|left/A
|
||||
current|C|left/C
|
||||
current|E|left/E
|
||||
current|K|left/K
|
||||
current|P|left/P
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_right|right
|
||||
original|A|right/A
|
||||
original|C|right/C
|
||||
original|E|right/E
|
||||
original|K|right/K
|
||||
original|P|right/P
|
||||
member|A|record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
member|C|record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
member|E|record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
member|K|record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
member|P|record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|right/A|right/A
|
||||
lineage|right/C|right/C
|
||||
lineage|right/E|right/E
|
||||
lineage|right/K|right/K
|
||||
lineage|right/P|right/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|right/A
|
||||
current|C|right/C
|
||||
current|E|right/E
|
||||
current|K|right/K
|
||||
current|P|right/P
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.0
|
||||
description|Monitor alarm
|
||||
note|Initial documentation
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
document|Alpha|1
|
||||
import|controls1|ControlPatterns|1.0.0|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library
|
||||
mount|data1|controls1|management/data1.mount
|
||||
instance|left|management/left
|
||||
instance|right|management/right
|
||||
record|budget|OA|Combined duration|Budget|left/P|right/P|controls1:Duration|2000@controls1:ms
|
||||
record|global|OA|Unrelated project-wide study|Case|-|left/P=3000@controls1:ms
|
||||
record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data1/Alarm
|
||||
record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
record|left/P|OA|left Elapsed|Property|left/A|controls1:Duration|750@controls1:ms
|
||||
record|outside|OA|Outside typed receiver|Consumer|left/E|data1/Interface|data1/Operation|data1/Code
|
||||
record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
record|sink_left|OA|Receive left|Activity|
|
||||
record|sink_right|OA|Receive right|Activity|
|
||||
applied|create-two-instances
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data1/Alarm
|
||||
member|Code|data1/Code
|
||||
member|Flag|data1/Flag
|
||||
member|Interface|data1/Interface
|
||||
member|Operation|data1/Operation
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_left|left
|
||||
original|A|left/A
|
||||
original|C|left/C
|
||||
original|E|left/E
|
||||
original|K|left/K
|
||||
original|P|left/P
|
||||
member|A|record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
member|C|record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
member|E|record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data1/Alarm
|
||||
member|K|record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
member|P|record|left/P|OA|left Elapsed|Property|left/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|left/A|left/A
|
||||
lineage|left/C|left/C
|
||||
lineage|left/E|left/E
|
||||
lineage|left/K|left/K
|
||||
lineage|left/P|left/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|left/A
|
||||
current|C|left/C
|
||||
current|E|left/E
|
||||
current|K|left/K
|
||||
current|P|left/P
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_right|right
|
||||
original|A|right/A
|
||||
original|C|right/C
|
||||
original|E|right/E
|
||||
original|K|right/K
|
||||
original|P|right/P
|
||||
member|A|record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
member|C|record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
member|E|record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
member|K|record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
member|P|record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|right/A|right/A
|
||||
lineage|right/C|right/C
|
||||
lineage|right/E|right/E
|
||||
lineage|right/K|right/K
|
||||
lineage|right/P|right/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|right/A
|
||||
current|C|right/C
|
||||
current|E|right/E
|
||||
current|K|right/K
|
||||
current|P|right/P
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.0
|
||||
description|Monitor alarm
|
||||
note|Initial documentation
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
document|Alpha|2
|
||||
import|controls1|ControlPatterns|1.0.0|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library
|
||||
mount|data1|controls1|management/data1.mount
|
||||
instance|left|management/left
|
||||
instance|right|management/right
|
||||
record|budget|OA|Combined duration|Budget|left/P|right/P|controls1:Duration|2000@controls1:ms
|
||||
record|global|OA|Unrelated project-wide study|Case|-|left/P=3000@controls1:ms
|
||||
record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data1/Alarm
|
||||
record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
record|left/P|OA|left Elapsed|Property|left/A|controls1:Duration|900@controls1:ms
|
||||
record|outside|OA|Outside typed receiver|Consumer|left/E|data1/Interface|data1/Operation|data1/Code
|
||||
record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
record|sink_left|OA|Receive left|Activity|
|
||||
record|sink_right|OA|Receive right|Activity|
|
||||
applied|create-two-instances
|
||||
applied|edit_base|left/P|900@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data1/Alarm
|
||||
member|Code|data1/Code
|
||||
member|Flag|data1/Flag
|
||||
member|Interface|data1/Interface
|
||||
member|Operation|data1/Operation
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data2/Alarm
|
||||
member|Code|data2/Code
|
||||
member|Flag|data2/Flag
|
||||
member|Interface|data2/Interface
|
||||
member|Operation|data2/Operation
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls2|data2|sink_left|left
|
||||
original|A|left/A
|
||||
original|C|left/C
|
||||
original|E|left/E
|
||||
original|K|left/K
|
||||
original|P|left/P
|
||||
member|A|record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
member|C|record|left/C|OA|left Stress|Case|-|left/P=1250@controls2:ms
|
||||
member|E|record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data2/Alarm
|
||||
member|K|record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls2:ms
|
||||
member|P|record|left/P|OA|left Elapsed|Property|left/A|controls2:Duration|750@controls2:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|left/A|left/A
|
||||
lineage|left/C|left/C
|
||||
lineage|left/E|left/E
|
||||
lineage|left/K|left/K
|
||||
lineage|left/P|left/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|left/A
|
||||
current|C|left/C
|
||||
current|E|left/E
|
||||
current|K|left/K
|
||||
current|P|left/P
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_right|right
|
||||
original|A|right/A
|
||||
original|C|right/C
|
||||
original|E|right/E
|
||||
original|K|right/K
|
||||
original|P|right/P
|
||||
member|A|record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
member|C|record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
member|E|record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
member|K|record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
member|P|record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|right/A|right/A
|
||||
lineage|right/C|right/C
|
||||
lineage|right/E|right/E
|
||||
lineage|right/K|right/K
|
||||
lineage|right/P|right/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|right/A
|
||||
current|C|right/C
|
||||
current|E|right/E
|
||||
current|K|right/K
|
||||
current|P|right/P
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.0
|
||||
description|Monitor alarm
|
||||
note|Initial documentation
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.1
|
||||
description|Monitor alarm
|
||||
note|Revised documentation only
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
document|Alpha|3
|
||||
import|controls1|ControlPatterns|1.0.0|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library
|
||||
import|controls2|ControlPatterns|1.0.1|a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779|packages/a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779.library
|
||||
mount|data1|controls1|management/data1.mount
|
||||
mount|data2|controls2|management/data2.mount
|
||||
instance|left|management/left
|
||||
instance|right|management/right
|
||||
record|budget|OA|Combined duration|Budget|left/P|right/P|controls1:Duration|2000@controls1:ms
|
||||
record|global|OA|Unrelated project-wide study|Case|-|left/P=3000@controls1:ms
|
||||
record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
record|left/C|OA|left Stress|Case|-|left/P=1250@controls2:ms
|
||||
record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data2/Alarm
|
||||
record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls2:ms
|
||||
record|left/P|OA|left Elapsed|Property|left/A|controls2:Duration|900@controls1:ms
|
||||
record|outside|OA|Outside typed receiver|Consumer|left/E|data1/Interface|data1/Operation|data1/Code
|
||||
record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
record|sink_left|OA|Receive left|Activity|
|
||||
record|sink_right|OA|Receive right|Activity|
|
||||
applied|create-two-instances
|
||||
applied|edit_base|left/P|900@controls1:ms
|
||||
applied|update|left|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|controls2|data2|2|P.base=keep_local
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data1/Alarm
|
||||
member|Code|data1/Code
|
||||
member|Flag|data1/Flag
|
||||
member|Interface|data1/Interface
|
||||
member|Operation|data1/Operation
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_left|left
|
||||
original|A|left/A
|
||||
original|C|left/C
|
||||
original|E|left/E
|
||||
original|K|left/K
|
||||
original|P|left/P
|
||||
member|A|record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
member|C|record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
member|E|record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data1/Alarm
|
||||
member|K|record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
member|P|record|left/P|OA|left Elapsed|Property|left/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|left/A|left/A2
|
||||
lineage|left/C|left/C
|
||||
lineage|left/E|left/E
|
||||
lineage|left/K|left/K
|
||||
lineage|left/P|left/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|left/A2
|
||||
current|C|left/C
|
||||
current|E|left/E
|
||||
current|K|left/K
|
||||
current|P|left/P
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_right|right
|
||||
original|A|right/A
|
||||
original|C|right/C
|
||||
original|E|right/E
|
||||
original|K|right/K
|
||||
original|P|right/P
|
||||
member|A|record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
member|C|record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
member|E|record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
member|K|record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
member|P|record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|right/A|right/A
|
||||
lineage|right/C|right/C
|
||||
lineage|right/E|right/E
|
||||
lineage|right/K|right/K
|
||||
lineage|right/P|right/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|right/A
|
||||
current|C|right/C
|
||||
current|E|right/E
|
||||
current|K|right/K
|
||||
current|P|right/P
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.0
|
||||
description|Monitor alarm
|
||||
note|Initial documentation
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
document|Alpha|2
|
||||
import|controls1|ControlPatterns|1.0.0|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library
|
||||
mount|data1|controls1|management/data1.mount
|
||||
instance|left|management/left
|
||||
instance|right|management/right
|
||||
record|budget|OA|Combined duration|Budget|left/P|right/P|controls1:Duration|2000@controls1:ms
|
||||
record|global|OA|Unrelated project-wide study|Case|-|left/P=3000@controls1:ms
|
||||
record|left/A2|OA|left Watch|Activity|Monitor alarm
|
||||
record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
record|left/E|OA|left Alarm|Interaction|left/A2|sink_left|data1/Alarm
|
||||
record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
record|left/P|OA|left Elapsed|Property|left/A2|controls1:Duration|900@controls1:ms
|
||||
record|outside|OA|Outside typed receiver|Consumer|left/E|data1/Interface|data1/Operation|data1/Code
|
||||
record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
record|sink_left|OA|Receive left|Activity|
|
||||
record|sink_right|OA|Receive right|Activity|
|
||||
applied|create-two-instances
|
||||
applied|edit_base|left/P|900@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data1/Alarm
|
||||
member|Code|data1/Code
|
||||
member|Flag|data1/Flag
|
||||
member|Interface|data1/Interface
|
||||
member|Operation|data1/Operation
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data2/Alarm
|
||||
member|Code|data2/Code
|
||||
member|Flag|data2/Flag
|
||||
member|Interface|data2/Interface
|
||||
member|Operation|data2/Operation
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls2|data2|sink_left|left
|
||||
original|A|left/A
|
||||
original|C|left/C
|
||||
original|E|left/E
|
||||
original|K|left/K
|
||||
original|P|left/P
|
||||
member|A|record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
member|C|record|left/C|OA|left Stress|Case|-|left/P=1250@controls2:ms
|
||||
member|E|record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data2/Alarm
|
||||
member|K|record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls2:ms
|
||||
member|P|record|left/P|OA|left Elapsed|Property|left/A|controls2:Duration|750@controls2:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|left/A|left/A
|
||||
lineage|left/C|left/C
|
||||
lineage|left/E|left/E
|
||||
lineage|left/K|left/K
|
||||
lineage|left/P|left/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|left/A
|
||||
current|C|left/C
|
||||
current|E|left/E
|
||||
current|K|left/K
|
||||
current|P|left/P
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_right|right
|
||||
original|A|right/A
|
||||
original|C|right/C
|
||||
original|E|right/E
|
||||
original|K|right/K
|
||||
original|P|right/P
|
||||
member|A|record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
member|C|record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
member|E|record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
member|K|record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
member|P|record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|right/A|right/A
|
||||
lineage|right/C|right/C
|
||||
lineage|right/E|right/E
|
||||
lineage|right/K|right/K
|
||||
lineage|right/P|right/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|right/A
|
||||
current|C|right/C
|
||||
current|E|right/E
|
||||
current|K|right/K
|
||||
current|P|right/P
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.0
|
||||
description|Monitor alarm
|
||||
note|Initial documentation
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.1
|
||||
description|Monitor alarm
|
||||
note|Revised documentation only
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
document|Alpha|3
|
||||
import|controls1|ControlPatterns|1.0.0|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library
|
||||
import|controls2|ControlPatterns|1.0.1|a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779|packages/a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779.library
|
||||
mount|data1|controls1|management/data1.mount
|
||||
mount|data2|controls2|management/data2.mount
|
||||
instance|left|management/left
|
||||
instance|right|management/right
|
||||
record|budget|OA|Combined duration|Budget|left/P|right/P|controls1:Duration|2000@controls1:ms
|
||||
record|global|OA|Unrelated project-wide study|Case|-|left/P=3000@controls1:ms
|
||||
record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
record|left/C|OA|left Stress|Case|-|left/P=1250@controls2:ms
|
||||
record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data2/Alarm
|
||||
record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls2:ms
|
||||
record|left/P|OA|left Elapsed|Property|left/A|controls2:Duration|900@controls1:ms
|
||||
record|outside|OA|Outside typed receiver|Consumer|left/E|data1/Interface|data1/Operation|data1/Code
|
||||
record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
record|sink_left|OA|Receive left|Activity|
|
||||
record|sink_right|OA|Receive right|Activity|
|
||||
applied|create-two-instances
|
||||
applied|edit_base|left/P|900@controls1:ms
|
||||
applied|update|left|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|controls2|data2|2|P.base=keep_local
|
||||
@@ -0,0 +1,24 @@
|
||||
# Finite-model results
|
||||
|
||||
Assertions passed: 120
|
||||
|
||||
Initial budget: 1500 ms, satisfied.
|
||||
After one local base edit: 1650 ms, satisfied.
|
||||
After selected cosmetic update: 1650 ms, satisfied; exact pins differ.
|
||||
Outside budget/consumer/global case: exact records unchanged.
|
||||
Updated left baseline: 750 controls2:ms; current: 900 controls1:ms; declared kind controls2:Duration.
|
||||
Right instance/base/map: exact original.
|
||||
Contract path projection: data1/Code -> data2/Code and data1/Operation -> data2/Operation.
|
||||
Changed field cardinality: selective candidate rejected.
|
||||
Strict revision identity: old/new refs unequal.
|
||||
Same-origin typed compatibility: cosmetic revision accepted; Energy/Torque, other origin, changed contract rejected.
|
||||
Bridge alternative: 2 explicit validated direct witnesses; changed contracts rejected.
|
||||
Stable vocabulary alternative: exact common pin survives pattern change; vocabulary change remains unresolved without compatibility/migration.
|
||||
Subjectless explicit C+K selected; unrelated G omitted; selected G requires Q boundary.
|
||||
OA/SA: explicit pinned counterpart or independent local derivative; refined reverse counterpart fails exact transformed contract.
|
||||
|
||||
D1: 28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33
|
||||
D2: a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779
|
||||
D3: 4b05d6a15115448e318d0c5d567ebb0bb9e0ab6438bd238e5f3a0716c7db1ee8
|
||||
|
||||
This dialect uses opaque symbolic identities, a restricted AST, one package per import and scalar integer-millisecond arithmetic. It is not Studio source, a full package dependency solver, production UUID allocation, complete data/operation/transition admission, REST or native acceptance.
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data1/Alarm
|
||||
member|Code|data1/Code
|
||||
member|Flag|data1/Flag
|
||||
member|Interface|data1/Interface
|
||||
member|Operation|data1/Operation
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data2/Alarm
|
||||
member|Code|data2/Code
|
||||
member|Flag|data2/Flag
|
||||
member|Interface|data2/Interface
|
||||
member|Operation|data2/Operation
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls2|data2|sink_left|left
|
||||
original|A|left/A
|
||||
original|C|left/C
|
||||
original|E|left/E
|
||||
original|K|left/K
|
||||
original|P|left/P
|
||||
member|A|record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
member|C|record|left/C|OA|left Stress|Case|-|left/P=1250@controls2:ms
|
||||
member|E|record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data2/Alarm
|
||||
member|K|record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls2:ms
|
||||
member|P|record|left/P|OA|left Elapsed|Property|left/A|controls2:Duration|750@controls2:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|left/A|left/A
|
||||
lineage|left/C|left/C
|
||||
lineage|left/E|left/E
|
||||
lineage|left/K|left/K
|
||||
lineage|left/P|left/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|left/A
|
||||
current|C|left/C
|
||||
current|E|left/E
|
||||
current|K|left/K
|
||||
current|P|left/P
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_right|right
|
||||
original|A|right/A
|
||||
original|C|right/C
|
||||
original|E|right/E
|
||||
original|K|right/K
|
||||
original|P|right/P
|
||||
member|A|record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
member|C|record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
member|E|record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
member|K|record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
member|P|record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|right/A|right/A
|
||||
lineage|right/C|right/C
|
||||
lineage|right/E|right/E
|
||||
lineage|right/K|right/K
|
||||
lineage|right/P|right/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|right/A
|
||||
current|C|right/C
|
||||
current|E|right/E
|
||||
current|K|right/K
|
||||
current|P|right/P
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.0
|
||||
description|Monitor alarm
|
||||
note|Initial documentation
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.1
|
||||
description|Monitor alarm
|
||||
note|Revised documentation only
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
document|Alpha|3
|
||||
import|controls1|ControlPatterns|1.0.0|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|packages/28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33.library
|
||||
import|controls2|ControlPatterns|1.0.1|a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779|packages/a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779.library
|
||||
mount|data1|controls1|management/data1.mount
|
||||
mount|data2|controls2|management/data2.mount
|
||||
instance|left|management/left
|
||||
instance|right|management/right
|
||||
record|budget|OA|Combined duration|Budget|left/P|right/P|controls1:Duration|2000@controls1:ms
|
||||
record|global|OA|Unrelated project-wide study|Case|-|left/P=3000@controls1:ms
|
||||
record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
record|left/C|OA|left Stress|Case|-|left/P=1250@controls2:ms
|
||||
record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data2/Alarm
|
||||
record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls2:ms
|
||||
record|left/P|OA|left Elapsed|Property|left/A|controls2:Duration|900@controls1:ms
|
||||
record|outside|OA|Outside typed receiver|Consumer|left/E|data1/Interface|data1/Operation|data1/Code
|
||||
record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
record|sink_left|OA|Receive left|Activity|
|
||||
record|sink_right|OA|Receive right|Activity|
|
||||
applied|create-two-instances
|
||||
applied|edit_base|left/P|900@controls1:ms
|
||||
applied|update|left|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|controls2|data2|2|P.base=keep_local
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
record|sink_left|OA|Receive left|Activity|
|
||||
record|sink_right|OA|Receive right|Activity|
|
||||
record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data1/Alarm
|
||||
record|left/P|OA|left Elapsed|Property|left/A|controls1:Duration|750@controls1:ms
|
||||
record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
record|right/A|OA|right Watch|Activity|Monitor alarm
|
||||
record|right/E|OA|right Alarm|Interaction|right/A|sink_right|data1/Alarm
|
||||
record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
record|right/C|OA|right Stress|Case|-|right/P=1250@controls1:ms
|
||||
record|right/K|OA|right Elapsed limit|Check|right/P|1000@controls1:ms
|
||||
record|budget|OA|Combined duration|Budget|left/P|right/P|controls1:Duration|2000@controls1:ms
|
||||
record|outside|OA|Outside typed receiver|Consumer|left/E|data1/Interface|data1/Operation|data1/Code
|
||||
record|global|OA|Unrelated project-wide study|Case|-|left/P=3000@controls1:ms
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
record|left/P|OA|left Elapsed|Property|left/A|controls2:Duration|900@controls1:ms
|
||||
record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data2/Alarm
|
||||
record|left/C|OA|left Stress|Case|-|left/P=1250@controls2:ms
|
||||
record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls2:ms
|
||||
record|right/P|OA|right Elapsed|Property|right/A|controls1:Duration|750@controls1:ms
|
||||
record|budget|OA|Combined duration|Budget|left/P|right/P|controls1:Duration|2000@controls1:ms
|
||||
record|outside|OA|Outside typed receiver|Consumer|left/E|data1/Interface|data1/Operation|data1/Code
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
checked-same-origin|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|Duration|a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779|Duration
|
||||
checked-same-origin|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|Interface|a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779|Interface
|
||||
@@ -0,0 +1,11 @@
|
||||
new|Alpha
|
||||
import|controls1|D1
|
||||
mount|data1|controls1
|
||||
activity|sink_left|Receive left
|
||||
activity|sink_right|Receive right
|
||||
instantiate|left|controls1|data1|sink_left
|
||||
instantiate|right|controls1|data1|sink_right
|
||||
budget|budget|left/P|right/P|controls1
|
||||
consumer|outside|left/E|data1
|
||||
global_case|global|left/P
|
||||
receipt|create-two-instances
|
||||
@@ -0,0 +1 @@
|
||||
edit_base|left/P|900@controls1:ms
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
pinned-counterpart=Transition {
|
||||
layer: "SA",
|
||||
records: {
|
||||
"SA/Alarm": Definition {
|
||||
member: "SA/Alarm",
|
||||
class: "Item",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"Flow",
|
||||
],
|
||||
refs: [
|
||||
"SA/Code",
|
||||
],
|
||||
},
|
||||
"SA/Code": Definition {
|
||||
member: "SA/Code",
|
||||
class: "Field",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"minimum=1;maximum=1",
|
||||
],
|
||||
refs: [
|
||||
"SA/Alarm",
|
||||
"SA/Flag",
|
||||
],
|
||||
},
|
||||
"SA/Flag": Definition {
|
||||
member: "SA/Flag",
|
||||
class: "Scalar",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"Boolean",
|
||||
],
|
||||
refs: [],
|
||||
},
|
||||
"SA/Interface": Definition {
|
||||
member: "SA/Interface",
|
||||
class: "Interface",
|
||||
layer: "SA",
|
||||
fields: [],
|
||||
refs: [
|
||||
"SA/Operation",
|
||||
],
|
||||
},
|
||||
"SA/Operation": Definition {
|
||||
member: "SA/Operation",
|
||||
class: "Allocation",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"order=0",
|
||||
],
|
||||
refs: [
|
||||
"SA/Interface",
|
||||
"SA/Alarm",
|
||||
],
|
||||
},
|
||||
},
|
||||
origin_pin: "a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779",
|
||||
target_pin: Some(
|
||||
"f52b2a9281b60d35ddc0044fc9624b3b30ee0d35d88d1130c2c3e1af54e05696",
|
||||
),
|
||||
origin_map: {
|
||||
"Alarm": "SA/Alarm",
|
||||
"Code": "SA/Code",
|
||||
"Flag": "SA/Flag",
|
||||
"Interface": "SA/Interface",
|
||||
"Operation": "SA/Operation",
|
||||
},
|
||||
mount: true,
|
||||
}
|
||||
pinned-architecture={
|
||||
"sa/alarm": FunctionalExchange {
|
||||
source: "sa/watch",
|
||||
target: "sa/receive",
|
||||
source_port: "sa/watch_out",
|
||||
target_port: "sa/receive_in",
|
||||
item: "sa_mount/SA/Alarm",
|
||||
},
|
||||
"sa/receive": Function {
|
||||
name: "Receive left",
|
||||
},
|
||||
"sa/receive_in": Port {
|
||||
owner: "sa/receive",
|
||||
direction: "In",
|
||||
accepted_item: "sa_mount/SA/Alarm",
|
||||
},
|
||||
"sa/watch": Function {
|
||||
name: "Watch",
|
||||
},
|
||||
"sa/watch_out": Port {
|
||||
owner: "sa/watch",
|
||||
direction: "Out",
|
||||
accepted_item: "sa_mount/SA/Alarm",
|
||||
},
|
||||
}
|
||||
local-derivative=Transition {
|
||||
layer: "SA",
|
||||
records: {
|
||||
"SA/Alarm": Definition {
|
||||
member: "SA/Alarm",
|
||||
class: "Item",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"Flow",
|
||||
],
|
||||
refs: [
|
||||
"SA/Code",
|
||||
],
|
||||
},
|
||||
"SA/Code": Definition {
|
||||
member: "SA/Code",
|
||||
class: "Field",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"minimum=1;maximum=1",
|
||||
],
|
||||
refs: [
|
||||
"SA/Alarm",
|
||||
"SA/Flag",
|
||||
],
|
||||
},
|
||||
"SA/Flag": Definition {
|
||||
member: "SA/Flag",
|
||||
class: "Scalar",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"Boolean",
|
||||
],
|
||||
refs: [],
|
||||
},
|
||||
"SA/Interface": Definition {
|
||||
member: "SA/Interface",
|
||||
class: "Interface",
|
||||
layer: "SA",
|
||||
fields: [],
|
||||
refs: [
|
||||
"SA/Operation",
|
||||
],
|
||||
},
|
||||
"SA/Operation": Definition {
|
||||
member: "SA/Operation",
|
||||
class: "Allocation",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"order=0",
|
||||
],
|
||||
refs: [
|
||||
"SA/Interface",
|
||||
"SA/Alarm",
|
||||
],
|
||||
},
|
||||
},
|
||||
origin_pin: "a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779",
|
||||
target_pin: None,
|
||||
origin_map: {
|
||||
"Alarm": "SA/Alarm",
|
||||
"Code": "SA/Code",
|
||||
"Flag": "SA/Flag",
|
||||
"Interface": "SA/Interface",
|
||||
"Operation": "SA/Operation",
|
||||
},
|
||||
mount: false,
|
||||
}
|
||||
local-architecture={
|
||||
"sa/alarm": FunctionalExchange {
|
||||
source: "sa/watch",
|
||||
target: "sa/receive",
|
||||
source_port: "sa/watch_out",
|
||||
target_port: "sa/receive_in",
|
||||
item: "SA/Alarm",
|
||||
},
|
||||
"sa/receive": Function {
|
||||
name: "Receive left",
|
||||
},
|
||||
"sa/receive_in": Port {
|
||||
owner: "sa/receive",
|
||||
direction: "In",
|
||||
accepted_item: "SA/Alarm",
|
||||
},
|
||||
"sa/watch": Function {
|
||||
name: "Watch",
|
||||
},
|
||||
"sa/watch_out": Port {
|
||||
owner: "sa/watch",
|
||||
direction: "Out",
|
||||
accepted_item: "SA/Alarm",
|
||||
},
|
||||
}
|
||||
refined-derivative=Transition {
|
||||
layer: "SA",
|
||||
records: {
|
||||
"SA/Alarm": Definition {
|
||||
member: "SA/Alarm",
|
||||
class: "Item",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"Flow",
|
||||
],
|
||||
refs: [
|
||||
"SA/Code",
|
||||
],
|
||||
},
|
||||
"SA/Code": Definition {
|
||||
member: "SA/Code",
|
||||
class: "Field",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"minimum=1;maximum=2",
|
||||
],
|
||||
refs: [
|
||||
"SA/Alarm",
|
||||
"SA/Flag",
|
||||
],
|
||||
},
|
||||
"SA/Flag": Definition {
|
||||
member: "SA/Flag",
|
||||
class: "Scalar",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"Boolean",
|
||||
],
|
||||
refs: [],
|
||||
},
|
||||
"SA/Interface": Definition {
|
||||
member: "SA/Interface",
|
||||
class: "Interface",
|
||||
layer: "SA",
|
||||
fields: [],
|
||||
refs: [
|
||||
"SA/Operation",
|
||||
],
|
||||
},
|
||||
"SA/Operation": Definition {
|
||||
member: "SA/Operation",
|
||||
class: "Allocation",
|
||||
layer: "SA",
|
||||
fields: [
|
||||
"order=0",
|
||||
],
|
||||
refs: [
|
||||
"SA/Interface",
|
||||
"SA/Alarm",
|
||||
],
|
||||
},
|
||||
},
|
||||
origin_pin: "a35102e04b9f6822ab409ab43f83eded33edd0a3a3c1f589245bb7b123ce4779",
|
||||
target_pin: None,
|
||||
origin_map: {
|
||||
"Alarm": "SA/Alarm",
|
||||
"Code": "SA/Code",
|
||||
"Flag": "SA/Flag",
|
||||
"Interface": "SA/Interface",
|
||||
"Operation": "SA/Operation",
|
||||
},
|
||||
mount: false,
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.0
|
||||
description|Monitor alarm
|
||||
note|Initial documentation
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|1.0.1
|
||||
description|Monitor alarm
|
||||
note|Revised documentation only
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=1|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
@@ -0,0 +1,24 @@
|
||||
package|ControlPatterns|2.0.0
|
||||
description|Monitor alarm
|
||||
note|Initial documentation
|
||||
def|Duration|Kind|Neutral|dimension=0,0,1,0,0,0,0;linear|-
|
||||
def|Energy|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|Torque|Kind|Neutral|dimension=2,1,-2,0,0,0,0;linear|-
|
||||
def|ms|Unit|Neutral|millis=1|Duration
|
||||
def|s|Unit|Neutral|millis=1000|Duration
|
||||
def|Flag|Scalar|OA|Boolean|-
|
||||
def|Alarm|Item|OA|Flow|Code
|
||||
def|Code|Field|OA|minimum=1;maximum=2|Alarm,Flag
|
||||
def|Interface|Interface|OA|-|Operation
|
||||
def|Operation|Allocation|OA|order=0|Interface,Alarm
|
||||
prototype|A|record|A|OA|Watch|Activity|Monitor alarm
|
||||
prototype|E|record|E|OA|Alarm|Interaction|A|H|MOUNT/Alarm
|
||||
prototype|P|record|P|OA|Elapsed|Property|A|SELF:Duration|750@SELF:ms
|
||||
prototype|C|record|C|OA|Stress|Case|-|P=1250@SELF:ms
|
||||
prototype|K|record|K|OA|Elapsed limit|Check|P|1000@SELF:ms
|
||||
prototype|H|record|H|OA|Prototype receiver|Activity|Context role only
|
||||
prototype|Q|record|Q|OA|Outside delay|Property|H|SELF:Duration|1000@SELF:ms
|
||||
prototype|G|record|G|OA|Project-wide study|Case|-|P=2500@SELF:ms,Q=4000@SELF:ms
|
||||
pattern|monitor|A,E,P,C,K
|
||||
analysis|P|K|C
|
||||
role|sink|H|Activity|OA
|
||||
@@ -0,0 +1,7 @@
|
||||
package|ControlPatternsSA|1.0.1
|
||||
description|Explicit SA counterpart
|
||||
def|SA/Alarm|Item|SA|Flow|SA/Code
|
||||
def|SA/Code|Field|SA|minimum=1;maximum=1|SA/Alarm,SA/Flag
|
||||
def|SA/Flag|Scalar|SA|Boolean|
|
||||
def|SA/Interface|Interface|SA||SA/Operation
|
||||
def|SA/Operation|Allocation|SA|order=0|SA/Interface,SA/Alarm
|
||||
+1
@@ -0,0 +1 @@
|
||||
update|left|28df5ea3447918dfee3c6ed4243d8f986c689f93a54d89c6181b47d6c2f39b33|controls2|data2|2|P.base=keep_local
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
member|Alarm|data1/Alarm
|
||||
member|Code|data1/Code
|
||||
member|Flag|data1/Flag
|
||||
member|Interface|data1/Interface
|
||||
member|Operation|data1/Operation
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
base|controls1|data1|sink_left|left
|
||||
original|A|left/A
|
||||
original|C|left/C
|
||||
original|E|left/E
|
||||
original|K|left/K
|
||||
original|P|left/P
|
||||
member|A|record|left/A|OA|left Watch|Activity|Monitor alarm
|
||||
member|C|record|left/C|OA|left Stress|Case|-|left/P=1250@controls1:ms
|
||||
member|E|record|left/E|OA|left Alarm|Interaction|left/A|sink_left|data1/Alarm
|
||||
member|K|record|left/K|OA|left Elapsed limit|Check|left/P|1000@controls1:ms
|
||||
member|P|record|left/P|OA|left Elapsed|Property|left/A|controls1:Duration|750@controls1:ms
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
lineage|left/A|left/A
|
||||
lineage|left/C|left/C
|
||||
lineage|left/E|left/E
|
||||
lineage|left/K|left/K
|
||||
lineage|left/P|left/P
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
current|A|left/A
|
||||
current|C|left/C
|
||||
current|E|left/E
|
||||
current|K|left/K
|
||||
current|P|left/P
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user