Traffic-aware Stress Testing of Distributed Real-Time Systems Based on UML Models in the Presence of Time Uncertainty

In a previous work, we reported and experimented with a stress testing methodology to detect network traffic- related real-time (RT) faults in distributed real-time systems (DRTSs) based on the design UML models. The stress methodology, referred to as time-shifting stress test methodology (TSSTM), aimed at increasing chances of discovering RT faults originating from network traffic overloads in DRTSs. The TSSTM uses the UML 2.0 model of a system under test (SUT), augmented with timing information, and is based on an analysis of the control flow in UML sequence diagrams. In order to devise deterministic test requirements (from time point of view) that yield the maximum stress test scenario in terms of network traffic in a SUT, the TSSTM methodology requires that the timing information of messages in sequence diagrams is available and as precise as possible. In reality, however, the timing information of messages is not always available and precise. As we demonstrate using a case study in this work, the effectiveness of the stress test cases generated by TSSTM is very sensitive to such time uncertainty. In other words, TSSTM might generate imprecise and not necessarily maximum stressing test cases in the presence of such time uncertainty and, thus, it might not be very effective in revealing RT faults. To address the above limitation of TSSTM, we present in this article a modified testing methodology which can be used to stress test systems when the timing information of messages is imprecise or unpredictable. The stress test results of applying the new test methodology to a prototype DRTS indicate that, in the presence of uncertainty in timing information of messages, the new methodology is more effective in detecting RT faults when compared to our previous methodology (i.e., TSSTM) and also test cases based on an operational profile.

[1]  Nirwan Ansari,et al.  A Genetic Algorithm for Multiprocessor Scheduling , 1994, IEEE Trans. Parallel Distributed Syst..

[2]  Eitan Farchi,et al.  Multithreaded Java program test generation , 2001, JGI '01.

[3]  D. Petriu,et al.  Capabilities of the UML Profile for Schedulability Performance and Time ( SPT ) , 2004 .

[4]  Dominikus Herzberg,et al.  UML-RT as a Candidate for Modeling Embedded Real-Time Systems in the Telecommunication Domain , 1999, UML.

[5]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[6]  Inhwan Lee,et al.  Software dependability in the operational phase , 1995 .

[7]  Henrik Thane,et al.  Monitoring, Testing and Debugging of Distributed Real-Time Systems , 2000 .

[8]  Hanan Lutfiyya,et al.  The extended operational profile model for usage-based software testing , 2004 .

[9]  J. Brunton,et al.  Design and operational philosophy for a metro power network SCADA system , 1996 .

[10]  Pertti Järventausta,et al.  Power quality monitoring as integrated with distribution automation , 2001 .

[11]  Yi Wang,et al.  An Analysis Tool for UML Models with SPT Annotations , 2004 .

[12]  Pierre Chardaire,et al.  Applications of Genetic Algorithms in Telecommunications , 1995 .

[13]  Mark Sullivan,et al.  Software defects and their impact on system availability-a study of field failures in operating systems , 1991, [1991] Digest of Papers. Fault-Tolerant Computing: The Twenty-First International Symposium.

[14]  Hyung Seok Kim,et al.  Design Of Networks For Distributed Digital Control Systems In Nuclear Power Plants , 2000 .

[15]  Tatsuji Tanaka,et al.  Network integrated supervisory control for power systems based on distributed objects , 2000, SAC '00.

[16]  Heinz Mühlenbein,et al.  Parallel Genetic Algorithms, Population Genetics, and Combinatorial Optimization , 1989, Parallelism, Learning, Evolution.

[17]  V. Schmidt,et al.  Trends in computing systems for large fusion experiments , 2004 .

[18]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[19]  Ivan Lanese,et al.  A Graphical Fusion Calculus , 2004, Electron. Notes Theor. Comput. Sci..

[20]  Wolfgang Reisig,et al.  Petri Nets: Central Models and Their Properties , 1986, Lecture Notes in Computer Science.

[21]  David E. Goldberg,et al.  Parallel Recombinative Simulated Annealing: A Genetic Algorithm , 1995, Parallel Comput..

[22]  John A. Caird,et al.  PHELIX: a petawatt high-energy laser for heavy ion experiments , 2001, European Conference on Laser Interaction with Matter.

