Reputation: 858
We make a consumer electronics product with some real-time constraints, usually timings and latencies that are acceptable in the user interface. The software engineering team is guided by user experience designers who specify these latencies but have no experience in software design, or the usual tools & methods normal in software companies. We need a simple tool the designers can use to specify sequences and timings in a formal way and the specification needs to be something we can import into the test system to use for automated validation.
PlantUML looks promising and something like the example below would suffice, but the timing specification in the group name can be made to work but is a bit of a kludge. If the requirements do grow, and they almost certainly will, this approach will scale badly. Can anyone suggest something better?
autonumber 1 1 "<b>[000]"
user -> UI: click
group fade 500ms
UI -> Audio: Fade volume down
Audio -> UI: Fade done
end
group track switch 100ms
UI -> Audio: next track
Audio -> FileSystem: File stream open
FileSystem -> Audio: File stream opened
Audio -> UI: stream started
end
group fade 500ms
UI -> Audio: Fade volume up
Audio -> UI: Fade done
end
Upvotes: 1
Views: 64
Reputation: 36315
You should look into UML timing diagrams which allow to express timing conditions. It is also possible to add timing constraints in SDs like this:
Upvotes: 2