Performance modeling and analysis
Performance modeling and analysis techniques are used to express and analyze the performance of specific system configurations. Techniques are targeted to the type of systems and performance requirements at hand, ranging from analytical modeling and reasoning about performance bounds to discrete-event simulation and stochastic reasoning about expected performance.
Performance modeling is typically done using a combination of knowledge-driven modeling and data-driven modeling. Knowledge-driven modeling builds on the expert knowledge of domain specialists. Data-driven modeling creates models through regression or model learning from data collected from prototypes, tests or systems in operation. Whereas domain models are typically developed during system architecting, performance aspect models are mostly developed and used during later phases, primarily design, but also for verification and validation. Model-driven system performance engineering requires models with rigorous mathematical foundations and tool support.
A common technique to analyze performance of specific system behaviors is simulation, for example using POOSL. Analytical analysis is used to derive performance estimates or bounds, e.g., in LSAT. Model checking is used to exhaustively verify the performance properties on a system model. Property verification can also be applied to execution or model traces (Gantt charts) built from actions, events and signals, where timing properties are captured in formal logic as used, for example, in TRACE.