[23]  A. E. Eiben,et al.  Solving constraint satisfaction problems using genetic algorithms , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[24]  Rajarshi Das,et al.  A Study of Control Parameters Affecting Online Performance of Genetic Algorithms for Function Optimization , 1989, ICGA.

[25]  Jim Smith,et al.  Adaptively Parameterised Evolutionary Systems: Self-Adaptive Recombination and Mutation in a Genetic Algorithm , 1996, PPSN.

[26]  S. C. Bhatia SCADA control systems in integrated steel plants , 1998, Power Quality '98.

[27]  Joaquín Luque,et al.  Automated Meter Reading and SCADA Application for Wireless Sensor Network , 2003, ADHOC-NOW.

[28]  James F. Allen Maintaining knowledge about temporal intervals , 1983, CACM.

[29]  Vahid Garousi,et al.  A Unified Approach for Predictability Analysis of Real-Time Systems using UML-based Control Flow Information , 2005 .

[30]  V. Koroman,et al.  SCADA in hydropower plants , 1999, Proceedings of the 1999 IEEE International Symposium on Computer Aided Control System Design (Cat. No.99TH8404).

[31]  Elaine J. Weyuker,et al.  Experience with Performance Testing of Software Systems: Issues, an Approach, and Case Study , 2000, IEEE Trans. Software Eng..

[32]  Dorina C. Petriu,et al.  Extending the UML Profile for Schedulability Performance and Time ( SPT ) for component-based systems , 2004 .

[33]  P Bourgine,et al.  Towards a Practice of Autonomous Systems , 1992 .

[34]  Robbert van Renesse,et al.  dcOvercoming Communications Challenges in Software for Monitoring and Controlling Power Systems , 2005, Proceedings of the IEEE.

[35]  Shing-Chi Cheung,et al.  Automated test case generation for the stress testing of multimedia systems , 2002, Softw. Pract. Exp..

[36]  Kleanthis Thramboulidis Development of distributed industrial control applications: the CORFU framework , 2002, 4th IEEE International Workshop on Factory Communication Systems.

[37]  Jeffrey J. P. Tsai,et al.  Distributed Real-Time Systems: Monitoring, Visualization, Debugging, and Analysis , 1996 .

[38]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[39]  Ivan Lanese,et al.  Mapping Fusion and Synchronized Hyperedge Replacement into logic programming* , 2005, Theory and Practice of Logic Programming.

[40]  Michael E. Wall,et al.  Galib: a c++ library of genetic algorithm components , 1996 .

[41]  D. Richard Kuhn,et al.  Sources of Failure in the Public Switched Telephone Network , 1997, Computer.

[42]  A. Jefferson Offutt,et al.  Using UML Collaboration Diagrams for Static Checking and Test Generation , 2000, UML.

[43]  Jim Gray,et al.  A census of Tandem system availability between 1985 and 1990 , 1990 .

[44]  John D. Musa,et al.  The operational profile in software reliability engineering: an overview , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.

[45]  Yosi Ben-Asher,et al.  Heuristics for finding concurrent bugs , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[46]  Raymond J. A. Buhr,et al.  Use Case Maps as Architectural Entities for Complex Systems , 1998, IEEE Trans. Software Eng..

[47]  Brian Randell,et al.  Fundamental Concepts of Dependability , 2000 .

[48]  Jim Gray,et al.  Why Do Computers Stop and What Can Be Done About It? , 1986, Symposium on Reliability in Distributed Software and Database Systems.

[49]  Sushil J. Louis,et al.  Predicting Convergence Time for Genetic Algorithms , 1993 .

[50]  Ravishankar K. Iyer,et al.  Software Dependability in the Tandem GUARDIAN System , 1995, IEEE Trans. Software Eng..

[51]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[52]  Scott D. Stoller,et al.  Testing Concurrent Java Programs using Randomized Scheduling , 2002, RV@FLoC.

[53]  Falk Fraikin,et al.  SeDiTeC-testing based on sequence diagrams , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[54]  H. Hayashi,et al.  Development of the Intranet-based SCADA (supervisory control and data acquisition system) for power system , 2000, 2000 IEEE Power Engineering Society Winter Meeting. Conference Proceedings (Cat. No.00CH37077).

