Verification of Component-based Embedded System Designs

Embedded systems are becoming increasingly common in our everyday lives. As technology progresses, these systems become more and more complex. Designers handle this increasing complexity by reusing existing components. At the same time, the systems must fulfill strict functional and non-functional requirements. This thesis presents novel and efficient techniques for the verification of component-based embedded system designs. As a common basis, these techniques have been developed using a Petri net based modelling approach, called PRES+. Two complementary problems are addressed: component verification and integration verification. With component verification the providers verify their components so that they function correctly if given inputs conforming to the assumptions imposed by the components on their environment. Two techniques for component verification are proposed in the thesis. The first technique enables formal verification of SystemC designs by translating them into the PRES+ representation. The second technique involves a simulation based approach into which formal methods are injected to boost verification efficiency. Provided that each individual component is verified and is guaranteed to function correctly, the components are interconnected to form a complete system. What remains to be verified is the interface logic, also called glue logic, and the interaction between components. Each glue logic and interface cannot be verified in isolation. It must be put into the context in which it is supposed to work. An appropriate environment must thus be derived from the components to which the glue logic is connected. This environment must capture the essential properties of the whole system with respect to the properties being verified. In this way, both the glue logic and the interaction of components through the glue logic are verified. The thesis presents algorithms for automatically creating such environments as well as the underlying theoretical framework and a step-by-step roadmap on how to apply these algorithms.

[1]  Gert Jervan,et al.  Hybrid Built-In Self-Test and Test Generation Techniques for Digital Systems , 2005 .

[2]  Bashir M. Al-Hashimi,et al.  Dual transitions Petri Net based modelling technique for embedded systems specification , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[3]  Daniel Kroening,et al.  Formal verification of SystemC by automatic hardware/software partitioning , 2005, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2005. MEMOCODE '05..

[4]  Arne Jönsson,et al.  Dialogue management for natural language interfaces - an empirical approach , 1993, Linköping studies in science and technology dissertations.

[5]  Bourhane Kadmiry,et al.  Fuzzy gain scheduled visual servoing for an unmanned helicopter , 2005 .

[6]  Jonas Kvarnström,et al.  TALplanner and Other Extensions to Temporal Action Logic , 2005 .

[7]  Lars Degerstedt,et al.  Tabulation-based Logic Programming : A Multi-level View of Query Answering , 1996 .

[8]  David Dinka,et al.  Role, Identity and Work : Extending the design and development agenda , 2010 .

[9]  Sofiène Tahar,et al.  Design for verification of SystemC transaction level models , 2005, Design, Automation and Test in Europe.

[10]  Andrew Piziali,et al.  Functional verification coverage measurement and analysis , 2004 .

[11]  John M. Rushby,et al.  Theorem Proving for Verification , 2000, MOVEP.

[12]  Conrado Daws,et al.  Reducing the number of clock variables of timed automata , 1996, RTSS.

[13]  Anders Avdic,et al.  Användare och utvecklare : om anveckling med kalkylprogram , 2001 .

[14]  Silvia Coradeschi,et al.  Anchoring symbols to sensory data , 1999 .

[15]  Stefan Holmlid,et al.  Adapting users : towards a theory of use quality , 2002 .

[16]  Asmus Pandikow,et al.  A Generic Principle for Enabling Interoperability of Structured and Object-Oriented Analysis and Design Tools , 2002 .

[17]  John Chilton,et al.  IP reuse in the system on a chip era , 2000, ISSS '00.

[18]  A. Chakrabarti,et al.  Formal verification of module interfaces against real time specifications , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[19]  P. Doherty NML3 : a non-monotonic formalism with explicit defaults , 1991 .

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

[21]  Vivian Vimarlund,et al.  An economic perspective on the analysis of impacts of information technology : from case studies in health-care towards general models and theories , 1999 .

[22]  Wolfgang Rosenstiel,et al.  A qualification platform for design reuse , 2002, Proceedings International Symposium on Quality Electronic Design.

[23]  Henryk Jan Komorowski,et al.  A specification of an abstract Prolog machine and its application to partial evaluation , 1981 .

[24]  Eva L. Ragnemalm,et al.  Student modelling based on collaborative dialogue with a learning companion , 1999 .

