Skip to content

OSC2 basics examples

Example: field declarations

OSC2 code: field declarations
import "$FTX_BASIC/exe_platforms/sumo_ssp/config/sumo_config.osc"

extend test_config:
    set map = "$FTX_PACKAGES/maps/hooder.xodr"

extend top.main:
    do sut.car.drive(duration: 5s)


scenario vehicle.my_scenario1:
    legal_speed: speed
    var too_fast:= true

Example: field constraints

OSC2 code: field constraints
import "$FTX_BASIC/exe_platforms/sumo_ssp/config/sumo_config.osc"

extend test_config:
    set map = "$FTX_PACKAGES/maps/hooder.xodr"

extend top.main:
    do sut.car.drive(duration: 5s)


scenario vehicle.my_scenario1:
    legal_speed: speed
    keep(legal_speed < 120kph)

Example: behavior specification

OSC2 code: behavior specification
import "$FTX_BASIC/exe_platforms/sumo_ssp/config/sumo_config.osc"

extend test_config:
    set map = "$FTX_PACKAGES/maps/highway.xodr"

extend top.main:
    car1: vehicle
    do car1.simple_drive()


scenario vehicle.simple_drive:
    do serial(duration: 10sec):
        actor.drive()

Example: behavior modification

OSC2 code: behavior modification
import "$FTX_BASIC/exe_platforms/sumo_ssp/config/sumo_config.osc"

extend test_config:
    set map = "$FTX_PACKAGES/maps/hooder.xodr"

extend top.main:
    do sut.car.drive(duration: 5s)

scenario sut.my_scenario2:
    speed: speed
    car1: vehicle
    car2: vehicle


    do parallel(overlap:equal):
        car2.drive()
        car1.drive() with:
            speed([1..5]kph, faster_than: car2)

Example: valid field declarations

OSC2 code: valid field declarations
import "$FTX_BASIC/exe_platforms/sumo_ssp/config/sumo_config.osc"

extend test_config:
    set map = "$FTX_PACKAGES/maps/hooder.xodr"

extend top.main:
    do sut.car.drive(duration: 5s)


scenario vehicle.my_scenario1:
    var current_speed: speed
    start_speed: speed with:
        keep(it < 100kph)
    cars: list of vehicle with:
        keep(soft it.size() <= 10)
    var too_fast:= true