Skip to content

Releases: zero-objects/seesaw

v2.0.2

Choose a tag to compare

@github-actions github-actions released this 15 Aug 14:45
seesaw-tgg 2.0.2

v2.0.1

Choose a tag to compare

@github-actions github-actions released this 10 Aug 16:46
seesaw-tgg 2.0.1

Three defects from a review of 2.0.0, all in shipped code:

1. The identity encoding was ambiguous — two adjacent variable-length
   fields with no boundary marker. Every identity changes between 2.0.0
   and 2.0.1.
2. Retraction stopped at a materialization: a folded product was left
   standing and a delta produced no tombstone.
3. A rank ceiling was void whenever the runtime mask was set.

Rust 156 tests green here, Java 69; in the development tree 342 and 111.

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 08:05
seesaw-tgg 2.0.0

One generation, one rule format, two languages.

The first engine generation is removed. What remains is one system: the
rule format with a single loading path (parse, validate, lower), the
model with value-free structural identity, the creation plan, the
delta-local cascade. No negative application conditions, no typed
edges, no generation numbers in modules, files or identifiers.

Rust and Java read the same format and lower it to the same plans,
shown on three levels of comparison.

cargo test 150 green, mvn test 69 green.

seesaw-tgg 1.0.0-rc1 — Initial public release

Choose a tag to compare

@SandraK82 SandraK82 released this 16 May 08:12

seesaw-tgg — delta-extended Triple Graph Grammar engine with
rank-based backtracking. First public release.

What's in this release

A working Rust implementation of the seesaw control mechanism for
Triple Graph Grammars: strictly monotonic change handling with rank
ordered rule application and backtracking on limit-touching matches.
Source graph L, target graph R, and correspondence graph D
are maintained as an observable triple; deltas unfold on ghost
projections until convergence, then re-integrate bottom-up to a new
stable triple.

Crate

Published to crates.io: https://crates.io/crates/seesaw-tgg/1.0.0-rc1

[dependencies]
seesaw-tgg = "1.0.0-rc1"

Docs: https://docs.rs/seesaw-tgg/1.0.0-rc1

Modules

  • engine — cascade_step, run_cascade with rank-ordered backtracking
  • graph — TypedGraph with Solid/Ghost/Tombstone status tracking
  • ops — AddNode, AddEdge, DelNode, DelEdge, SetAttr with
    applicability semantics matching the paper definitions
  • rule — RuleSetSpec, compile, instantiate. JSON-based rule format.
    Embedded R_Class/R_Attr/R_Getter/R_Setter demo rules for
    UML-Class → Java-Class bidirectional mapping.
  • fold — consolidate, diff for baseline transitions
  • xmi — Reader for EMF-style XMI 2.0 models

Quick start

cargo run --example basic_cascade

Output: source graph (4 nodes, 3 edges) → after R_Class+R_Attr cascade
(8 nodes, 9 edges) with CorrClass, JavaClass, CorrAttr, JavaField
correctly derived as Ghost-status nodes.

Status — release candidate

1.0.0-rc1. Core algorithms (cascade, fold, ranked backtracking) are
stable and test-covered across ~265 unit/integration/property tests
plus benchmark suites against published research cases (FASE 2019,
JOT 2022, LMCS 2024, STTT 2021, TTC 2015). API may still see breaking
changes before 1.0.0.

License

Apache License 2.0 — see LICENSE and NOTICE.