Models and formal verification of multiprocessor system-on-chips

Abstract In this article we develop a model for applications running on multiprocessor platforms. An application is modelled by task graphs and a multiprocessor system is modelled by a number of processing elements, each capable of executing tasks according to a given scheduling discipline. We present a discrete model of computation for such systems and characterize the size of the computation tree it suffices to consider when checking for schedulability. Analysis of multiprocessor system on chips is a major challenge due to the freedom of interrelated choices concerning the application level, the configuration of the execution platform and the mapping of the application onto this platform. The computational model provides a basis for formal analysis of systems. The model is translated to timed automata and a tool for system verification and simulation has been developed using uppaal as backend. We present experimental results on rather small systems with high complexity, primarily due to differences between best-case and worst-case execution times. Considering worst-case execution times only, the system becomes deterministic and using a special version of Uppaal , where the no history is saved, we could verify a smart-phone application consisting of 103 tasks executing on four processing elements.

[1]  Luca Benini,et al.  Analyzing on-chip communication in a MPSoC environment , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[2]  Eugene Asarin,et al.  Scheduling with timed automata , 2006, Theor. Comput. Sci..

[3]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[4]  Altamiro Amadeu Susin,et al.  Abstract RTOS modeling for embedded systems , 2004, Proceedings. 15th IEEE International Workshop on Rapid System Prototyping, 2004..

[5]  Rolf Ernst,et al.  A Formal Approach to MpSoC Performance Verification , 2003, Computer.

[6]  Andy D. Pimentel,et al.  A systematic approach to exploring embedded system architectures at multiple abstraction levels , 2006, IEEE Transactions on Computers.

[7]  Anna Ingólfsdóttir,et al.  Verification of the legOS Scheduler using Uppaal , 2000, Electron. Notes Theor. Comput. Sci..

[8]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[9]  Christian Haubelt,et al.  A SystemC-Based Design Methodology for Digital Signal Processing Systems , 2007, EURASIP J. Embed. Syst..

[10]  Stavros Tripakis,et al.  Implementation of Timed Automata: An Issue of Semantics or Modeling? , 2005, FORMATS.

[11]  M. Streubühr,et al.  A SystemC-Based DesignMethodology for Digital Signal Processing Systems , 2007 .

[12]  Wang Yi,et al.  Timed Automata with Asynchronous Processes: Schedulability and Decidability , 2002, TACAS.

[13]  Bernd Becker,et al.  A Definition and Classification of Timing Anomalies , 2006, WCET.

[14]  Ed F. Deprettere,et al.  Exploring Embedded-Systems Architectures with Artemis , 2001, Computer.

[15]  Jan Madsen,et al.  Network-Centric System-Level Model for Multiprocessor Soc Simulation , 2005 .

[16]  Sorin A. Huss,et al.  An integrated SystemC framework for real-time scheduling assessments in system level , 2004 .

[17]  Jan Madsen,et al.  ARTS: A SystemC-based framework for multiprocessor Systems-on-Chip modelling , 2007, Des. Autom. Embed. Syst..

[18]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .

[19]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[20]  Axel Jantsch,et al.  Interconnect-Centric Design for Advanced SOC and NOC , 2010 .

[21]  Lothar Thiele,et al.  Real-time calculus for scheduling hard real-time systems , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[22]  Petru Eles,et al.  Bus access optimization for distributed embedded systems based on schedulability analysis , 2000, DATE '00.

[23]  Wang Yi,et al.  TIMES - A Tool for Modelling and Implementation of Embedded Systems , 2002, TACAS.

[24]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[25]  Michael R. Hansen,et al.  System-level Verification of Multi-Core Embedded Systems using Timed-Automata , 2008 .

[26]  Petru Eles,et al.  System-Level Design Techniques for Energy-Efficient Embedded Systems , 2003, Springer US.

[27]  Shuvra S. Bhattacharyya,et al.  CHARMED: a multi-objective co-synthesis framework for multi-mode embedded systems , 2004, Proceedings. 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors, 2004..

[28]  Oded Maler,et al.  Job-Shop Scheduling Using Timed Automata , 2001, CAV.

[29]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[30]  Jean Paul Calvez,et al.  A generic RTOS model for real-time systems simulation with systemC , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[31]  Jan Madsen,et al.  A System C-Based Abstract Real-Time Operating System Model for Multiprocessor Systems-on-Chips , 2005 .

[32]  Rainer Leupers,et al.  A modular simulation framework for spatial and temporal task mapping onto multi-processor SoC platforms , 2005, Design, Automation and Test in Europe.

[33]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .