Mission critical real-time and embedded software systems often use significant degree of concurrency within their architecture designs. Experience has shown that common problems surrounding the design of these systems include underspecified performance requirements; underspecified state-dependent behavior; and inadequately capturing concurrent interactions. Dynamic architectural models capturing the overall behavioral properties of the software system are often constructed using ad hoc techniques with little consideration given to the resulting performance or implications of concurrent behavior until the project reaches implementation. To address this issue and thus increase the confidence that a concurrent software architecture design will behave as desired, we have developed an approach to augment UML-based software designs with colored Petri nets, thus increasing the analytical capabilities at design time. An illustration of this approach using a rover control case study is included in this paper.
['Robert G. Pettit']
Increasing Confidence in Concurrent Software through Architectural Analysis