Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Functional verification of task partitioning for multiprocessor embedded systems

Published: 01 September 2007 Publication History

Abstract

With the advent of multiprocessor embedded platforms, application partitioning and mapping have gained primacy as a design step. The output of this design step is a multithreaded partitioned application where each thread is mapped to a processing element (processor or ASIC) in the multiprocessor platform. This partitioned application must be verified to be consistent with the native unpartitioned application. This verification task is called application (or task) partitioning verification.
This work proposes a code-block-level containment-checking-based methodology for application partitioning verification. We use a UML-based code-block-level modeling language which is rich enough to model most designs. We formulate the application partitioning verification problem as a special case of the containment checking problem, which we call the complete containment checking problem. We propose a state space reduction technique specific to the containment checking, reachability analysis, and deadlock detection problems. We propose novel data structures and token propagation methodologies which enhance the efficiency of containment checking. We present an efficient containment checking algorithm for the application partitioning verification problem. We develop a containment checking tool called TraceMatch and present experimental results. We present a comparison of the state space reduction achieved by TraceMatch with that achieved by formal analysis and verification tools like Spin, PEP, PROD, and LoLA.

References

[1]
Alur, R., Henzinger, T.A., Mang, F.Y.C., Qadeer, S., Rajamani, S.K., and Tasiran, S. 1998. Mocha: Modularity in model checking. In Proceedings of the International Conference on Computer-Aided Verification (CAV), A. J. Hu and M. Y. Vardi, eds. Lecture Notes in Computer Science, vol. 1427. Springer, 521--525.
[2]
Austin, T.M., Larson, E., and Ernst, D. 2002. Simplescalar: An infrastructure for computer system modeling. IEEE Comput. 35, 2, 59--67.
[3]
Best, E., Esparza, J., Grahlmann, B., Melzer, S., Römer, S., and Wallner, F. 1997. The PEP verification system. In the FEmSys Conference. Tool presentation.
[4]
Bloom, B., Istrail, S., and Meyer, A.R. 1995. Bisimulation can't be traced. J. ACM 42, 1, 232--268.
[5]
Brookes, S.D., Hoare, C.A.R., and Roscoe, A.W. 1984. A theory of communicating sequential processes. J. ACM 31, 3, 560--599.
[6]
Buck, J., Ha, S., Lee, E.A., and Messerschmitt, D.G. 1994. Ptolemy: A framework for simulating and prototyping heterogenous systems. Int. J. Comput. Simul. 4, 2, 155--182.
[7]
Chen, R., Sgroi, M., Lavagno, L., Martin, G., Sangiovanni-Vincentelli, A., and Rabaey, J. 2003. UML and platform-based design. 107--126.
[8]
Cleaveland, R., Parrow, J., and Steffen, B. 1993. The concurrency workbench: A semantics-based tool for the verification of concurrent systems. ACM Trans. Program. Lang. Syst. 15, 1, 36--72.
[9]
Coudert, O. and Madre, J.C. 1990. A unified framework for the formal verification of sequential circuits. In Proceedings of the IEEE International Conference on Computer-Aided Design (ICCAD), 126--129.
[10]
DeMillo, R.A. and Offutt, A.J. 1993. Experimental results from an automatic test case generator. ACM Trans. Softw. Eng. Methodol. 2, 2, 109--127.
[11]
Dwyer, M.B., Clarke, L.A., Cobleigh, J.M., and Naumovich, G. 2004. Flow analysis for verifying properties of concurrent software systems. ACM Trans. Softw. Eng. Methodol. 13, 4, 359--430.
[12]
Edmund, M. Clarke, J., Grumberg, O., and Peled, D., eds. 2001. Model Checking. MIT Press, Cambridge, MA.
[13]
Ellson, J., Gansner, E., Koutsofios, E., North, S., and Woodhull, G. 2003. Graphviz and Dynagraph---Static and dynamic graph drawing tools. In Graph Drawing Software, M. Junger and P. Mutzel, eds. Springer, 127--148.
[14]
Eshuis, R. 2006. Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol. 15, 1, 1--38.
[15]
Eshuis, R. and Wieringa, R. 2004. Tool support for verifying UML activity diagrams. IEEE Trans. Software Eng. 30, 7, 437--447.
[16]
Esparza, J., Römer, S., and Vogler, W. 2002. An improvement of McMillan's unfolding algorithm. Form. Methods Syst. Des. 20, 3, 285--310.
[17]
Esparza, J., Schröter, C., and Schwoon, S. 2006. The Model Checking Kit. http://www.fmi.uni-stuttgart.de/szs/tools/mckit/.University of Stuttgart.
[18]
Finkbeiner, B. 2001. Language containment checking with nondeterministic BDDs. In Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). Lecture Notes in Computer Science, vol. 2031. Springer, 24--38.
[19]
Finkel, A. 1993. The minimal coverability graph for Petri nets. In Papers from the 12th International Conference on Applications and Theory of Petri Nets (London). Springer, 210--243.
[20]
Guthaus, M.R., Ringenberg, J.S., Ernst, D., Austin, T.M., Mudge, T., and Brown, R.B. 2001. MiBench: A free, commercially representative embedded benchmark suite. In Proceedings of the IEEE 4th Annual Workshop on Workload Characterization.
[21]
Haugen, O., Muller-Pedersen, B., and Weigert, T. 2003. Structural modeling with UML 2.0: Classes, interactions and state machines. 53--76.
[22]
Hennessy, M. and Milner, R. 1985. Algebraic laws for nondeterminism and concurrency. J. ACM 32, 1, 137--161.
[23]
Holzmann, G.J. 1997. The model checker spin. IEEE Trans. Softw. Eng. 23, 5, 279--295.
[24]
Hopcroft, J.E., Motwani, R., and Ullman, J.D. 2000. Introduction to Automata Theory, Languages, and Computation, 2nd ed. Addison Wesley.
[25]
Intel. 2006. Intel PRO/Wireless 5116 broadband interface.
[26]
Johnsonbaugh, R. and Kalin, M. 1991. A graph generation software package. In SIGCSE: Proceedings of the 22nd SIGCSE Technical Symposium on Computer Science Education. ACM Press, New York, 151--154.
[27]
Juan, E.Y.T., Tsai, J.J.P., and Murata, T. 1998. Compositional verification of concurrent systems using Petri-net-based condensation rules. ACM Trans. Program. Lang. Syst. 20, 5, 917--979.
[28]
Karkowski, I. and Corporaal, H. 1998. Design space exploration algorithm for heterogeneous multi-processor embedded system design. In Proceedings of the Design Automation Conference, 82--87.
[29]
Kern, C. and Greenstreet, M.R. 1999. Formal verification in hardware design: A survey. ACM Trans. Des. Autom. Electron. Syst. 4, 2, 123--193.
[30]
McKeag, R.M. and MacNaughten, A.M., eds. 1980. On the Construction of Programs. Cambridge University Press, New York.
[31]
Moore, S.K. 2006. Winner: Multimedia monster. IEEE Spectrum 43, 1, 20--23.
[32]
Nilsson, N.J. 1980. Principles of Artificial Intelligence. Morgan Kaufmann, San Francisco, CA.
[33]
OMG. 2006. UML resource page. http://www.uml.org/#Links-UML2Tools.
[34]
OMG, T.O.M.G. 2005. Unified modeling language: Superstructure, version 2.0. Tech. Rep. formal/05-07-04. August.
[35]
Peled, D. 1996. Combining partial order reductions with on-the-fly model-checking. Form. Methods Syst. Des. 8, 1, 39--64.
[36]
Peterson, J.L. 1977. Petri nets. ACM Comput. Surv. 9, 3, 223--252.
[37]
Rackoff, C. 1978. The covering and boundedness problems for vector addition systems. Theor. Comput. Sci. 6, 223--231.
[38]
Schmidt, K. 2003. Distributed verification with Lola. Fundam. Inf. 54, 2-3, 253--262.
[39]
Selic, B. and Rumbaugh, J. 1998. Using UML for modeling complex real-time systems. Tech. Rep., ObjecTime Limited.
[40]
Stockmeyer, L.J. and Meyer, A.R. 1973. Word problems requiring exponential time (preliminary report). In STOC: Proceedings of the 5th Annual ACM Symposium on Theory of Computing. ACM Press, New York, 1--9.
[41]
Storrle, H. 2004. Semantics of control-flow in UML 2.0 activities. In Proceedings of IEEE Symposium on Visual Languages---Human Centric Computing (VLHCC), 235--242.
[42]
Sun, F., Ravi, S., Raghunathan, A., and Jha, N.K. 2005. Synthesis of application-specific heterogeneous multiprocessor architectures using extensible processors. In VLSI Design. IEEE Computer Society, 551--556.
[43]
Valmari, A. 1991. Stubborn sets for reduced state generation. In APN: Proceedings on Advances in Petri Nets. Springer, New York, 491--515.
[44]
van Glabbeek, R.J. and Weijland, W.P. 1996. Branching time and abstraction in bisimulation semantics. J. ACM 43, 3, 555--600.
[45]
Varpaaniemi, K., Heljanko, K., and Lilius, J. 1997. PROD 3.2---An advanced tool for efficient reachability analysis. In Proceedings of the 9th International Conference on Computer Aided Verification (CAV), Haifa, Israel, Jun. 22--25), O. Grumberg, ed. Lecture Notes in Computer Science, vol. 1254. Springer, 472--475.
[46]
Zhu, H., Hall, P.A.V., and May, J.H.R. 1997. Software unit test coverage and adequacy. ACM Com. put. Surv. 29, 4, 366--427.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Design Automation of Electronic Systems
ACM Transactions on Design Automation of Electronic Systems  Volume 12, Issue 4
September 2007
449 pages
ISSN:1084-4309
EISSN:1557-7309
DOI:10.1145/1278349
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 01 September 2007
Published in TODAES Volume 12, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Containment checking
  2. UML activity diagrams
  3. multiprocessor embedded systems
  4. state space reduction

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2018)Petri Net Model Checking with LoLA 2Application and Theory of Petri Nets and Concurrency10.1007/978-3-319-91268-4_18(351-362)Online publication date: 24-Jun-2018
  • (2016)Running LoLA 2.0 in a Model Checking CompetitionTransactions on Petri Nets and Other Models of Concurrency XI10.1007/978-3-662-53401-4_13(274-285)Online publication date: 2-Sep-2016
  • (2015)The Petri net twist in explicit model checkingSoftware and Systems Modeling (SoSyM)10.1007/s10270-014-0422-414:2(711-717)Online publication date: 1-May-2015
  • (2014)Explizites Model Checking: Welche Vorteile bieten Petrinetze?Informatik-Spektrum10.1007/s00287-013-0755-337:3(220-228)Online publication date: 15-Jan-2014
  • (2012)A Verification-Aware Design Methodology for Thread Pipelining ParallelizationIEICE Transactions on Information and Systems10.1587/transinf.E95.D.2505E95.D:10(2505-2513)Online publication date: 2012
  • (2011)Robust embedded software design through early analysis of quality faultsProceedings of the 4th India Software Engineering Conference10.1145/1953355.1953360(31-40)Online publication date: 24-Feb-2011
  • (2011)Exploring implicit parallelism in class diagramsJournal of Systems and Software10.1016/j.jss.2011.01.00584:5(821-834)Online publication date: 1-May-2011
  • (2010)Thermal analysis of multiprocessor SoC applications by simulation and verificationACM Transactions on Design Automation of Electronic Systems10.1145/1698759.169876515:2(1-52)Online publication date: 2-Mar-2010
  • (2009)Scenario-based timing verification of multiprocessor embedded applicationsACM Transactions on Design Automation of Electronic Systems10.1145/1529255.152925914:3(1-58)Online publication date: 4-Jun-2009

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media