Modeling System Events: Action, Reaction, Protection
Real-time systems and the Internet of Things pose particular requirements challenges. Event analysis is a powerful technique.
With the Internet of things (IoT) growing ever-more prominent, software to control hardware devices and their interactions is becoming more common, more complex, more essential, and more of a security concern. Use cases and user stories aren’t sufficient techniques for discovering the functionality that software developers must implement for embedded and other real-time systems.
As an example of a real-time system, consider a complex highway intersection with numerous traffic lights and pedestrian walk signals. There are very few use cases for a system like this. A driver might want to proceed through the light or to turn left or right. A pedestrian wants to cross the road. Perhaps an emergency vehicle wants to be able to turn the traffic signals green in its direction so it can speed its way to people who need help. User stories like “As a pedestrian, I want to cross the road so that I [like the chicken] can get to the other side” don’t really help developers implement the correct functionality.
An alternative to eliciting use cases and user stories is to identify the external events to which the…