Conditional Transition Systems with Upgrades
This work addresses modeling challenges in software product lines and dynamic systems, offering a formal framework with practical implementation, though it appears incremental in extending existing transition system concepts.
The paper tackles the modeling of transition systems with environmental conditions and runtime upgrades by introducing conditional transition systems (CTS) and lattice transition systems (LaTS), showing they can be modeled equivalently and providing bisimilarity notions and a symbolic computation method via BDDs with implementation and runtime results.
We introduce a variant of transition systems, where activation of transitions depends on conditions of the environment and upgrades during runtime potentially create additional transitions. Using a cornerstone result in lattice theory, we show that such transition systems can be modelled in two ways: as conditional transition systems (CTS) with a partial order on conditions, or as lattice transition systems (LaTS), where transitions are labelled with the elements from a distributive lattice. We define equivalent notions of bisimilarity for both variants and characterise them via a bisimulation game. We explain how conditional transition systems are related to featured transition systems for the modelling of software product lines. Furthermore, we show how to compute bisimilarity symbolically via BDDs by defining an operation on BDDs that approximates an element of a Boolean algebra into a lattice. We have implemented our procedure and provide runtime results.