[55]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[56]  Wolfgang Nebel,et al.  Modeling Hard Real Time Systems with UML , 1999, UML.

[57]  Ram Chillarege,et al.  Measurement of failure rate in widely distributed software , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[58]  Duong Trung Modern SCADA systems for oil pipelines , 1995, Industry Applications Society 42nd Annual Petroleum and Chemical Industry Conference.

[59]  Johan Lilius,et al.  Digital Sound Recorder: A Case Study On Designing Embedded Systems Using the UML Notation , 1998 .

[60]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[61]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[62]  A. Jefferson Offutt,et al.  UML-Based Integration Testing for Component-Based Software , 2003, ICCBSS.

[63]  E.-K. Chan,et al.  The implementation and evolution of a SCADA system for a large distribution network , 1992 .

[64]  Bruce P. Douglass,et al.  Doing hard time: developing real-time systems with uml , 1999 .

[65]  Lionel C. Briand,et al.  Using genetic algorithms for early schedulability analysis and stress testing in real-time systems , 2006, Genetic Programming and Evolvable Machines.

[66]  Clémentine Nebut,et al.  Requirements by contracts allow automated system testing , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[67]  Jean Bacon Concurrent Systems: Operating Systems, Database and Distributed Systems: An Integrated Approach , 1997 .

[68]  A. Daneels,et al.  Современные SCADA-системы , 2017 .

[69]  John J. Grefenstette,et al.  Genetic Algorithms for Tracking Changing Environments , 1993, ICGA.

[70]  Elaine J. Weyuker,et al.  The Automatic Generation of Load Test Suites and the Assessment of the Resulting Software , 1995, IEEE Trans. Software Eng..

[71]  Vahid Garousi,et al.  Traffic-aware stress testing of distributed systems based on UML models , 2006, ICSE.

[72]  David Hovemeyer,et al.  Finding Concurrency Bugs in Java , 2004 .

[73]  Vahid Garousi,et al.  Traffic-aware stress testing of distributed real-time systems based on UML models using genetic algorithms , 2008, J. Syst. Softw..

[74]  Peter P. Puschner,et al.  Testing the results of static worst-case execution-time analysis , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[75]  Edwin Wright,et al.  Practical data communications for instrumentation and control , 2003 .

[76]  Tatsuji Tanaka,et al.  Object-oriented database management system for process control systems—development and evaluation , 1999, SAC '99.

[77]  Susanna Donatelli,et al.  From UML sequence diagrams and statecharts to analysable petri net models , 2002, WOSP '02.

[78]  Yennun Huang,et al.  Two Techniques for Transient Software Error Recovery , 1994, Hardware and Software Architectures for Fault Tolerance.

[79]  Vahid Garousi,et al.  Control Flow Analysis of UML 2.0 Sequence Diagrams , 2005, ECMDA-FA.

[80]  Alberto Avritzer,et al.  Load testing software using deterministic state testing , 1993, ISSTA '93.

[81]  Daniel A. Menascé Software, performance, or engineering? , 2002, WOSP '02.

[82]  Erhard Gaul,et al.  THE PHELIX CONTROL SYSTEM BASED ON UML DESIGN LEVEL PROGRAMMING IN LABVIEW , 2003 .

[83]  Kleanthis C. Thramboulidis Towards a UML based Engineering Support System , .

[84]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, Software and Systems Modeling.

[85]  Sébastien Gérard,et al.  Real-Time Modeling with UML: The ACCORD Approach , 1998, UML.

[86]  B. Stojkovic,et al.  A compact SCADA system for a smaller size electric power system control-a fast, object-oriented and cost-effective approach , 2002, 2002 IEEE Power Engineering Society Winter Meeting. Conference Proceedings (Cat. No.02CH37309).

[87]  K. D. Jong Learning with Genetic Algorithms: An Overview , 2005, Machine Learning.

[88]  A. Combo,et al.  A low cost, fully integrated, event-driven, real-time control and data acquisition system for fusion experiments , 2003 .

[89]  Tzung-Pei Hong,et al.  Simultaneously Applying Multiple Mutation Operators in Genetic Algorithms , 2000, J. Heuristics.