Compare a fixed data-age reading with a freshness limit and label the result.

freshness report Data freshness can be modeled with a scalar age before any clock or upstream feed is introduced.

Data Freshness Report

ageMinutes
DataFreshness.kt
Replay: real traced execution (multi-file project)
fun main() {
    val ageMinutes = 18
    val maxAge = 30
    var freshnessStatus = "aging"

    if (ageMinutes <= 10) {
        freshnessStatus = "fresh"
    } else if (ageMinutes > maxAge) {
        freshnessStatus = "stale"
    }

    println("age=$ageMinutes max=$maxAge status=$freshnessStatus")
}
fun main() {
    val ageMinutes = 5
    val maxAge = 30
    var freshnessStatus = "aging"

    if (ageMinutes <= 10) {
        freshnessStatus = "fresh"
    } else if (ageMinutes > maxAge) {
        freshnessStatus = "stale"
    }

    println("age=$ageMinutes max=$maxAge status=$freshnessStatus")
}
fun main() {
    val ageMinutes = 45
    val maxAge = 30
    var freshnessStatus = "aging"

    if (ageMinutes <= 10) {
        freshnessStatus = "fresh"
    } else if (ageMinutes > maxAge) {
        freshnessStatus = "stale"
    }

    println("age=$ageMinutes max=$maxAge status=$freshnessStatus")
}
  1. ageMinutes ← 18, maxAge ← 30, freshnessStatus ← aging

    1fun main() {2    val ageMinutes→ 18 = 18 //@ageMinutes=5, 453    val maxAge→ 30 = 304    var freshnessStatus→ aging = "aging"56    if (ageMinutes <= 10) {7        freshnessStatus = "fresh"8    } else if (ageMinutes > maxAge) {9        freshnessStatus = "stale"10    }1112    println("age=$ageMinutes18 max=$maxAge30 status=$freshnessStatusaging")13}
    outputage=18 max=30 status=aging
  1. ageMinutes ← 5, maxAge ← 30, freshnessStatus ← aging

    1fun main() {2    val ageMinutes→ 5 = 53    val maxAge→ 30 = 304    var freshnessStatus→ aging = "aging"
  2. freshnessStatus ← fresh

    6if (ageMinutes5 <= 10) {7    freshnessStatus→ fresh = "fresh"8} else if (ageMinutes > maxAge) {
  3. println("age=$ageMinutes max=$maxAge status=$freshnessStatus")

    12    println("age=$ageMinutes5 max=$maxAge30 status=$freshnessStatusfresh")13}
    outputage=5 max=30 status=fresh
  1. ageMinutes ← 45, maxAge ← 30, freshnessStatus ← aging

    1fun main() {2    val ageMinutes→ 45 = 453    val maxAge→ 30 = 304    var freshnessStatus→ aging = "aging"
  2. freshnessStatus ← stale

    7    freshnessStatus = "fresh"8} else if (ageMinutes45 > maxAge30) {9    freshnessStatus→ stale = "stale"10}
  3. println("age=$ageMinutes max=$maxAge status=$freshnessStatus")

    12    println("age=$ageMinutes45 max=$maxAge30 status=$freshnessStatusstale")13}
    outputage=45 max=30 status=stale