[25]  Erik G. Larsson,et al.  An Integrated System-Level Design for Testability Methodology , 2000 .

[26]  Rolf Drechsler,et al.  Formal verification of LTL formulas for SystemC designs , 2003, Proceedings of the 2003 International Symposium on Circuits and Systems, 2003. ISCAS '03..

[27]  N. Dahlbäck,et al.  Representations of discourse : cognitive and computational aspects , 1991 .

[28]  Osten Oskarsson,et al.  Mechanisms of modifiability in large software systems , 1982 .

[29]  Felice Balarin,et al.  Approximate reachability analysis of timed automata , 1996, 17th IEEE Real-Time Systems Symposium.

[30]  Lars Hult,et al.  Publika informationstjänster : en studie av den elektroniska encyklopedins bruksegenskaper , 2003 .

[31]  Petru Eles,et al.  Formal Verification of SystemC Designs Using a Petri-Net Based Representation , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[32]  Anneli Hagdahl,et al.  Development of IT-supported Inter-organisational Collaboration: A Case Study in the Swedish Public Sector , 2002 .

[33]  Gitanjali Swamy,et al.  Formal verification of digital systems , 1997, Proceedings Tenth International Conference on VLSI Design.

[34]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[35]  P. Eles,et al.  Verification of embedded systems using a Petri net based representation , 2000, Proceedings 13th International Symposium on System Synthesis.

[36]  Annika Flycht-Eriksson,et al.  Design and use of ontologies in information-providing dialogue systems , 2004 .

[37]  Jimmy Tjäder,et al.  Systemimplementering i praktiken : en studie av logiker i fyra projekt , 1999 .

[38]  Serdar Tasiran,et al.  Linking simulation with formal verification at a higher level , 2004, IEEE Design & Test of Computers.

[39]  Sofiène Tahar,et al.  Design and verification of SystemC transaction-level models , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[40]  Thomas A. Henzinger,et al.  An assume-guarantee rule for checking simulation , 1998, TOPL.

[41]  Joachim Karlsson,et al.  A systematic approach for prioritizing software requirements , 1998 .

[42]  Mikael Ericsson,et al.  Supporting the use of design knowledge : an assessment of commenting agents , 1999 .

[43]  Peter Ambjorn Fritzson,et al.  Towards a distributed programming environment based on incremental compilation (debugging, prettyprinting, interactive) , 1984 .

[44]  Ewa Braf,et al.  Knowledge demanded for action : studies of knowledge mediation in organisations , 2004 .

[45]  Rita Kovordanyi,et al.  Modeling and simulating inhibitory mechanisms in mental image reinterpretation : towards cooperative human-computer creativity , 1999 .

