160 likes | 241 Views
A Unified Approach for Predictability Analysis of Real-Time Embedded Systems using UML-based Control Flow Information. Vahid Garousi ‡ , Lionel C. Briand ‡§ and Yvan Labiche ‡. Outline. Background and Motivations Related Works Overview of our Unified Approach
E N D
A Unified Approach for Predictability Analysis of Real-Time Embedded Systems using UML-based Control Flow Information Vahid Garousi‡, Lionel C. Briand‡§ and Yvan Labiche‡
Outline • Background and Motivations • Related Works • Overview of our Unified Approach • An example Predictability Analysis Activity • Conclusions and Future Works
Background and Motivations • Predictability Analysis (PA) of Real-Time and Embedded Systems (RTES) aims at analyzing the behavior of a RTES before it is deployed. • PA includes a set of various activities that RTES developers perform to assure that their systems are safe, reliable, robust, maintainable, and satisfy time constraints. • Example analyses are: resource usage analysis, resource usage management, analysis of mutual exclusion, dynamic dependency analysis and load forecasting. • As the Unified Modeling Language (UML) is gaining popularity in the RTES community, the need for model-based predictability analysis techniques is arising.
Related Works • Two of the related works are: • A model-based architectural approach for improving predictability of performance in RTES (by Feiler et al.) • A model-based schedulability analysis technique based on sequence diagrams (Yau and Zhou ) • To the best knowledge of the authors, there has been no works reported on predictability of RTES based on a comprehensive control flow analysis of UML models, which would take into account all modeling constructs of behavior models (e.g. sequence and collaboration diagrams). • And that is the goal of the current work…
Control Flow Analysis of Behavior Models • We presented a CFA technique in an earlier work to analyze control flow in SDs. • Considering the UML 2.0 SDs metamodel, asynchronous messages and par (parallel) interaction operator entail concurrency in a SD. • Concurrent Control Flow Graph (CCFG) was presented as a Control Flow Model for SDs. • CCFG metamodel is extended from UML activity diagrams.
An example Predictability Analysis Activity: Resource Usage Analysis • An important part of software verification and testing is to predict how resources (e.g. network bandwidth, memory, CPU) will be utilized in the field. • If a system can reach overload conditions or use resources in an invalid manner (e.g. mutually exclusive resources), its reliability, robustness, or safety will inevitably suffer. • This is especially the case for software executing on embedded devices such as smart cards where memory is limited. • Therefore, predicting resource usage and making sure that a system “correctly” utilizes its resource infrastructure is a necessary phase in testing most software systems.
Model-based Resource Usage Analysis (MBRUA): Overview • A RUD is a set of criteria which defines how a subset of TCCFPs should be selected when analyzing the usage of a particular resource. • A RUF defines how the usage of a specific resource by model elements should be calculated. A RUF can be considered as a function from a set of model elements to Real values. • Resource Usage Query (RUQ) is a query to filter the RUA results. • For example, a RUQ can be like this: what is the data traffic over system network in time period 1ms to 10ms? • Next: RUA of network traffic (an example resource type)
Formalizing SD Messages • In order to precisely define how we perform RUA, we formally define SD messages. • Similar to the tabular notation for sequence diagrams, proposed by UML 2.0, each message annotated with timing information (using the UML-SPT profile) can be represented as a tuple: message=(sender, receiver, msgSort, methodOrSignalName, parameterList, returnList, startTime, endTime, msgType) • Where sender/receiver denotes the sender of the message and is itself a tuple in the form (object, class, node). • An example:
Resource Usage Definition Distributed TCCFP (DTCCFP) is a TCCFP where all messages are distributed (sent across different nodes of a distributed system).
Resource Usage Function • Example to follow
An Example • Let a DTCCFP =<CM1, CM2, RM1, RM2> • Assume a distributed system of two nodes n1and n2which are connected via a network. • Also suppose that the sizes of the four messages of DTCCFP have been calculated using the given RUF and are 90 (CM1), 80 (CM2), 30 (RM1), and 50 (RM2) kilobytes. • Using the above information, the following usage functions (NetInsDT, NetInsMT, NetIntDT) can be calculated.
Conclusions • A predictability analysis methodology for RTES was presented. It was based on control flow information of UML 2.0 Sequence Diagrams (SD), augmented with distribution and timing information. • Its fundamental (reusable) component is a control flow analysis technique which can be applied and used in resource usage analysis, load forecasting, and dynamic dependency analysis. • Since UML models are used as inputs, the technique is widely applicable in early phases of the software life cycle. • As an example use, we presented how the resource usage of network traffic can be analyzed in a distributed RTS.
Some of our Future Works • Applying the approach to complex RTES’s and assessing the effectiveness of the approach in improving their predictability. • Investigating resource usage analysis of other resource types • Using resource usage analysis information to forecast load and develop model-based load balancing techniques • Devising model-based stress testing techniques • Improving automation (tool support)