Abstract
This paper presents a quantitative framework for early prediction of resource usage and load in distributed real-time systems (DRTS). The prediction is based on an analysis of UML 2.0 sequence diagrams, augmented with timing information, to extract timed-control flow information. It is aimed at improving the early predictability of a DRTS by offering a systematic approach to predict, at the design phase, system behavior in each time instant during its execution. Since behavioral models such as sequence diagrams are available in early design phases of the software life cycle, the framework enables resource analysis at a stage when design decisions are still easy to change. Though we provide a general framework, we use network traffic as an example resource type to illustrate how the approach is applied. We also indicate how usage and load analysis of other types of resources (e.g., CPU and memory) can be performed in a similar fashion. A case study illustrates the feasibility of the approach.
Similar content being viewed by others
Abbreviations
- ASA:
-
Automatic system agent
- CCFG:
-
Concurrent control flow graph
- CCFP:
-
Concurrent control flow path
- CFP:
-
Control flow path
- DTCCFP:
-
Distributed timed concurrent control flow path
- LFQ:
-
Load forecasting query
- MBLF:
-
Model-based load forecasting
- MBPA:
-
Model-based predictability analysis
- MBRUA:
-
Model-based resource usage analysis
- NDD:
-
Network deployment diagram
- PA:
-
Predictability analysis
- DRTS:
-
Distributed real-time system
- RUA:
-
Resource usage analysis
- RUD:
-
Resource usage definition
- RUM:
-
Resource usage measure
- RUQ:
-
Resource usage query
- SCAPS:
-
SCAda-based power system
- SD:
-
Sequence diagram
- SDS:
-
Sequence diagrams schedule
- TC:
-
Tele-control unit
- TCCFP:
-
Timed concurrent control flow path
- UML-SPT:
-
UML profile for schedulability performance, and time
References
Tsai J.J.P., Bi Y., Yang S.J.H., Smith R.A.W.: Distributed Real-time Systems: Monitoring, Visualization, Debugging, and Analysis. Wiley, London (1996)
Feiler, P., Lewis, B., Vestal, S.: Improving Predictability in Embedded Real-time Systems. Technical Report CMU/SEI-2000-SR-011, Carnegie Mellon Software Engineering Institute (2000)
Buttazzo G., Lipari G., Abeni L., Caccamo M.: Soft Real-Time Systems: Predictability vs. Efficiency. Springer, Heidelberg (2005)
Yau, S.S., Zhou, X.: Schedulability in Model-based Software Development for Distributed Real-Time Systems. In: Proc. of Int. Workshop on Object-Oriented Real-Time Dependable Systems, pp. 45–52 (2002)
Igarashi, A., Kobayashi, N.: Resource Usage Analysis. In: Proc. of Symposium on Principles of Programming Languages, pp. 331–342 (2002)
Marriott, K., Stuckey, P.J., Sulzmann, M.: Resource Usage Verification. In: Proc. of Asian Symposium on Programming Languages and Systems, pp. 212–229, (2003)
Cachera, D., Jensen, T., Pichardie, D., Schneider, G.: Certified Memory Usage Analysis. In: Proc. of Formal Methods Conf., pp. 91–106, (2005)
Dinda, P., O’Hallaron, D.: An Extensible Toolkit for Resource Prediction In Distributed Systems, Technical Report CMU- CS-99-138, School of Computer Science, Carnegie Mellon University (1999)
Dinda, P.A., O’Hallaron, D.R.: An Evaluation of Linear Models for Host Load Prediction. In: Proc. of Int. Symp. on High Performance Distributed Computing, pp. 87–96 (1999)
Andreolini, M., Casolari, S.: Load Prediction Models in Web-based Systems. In: Proc. of Int. Conf. on Performance Evaluation Methodolgies and Tools, pp. 27–36 (2006)
Menascé D.A., Almeida V.A.F.: Capacity Planning for Web Services: Metrics, Models, and Methods. Prentice Hall, Englewood Cliffs (2001)
Jones C.: Software change management. IEEE Comput 29(2), 80–82 (1996)
Smith C.U., Williams L.G.: Software performance engineering. In: Marciniak, J.J.(eds) Encyclopedia of Software Engineering, 2nd edn, Wiley, London (2002)
Object Management Group (OMG) UML 2.1.1 Superstructure Specification (2007)
Bernardi, S., Donatelli, S., Merseguer, J.: From UML sequence diagrams and statecharts to analysable petri-net models. In: Proc. of Int. Workshop on Software and Performance, pp. 35–45 (2002)
Pasaje, J.L.M., Harbour, M.G., Drake, J.M.: MAST real-time view: a graphic UML tool for modeling object-oriented real-time systems. In: Proc. of Real-Time Systems Symposium, pp. 245–256 (2001)
Balsamo S., DiMarco A., Inverardi P., Simeoni M.: Model-based performance prediction in software development. IEEE Trans. Softw. Eng. 30(5), 295–310 (2004)
Cortellessa V., D’Ambrogio A., Iazeolla G.: Automatic derivation of software performance models from CASE documents. Perform. Eval. 45(2–3), 81–105 (2001)
Mirandola, R., Cortellessa, V.: UML based performance modeling of distributed systems. In: Proc. of the Unified Modeling Language (UML) Conference, pp. 178–193 (2000)
Smith C.U., Williams L.G.: Performance Solutions. Addison-Wesley, Reading (2002)
Object Management Group (OMG) UML 2.0 Superstructure Specification (2005)
Object Management Group (OMG) UML Profile for Schedulability, Performance, and Time (v1.1) (2005)
Garousi, V., Briand, L., Labiche, Y.: Control flow analysis of UML 2.0 sequence diagrams. In: Proc. of the European Conf. on Model Driven Architecture-Foundations and Applications, LNCS 3748, pp. 160–174 (2005)
Paltor, I.P., Lilius, J.: Digital sound recorder: a case study on designing embedded systems using the UML notation, Turku Centre for Computer Science, Finland TUCS Technical Report No. 234 (1999)
Douglass B.: Doing Hard Time, Developing Real-Time Systems with UML Objects, Frameworks, and Patterns. Addison-Wesley, Reading (1999)
Herzberg, D.: UML-RT as a candidate for modeling embedded real-time systems in the telecommunication domain. In: Proc. of Int. Conf. on the Unified Modeling Language, pp. 331–338 (1999)
Kabous, L., Neber, W.: Modeling hard real time systems with UML: the OOHARTS approach. In: Proc. of Int. Conf. on the Unified Modeling Language, pp. 339–355 (1999)
Lanusse, A., Gerard, S., Terrier, F.: Real-rime modeling with UML: the ACCORD approach. In: Proc. of Int. Conf. on the Unified Modeling Language, pp. 319–335 (1998)
Object Management Group (OMG) UML Profile for Modeling and Analysis of Real-time and Embedded Systems (MARTE), Version 1.0 (Finalization Underway). http://www.omg.org/cgi-bin/doc?ptc/2007-08-04 (2007)
Hakansson, J., Mokrushin, L., Pettersson, P., Yi, W.: An analysis tool for UML models with SPT annotations. In: Int. Workshop on Specification and Validation of UML Models for Real-Time and Embedded Systems (2004)
Woodside, C.M., Petriu, D.C.: Capabilities of the UML profile for schedulability performance and time (SPT). In: Workshop on the Usage of the UML profile for Scheduling, Performance and Time (2004)
Petriu, D.C.: Performance analysis based on the UML SPT profile. Tutorial given at Int. Conf. on Quantitative Evaluation of Systems (2004)
Douglass, B.P.: Rhapsody 5.0: Breakthroughs in Software and Systems Engineering, I-Logix Corp. whitepaper (2003)
Bruegge B., Dutoit A.H.: Object-Oriented Software Engineering: Using UML, Patterns, and Java, 2nd edn. Prentice Hall, Englewood Cliffs (2003)
Haugen, Ø.: From MSC-2000 to UML 2.0—the future of sequence diagrams. In: Proc. of Int. System Design Languages (SDL) Forum, pp. 38–51 (2001)
Ben-Abdallah, H., Leue, S.: Timing constraints in message sequence chart specifications. In: Proc. of Int. Conf. on Formal Description Techniques for Distributed Systems and Communication Protocols, pp. 91–106 (1997)
Damm W., Harel D.: LSCs: Breathing life into message sequence charts. Formal Methods Syst. Des. 19(1), 45–80 (2001)
Tindell K., Clark J.: Holistic schedulability analysis for distributed hard real-time systems 40(2–3), 117–134 (1994)
Puschner, P.P., Nossal, R.: Testing the results of static worst-case execution-time analysis. In: Proc. of IEEE Real-Time Systems Symp., pp. 134–143 (1998)
Thane, H.: Monitoring, Testing and Debugging of Distributed Real-Time Systems, PhD Thesis, Royal Institute of Technology (2000)
Gomaa H.: Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison-Wesley, Reading (2000)
Garousi, V.: Traffic-aware stress testing of distributed real-time systems based on UML models in the presence of time uncertainty. In: Proc. IEEE Int. Conf. on Software Testing, Verification and Validation (to appear) (2008)
Object Management Group (OMG) OCL 2.0 Specification (2005)
Muchnick S.: Advanced Compiler Design and Implementation, First ed. Morgan Kaufmann, Los Altos (1997)
Garousi, V., Briand, L., Labiche, Y.: Control Flow Analysis of UML 2.0 Sequence Diagrams, Technical Report SCE-05-09, Carleton University, http://squall.sce.carleton.ca/pubs/tech_report/TR_SCE-05-09.pdf (2005)
Byhlin, S., Ermedahl, A., Gustafsson, J., Lisper, B.: Applying static WCET analysis to automotive communication software. In: Proc. of Euromicro Conf. on Real-Time Systems, pp. 249–258 (2005)
Honeywell Inc., MetaH Product Information, http://www.htc.honeywell.com/metah (1998)
Garousi, V., Briand, L., Labiche, Y.: A Quantitative Framework for Predicting Resource Usage and Load in Distributed Real-Time Systems based on UML Models, Technical Report SCE-06-05, Carleton University (2006)
Garousi, V.: Traffic-aware Stress Testing of Distributed Systems based on UML Models using Genetic Algorithms, PhD Thesis, Carleton University (2006)
Avritzer A., Ros J.P., Weyuker E.J.: Estimating the CPU utilization of a rule-based system. ACM SIGSOFT Softw. Eng. Notes 29(1), 1–12 (2004)
Wang Y.F., Hsu M.H., Chuang Y.L.: Predicting CPU Utilization by Fuzzy Stochastic Prediction. Comput. Inform. 20(1), 67–76 (2001)
Garousi, V., Briand, L., Labiche, Y.: Traffic-aware stress testing of distributed systems based on UML models. In: Proceedings of International Conference on Software Engineering, pp. 391–400 (2006)
Ganesh A., O’Connell N., Wischik D.: Big Queues. Springer, Heidelberg (2004)
Rak, J.: Priority-enabled optimization of resource utilization in fault-tolerant optical transport networks. In: Proc. of Int. Conf. on High Performance Computing and Communications, pp. 863–873 (2006)
Daneels, A., Salter, W.: What is SCADA? In: Proc. of Int. Conf. on Accelerator and Large Experimental Physics Control Systems, Trieste, pp. 339–343 (1999)
Garousi, V., Briand, L., Labiche, Y.: Traffic-aware Stress Testing of Distributed Systems based on UML Models, Technical Report SCE-05-13, Carleton University (2005)
Nico Cuppen Software, Network Traffic Monitor, http://www.nicocuppen.com (2005)
Caceres R., Duffield N., Feldmann A.: Measurement and analysis of IP network usage and behaviour. IEEE Commun. Mag. 38(5), 144–151 (2000)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Sebastien Gerard.
The initial work of this paper started when V. Garousi was a Ph.D. student at the Software Quality Engineering Laboratory at Carleton University.
Rights and permissions
About this article
Cite this article
Garousi, V., Briand, L.C. & Labiche, Y. A UML-based quantitative framework for early prediction of resource usage and load in distributed real-time systems. Softw Syst Model 8, 275–302 (2009). https://doi.org/10.1007/s10270-008-0099-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-008-0099-7