[46]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[47]  D. Brand Verification of large synthesized designs , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[48]  Petru Eles,et al.  Validation of embedded systems using formal method aided simulation , 2005, 8th Euromicro Conference on Digital System Design (DSD'05).

[49]  Emil F. Girczyc,et al.  Increasing Design Quality and Engineering Productivity through Design Reuse , 1993, 30th ACM/IEEE Design Automation Conference.

[50]  Anders Arpteg,et al.  Intelligent Semi-Structured Information Extraction , 2005 .

[51]  Mattias Arvola,et al.  Shades of Use: The Dynamics of Interaction Design for Sociable Use , 2005 .

[52]  Kim G. Larsen,et al.  Time-Optimal Real-Time Test Case Generation Using Uppaal , 2003, FATES.

[53]  Iakov Nakhimovski,et al.  Contributions to the Modeling and Simulation of Mechanical Systems with Detailed Contact Analyses , 2006 .

[54]  Petru Eles,et al.  A Front End to a Java Based Environment for the Design of Embedded Systems , 2001 .

[55]  Choong-ho Yi,et al.  Modelling object-oriented dynamic systems using a logic-based framework , 2002 .

[56]  Petru Eles,et al.  A Formal Verification Approach for IP-based Designs , 2004, FDL.

[57]  Pär Emanuelson,et al.  Performance enhancement in a well-structured pattern matcher through partial evaluation , 1980 .

[58]  Lin Padgham,et al.  Non-monotonic inheritance for an object-oriented knowledge-base , 1989 .

[59]  Sorin Manolache,et al.  Analysis and Optimisation of Real-Time Systems with Stochastic Behaviour , 2005 .

[60]  Sofie Pilemalm,et al.  Information Technology for Non-Profit Organisations: Extended Participatory Design of an Information System for Trade Union Shop Stewards , 2002 .

[61]  Olof Johansson Development environments for complex product models , 1996 .

[62]  Per-Arne Persson,et al.  Bringing power and knowledge together: information systems design for autonomy and control in command work , 2000 .

[63]  Aleksandra Tesanovic,et al.  Developing Reusable and Reconfigurable Real-Time Software using Aspects and Components , 2006 .

[64]  Henrik Nilsson,et al.  Declarative debugging for lazy functional languages , 1998 .

[65]  Rolf Drechsler,et al.  CheckSyC: an efficient property checker for RTL SystemC designs , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[66]  Pernilla Qvarfordt,et al.  Eyes on multimodal interaction , 2004 .

[67]  Carl-Johan Petri,et al.  Organizational information provision : managing mandatory and discretionary utilization of information technology , 2001 .

[68]  Rolf Drechsler,et al.  Reachability analysis for formal verification of SystemC , 2002, Proceedings Euromicro Symposium on Digital System Design. Architectures, Methods and Tools.

[69]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[70]  Tulika Mitra,et al.  Using formal techniques to debug the AMBA system-on-chip bus protocol , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[71]  Raul Camposano,et al.  Embedded system design , 1996, Des. Autom. Embed. Syst..

[72]  Jörgen Hansson,et al.  Value-driven multi-class overload management in real-time database systems , 1999 .

[73]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[74]  Paul Scerri,et al.  Designing agents for systems with adjustable autonomy , 2001 .

[75]  Vadim Engelson,et al.  Tools for design, interactive simulation, and visualization of object-oriented models in scientific computing , 2000 .

[76]  Jonas Hallberg,et al.  Timing issues in high-level synthesis , 1998 .

[77]  Ola Angelsmark Constructing Algorithms for Constraint Satisfaction and Related Problems : Methods and Applications , 2005 .

[78]  Olivier Coudert,et al.  A unified framework for the formal verification of sequential circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[79]  Fredrik Karlsson,et al.  Method configuration: method and computerized tool support , 2005 .

[80]  Jörgen Lindström,et al.  Does distance matter? On geographical dispersion in organisations , 1999 .

[81]  Fredrik Nilsson Strategi och ekonomisk styrning : en studie av hur ekonomiska styrsystem utformas och används efter företagsförvärv , 1997 .

[82]  Daniel D. Gajski,et al.  Embedded tutorial: essential issues for IP reuse , 2000, ASP-DAC '00.

[83]  Niklas Hallberg,et al.  Incorporating user values in the design of information systems and services in the public sector : a methods approach , 1999 .

[84]  Juha Takkinen,et al.  From information management to task management in electronic mail , 2002 .

[85]  Pawel Pietrzak,et al.  A type-based framework for locating errors in constraint logic programs , 2002 .

[86]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[87]  C. Curescu,et al.  Utility-based Optimisation of Resource Allocation for Wireless Networks , 2005 .

[88]  Stefan Cronholm,et al.  Metodverktyg och användbarhet : en studie av datorstödd metodbaserad systemutveckling , 1998 .

[89]  Petru Eles,et al.  Formal verification in a component-based reuse methodology , 2002, 15th International Symposium on System Synthesis, 2002..

[90]  Joakim Gustafsson,et al.  Extending temporal action logic , 2001 .

[91]  Dimiter Driankov,et al.  Towards a many‐valued logic of quantified belief: The information lattice , 1991 .

[92]  Erland Jungert,et al.  Synthesizing database structures from a user oriented data model , 1980 .

[93]  Ken Albin Nuts and bolts of core and SoC verification , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[94]  Mikael Kindborg,et al.  Concurrent comics : programming of social agents by children , 2003 .

[95]  Jürgen Haase Design methodology for IP providers , 1999, DATE '99.

[96]  Luis Alejandro Cortés,et al.  Verification and Scheduling Techniques for Real-Time Embedded Systems , 2005 .

[97]  Mikael Lind,et al.  Från system till process kriterier för processbestämning vid verksamhetsanalys , 2001 .

[98]  D. Gajski,et al.  Transaction Level Modeling in System Level Design , 2003 .

[99]  Pierre Bricaud,et al.  Reuse methodology manual for system-on-chip designs , 1998 .

[100]  V. Chaiyakul,et al.  Essential issues for IP reuse , 2000, Proceedings 2000. Design Automation Conference. (IEEE Cat. No.00CH37106).

[101]  David Garlan,et al.  A compositional formalization of connector wrappers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[102]  Yuxiao Zhao,et al.  Standards-based application integration for business-to-business communications , 2005 .

[103]  Johan Åberg,et al.  Live help systems : an approach to intelligent help for Web information systems , 2002 .

[104]  Petru Eles,et al.  Modeling and formal verification of embedded systems based on a Petri net representation , 2003, J. Syst. Archit..

[105]  Jonas Mellin,et al.  Resource-Predictable and Efficient Monitoring of Events , 2004 .

[106]  Ulf Nilsson,et al.  Abstract Interpretation & Abstract Machines: Contribution to a Methodology for the Implementation of Logic Programs , 1992 .

[107]  Rego Granlund,et al.  Monitoring distributed teamwork training , 2002 .

[108]  Magnus Merkel,et al.  Understanding and enhancing translation by parallel text processing , 1999 .

[109]  Farn Wang,et al.  Symbolic Model Checking for Distributed Real-Time Systems , 1993, FME.

[110]  Pär J. Ågerfalk Information Systems Actability: Understanding Information Technology as a Tool for Business Action and Communication , 2003 .

[111]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[112]  K. C. Lo,et al.  Design for reuse , 1998 .

[113]  Bryan D. Ackland,et al.  A single-chip 1.6 billion 16-b MAC/s multiprocessor DSP , 1999 .

[114]  C. Douglas Locke,et al.  Building a predictable avionics platform in Ada: a case study , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[115]  Malin Nordström,et al.  Styrbar systemförvaltning : att organisera systemförvaltningsverksamhet med hjälp av effektiva förvaltningsobjekt , 2005 .

[116]  Sture Hägglund,et al.  Contributions to the development of methods and tools for interactive design of applications software , 1980 .

[117]  Linda Askenäs,et al.  The roles of IT : studies of organising when implementing and using enterprise systems , 2004 .

[118]  Kenneth L. McMillan,et al.  A Compositional Rule for Hardware Design Refinement , 1997, CAV.

[119]  Claudiu Duma,et al.  Security and trust mechanisms for groups in distributed services , 2005 .

[120]  Ling Lin,et al.  Management of 1-D Sequence Data- From Discrete to Continuous , 1999 .

[121]  Petru Eles,et al.  A formal verification methodology for IP-based designs , 2004 .

[122]  Tore Risch,et al.  Compilation of multiple file queries in a meta-database system , 1978 .

[123]  Mikael Cäker,et al.  Management accounting as constructing and opposing customer focus : three case studies on management accounting and customer relations , 2005 .

[124]  Anette Moberg Närhet och distans : studier av kommunikationsmönster i satellitkontor och flexibla kontor , 1997 .

[125]  Ulf Seigerroth,et al.  Att förstå och förändra systemutvecklingsverksamheter en taxonomi för metautveckling , 2003 .

[126]  Tobias Ritzau,et al.  Memory Efficient Hard Real-Time Garbage Collection , 2003 .

[127]  Erik Anders Tengvald,et al.  The design of expert planning systems: an experimental operations planning system for turning , 1984 .

[128]  Orna Grumberg,et al.  Branching-Time Temporal Logic and Tree Automata , 1996, Inf. Comput..

[129]  Natarajan Shankar,et al.  Effective Theorem Proving for Hardware Verification , 1994, TPCD.

[130]  Jaime Villegas,et al.  Simulation supported industrial training from an organisational learning perspective : development and evaluation of the SSIT method , 1996 .

[131]  Nahid Shahmehri,et al.  Generalized algorithmic debugging , 1991 .