1 / 16

Vahid Garousi ‡ , Lionel C. Briand ‡§ and Yvan Labiche ‡

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

casey
Download Presentation

Vahid Garousi ‡ , Lionel C. Briand ‡§ and Yvan Labiche ‡

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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‡

  2. Outline • Background and Motivations • Related Works • Overview of our Unified Approach • An example Predictability Analysis Activity • Conclusions and Future Works

  3. 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.

  4. 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…

  5. Overview of the Unified Approach

  6. 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.

  7. CCFG Corresponding to an Example SD

  8. Concurrent Control Flow Paths (CCFP)

  9. 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.

  10. 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)

  11. 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:

  12. Resource Usage Definition Distributed TCCFP (DTCCFP) is a TCCFP where all messages are distributed (sent across different nodes of a distributed system).

  13. Resource Usage Function • Example to follow

  14. 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.

  15. 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.

  16. 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)

More Related