Performance modeling and analysis

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

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.

Performance analysis

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.

References

A blueprint for system-level performance modeling of software-intensive embedded systems;

M. Hendriks, T. Basten, J. Verriet, M. Brassé, L. Somers: International Journal on Software Tools for Technology Transfer, 2014.
Contact
Additional information

Model-Driven SysPE