Interaction tree algorithms to extract effective architecture and layered performance models from traces
Models of software architecture and software performance both depend on identifying and describing the interactions between the components, during typical responses. This work identifies the components and interactions that are active during a tracing experiment, hence the name effective architecture and also derives layered performance models. The System Architecture and Model Extraction Technique (SAMEtech) described here overcomes a weakness of previous work with angio traces in two ways. It only requires standard trace formats (rather than a custom format which captures causality) and it uses a simpler algorithm which scales up linearly for very large traces. It accepts some limitations: components must not have internal parallelism with forking and joining of the flow of execution. SAMEtech uses pattern matching based on interaction trees for detecting various types of interactions (asynchronous, blocking synchronous, nested synchronous, and forwarding). With this information it builds architecture and performance models.
performance modelling software architecture software performance performance tracing reverse engineering