1 FIT for Embedded System Test Development PRESENTER : Jingwen Chen.

Slides:



Advertisements
Similar presentations
purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
Advertisements

WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Software Engineering 1. Software development – the grand view 2. Requirements engineering.
Alternate Software Development Methodologies
VxWorks Real-Time Kernel Connectivity
MotoHawk Training Model-Based Design of Embedded Systems.
National Instruments FRC Robot Modeling Toolkit Topics: The Big Picture: “The V-Digram Design Process” Applying the “V” to Robotics Introduction to LabVIEW.
Lab 3 Details. Lab 3 Develop a bio-feedback system based on a PWM (pulse width modulated) thermal sensor Use temperature setting to control the delays.
Acceptance Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 30, 2007.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
OPERATING SYSTEM OVERVIEW
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu.
Introduction to Embedded Development. What is an Embedded System ? An embedded system is a computer system embedded in a device with a dedicated function.
EMBEDDED SOFTWARE Team victorious Team Victorious.
Hardware-In-The-Loop Testbed Team 186: Douglas Pence, Ken Gobin, Aaron Eaddy, Advisor Sung Yeul Park Department of Electrical and Computer Engineering,
Anne Mascarin DSP Marketing The MathWorks
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Table-Driven Acceptance Testing Mario Aquino Principal Software Engineer Object Computing, Inc.
A modern NM registration system capable of sending data to the NMDB Helen Mavromichalaki - Christos Sarlanis NKUA TEAM National & Kapodistrian University.
1 Shawlands Academy Higher Computing Software Development Unit.
Elad Hadar Omer Norkin Supervisor: Mike Sumszyk Winter 2010/11, Single semester project. Date:22/4/12 Technion – Israel Institute of Technology Faculty.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Cory Foy St. Louis Code Camp May 6 th, 2005 Achieving Customer Zen with Fitnesse and.NET Fitnesse and.NET Achieving Customer.
Phoenix Software Projects Larry Beaty © 2007 Larry Beaty. Copying and distribution of this document is permitted in any medium, provided this notice is.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
1 Software Process Models-ii Presented By; Mehwish Shafiq.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
HARDWARE INTERFACE FOR A 3-DOF SURGICAL ROBOT ARM Ahmet Atasoy 1, Mehmed Ozkan 2, Duygun Erol Barkana 3 1 Institute of Biomedical Engineering, Bogazici.
ICT Strategy Intelligent Highways: Endpoint Adapters.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
The Software Development Process
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Mantid Stakeholder Review Nick Draper 01/11/2007.
Program Development Cycle
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Software Development Life Cycle (SDLC)
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Center for Embedded Systems (CECS) Eli Bozorgzadeh Computer Science Department.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
Software Testing Mehwish Shafiq. Testing Testing is carried out to validate and verify the piece developed in order to give user a confidence to use reliable.
Introduction to Simulink Matlab based Both Continuous Time and Discrete Time Simulation Based on Blocksets Model Based Design: a software model of the.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Safety methods within Agile and RUP methods TORGRIM LAURITSEN BUCS project.
Skills and products portfolio an overview Lorenzo Martinelli – Business Development Contact:
Test Automation Steffen Goerlitz Barry Lange Mitchell Meerman Harry Schultz Trevor Spees.
Embedded System Design and Development Introduction to Embedded System.
Software Design and Development Development Methodoligies Computing Science.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Written by : Oren Frenkel Intel Confidential ® C CD SDS.
Advanced Software Engineering Dr. Cheng
Embedded Systems Software Engineering
Methodologies and Algorithms
Leveraging R and Shiny for Point and Click ADaM Analysis
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Testing of Heterogeneous Multi-Core Embedded Systems
Dynamo: A Runtime Codesign Environment
Outline Introduction Standards Project General Idea
OVERVIEW Impact of Modelling and simulation in Mechatronics system
G.Manduchi1, T.Fredian2⁾, J.Stillerman2⁾, A. Neto3), F. Sartori3)
Software Design Methodology
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software testing and configuration : Embedded software testing
Operating Systems : Overview
Operating Systems : Overview
Presentation transcript:

1 FIT for Embedded System Test Development PRESENTER : Jingwen Chen

2 Agile methodology from the desktop world XP Inspired embedded system life-cycle Adapting FIT into embedded system development Adapting FIT into embedded system development –What is FIT/FitNesse –EmbeddedFitNesse testing framework –MatLab/C++ FitNesse testing framework Issues with FIT in embedded design Issues with FIT in embedded design Conclusion Conclusion Main topics

3 What we want to avoid ? System defects System defects –Software errors cost $59 billion / year –Baxter Healthcare has to recall all its 256,000 Colleague Volumetric Infusion Pumps because the hardware / software problems that already cause 3 deaths and 6 serious injuries. We want to find an appropriate and efficient defect free development process for embedded devices We want to find an appropriate and efficient defect free development process for embedded devices

4 Agile methodology from the desktop business world Minimize risk by developing software in short iterations, ech iteration is like a miniature software project of its own Minimize risk by developing software in short iterations, ech iteration is like a miniature software project of its own Extreme Programming (XP) project.html Extreme Programming (XP) project.html project.html project.html

5

6 Agile methodology from the desktop business world Explore design space Explore design space –Test Driven Development (TDD) Improved defect reduction Improved defect reduction Enhanced communication between the customers and developers Enhanced communication between the customers and developers –Extremes of knowledge within a multi-disciplinary team –Customer: product end-users and researchers –Developer: Engineers

7 XP inspired (XPI) product lifecycle for biomedical embedded system Stage 1 : XPI Product envisagement –Customers together with developers produce “executable system specification” –System acceptance tests Stage 2 : XPI Proof of concept –Algorithms developed in MATLAB and validated by the acceptance tests written in first stage –Additional unit test in MATLAB using MUnit

8 XP inspired (XPI) product lifecycle for biomedical embedded system Stage 3 : XPI Prototyping of initial product –Forming the initial product using host machine simulation / embedded system –System moved into the C/C++ production language and validated via tests written in stage 1 and stage 2 –Additional embedded unit tests added for new environment. Stage 4 : XPI Full production of system –The production of the full system on real embedded system target board –Satisfy the acceptance tests and unit tests developed

9 Build an Agile Build an appropriate Agile development environment for embedded system A mechanism to allow customers without embedded system knowledge to form a part of the development team A mechanism to allow customers without embedded system knowledge to form a part of the development team FitNesse/FIT is one possible solution FitNesse/FIT is one possible solution

10 What is FIT/FitNesse ? A software testing tool designed for customers with limited IT knowledge A wiki-based system for creating, organizing, and running FIT test tables A wiki-based system for creating, organizing, and running FIT test tables Fit test tables are easy to be read and written by customer

11 An example of FIT test table TestFixtures. CheckLifeSign() itemsinputValuetestResults? bloodPressure95normal heartRate80normal temperature38 high expected normal actual

12 Starting from a simple temperature measurement embedded system Test software function: CalculateTemperature ( ) running on the target board convert pulse width to actual temperature Target Platform Hardware Layer Analog Device ADSP-BF533 processor System Software Layer Application Layer CalculateTemperature( ) VDK real-time operating system Input device: TMP03 thermal sensor Voltage pulse: Time Low Time High

13 Stage 1. XPI Product envisagement Customers together with the developers write the Fit test table Customers together with the developers write the Fit test table DSPFixture.VDSPColumnFixtureTest VoltHigh VoltLow outputTemperature(F)

14 Stage 2. XP Inspired Proof of concepts MatLabFitNesse testing framework MatLabFitNesse testing framework Developing the function in MatLab validated by the fit test in stage 1 Developing the function in MatLab validated by the fit test in stage 1 Fixture for Test table FitNesse Web server Wiki editor and storage DSPFixture.VDSPColumnFixtureTest VoltHigh VoltLowoutputTemperature(F) expected 135 actual MATLAB ENGINE MATLAB API Runner Fit Server

15 Migrate the MatLab code into embedded system language validated via tests for stage 1 and stage 2 using host machine simulation Migrate the MatLab code into embedded system language validated via tests for stage 1 and stage 2 using host machine simulation HOST MACHINE EmbeddedFitNesse Fixture for Test table Runner Fit Server C++ Simulation Environment Stage 3. XPI initial production system FitNesse Web server Wiki editor and storage DSPFixture.VDSPColumnFixtureTest VoltHigh VoltLowoutputTemperature(F) expected 135 actual MATLAB ENGINE MATLAB API

16 Running the function on real embedded target platform and satisfying the original test in stage 1 Running the function on real embedded target platform and satisfying the original test in stage 1 HOST MACHINE EmbeddedFitNesse Fixture for Test table DSP Interface class S.M.I.L.E TARGET PLATFORM Stage 4. XPI full production system MATLAB ENGINE MATLAB API FitNesse Web server Wiki editor and storage DSPFixture.VDSPColumnFixtureTest VoltHigh VoltLowoutputTemperature(F) expected 135 actual VDSP API VDSP Environment Runner Fit Server C++ Simulation Environment

17 Some tests we have done for embedded hardware: Lab2TestFixtures.SetCoreTimerAssembly setCOUNTsetPERIODsetSCALEreadTCOUNT()readTPERIOD()readTSCALE() expected actual An error on the ADSP-BF533 processor was found by undergraduate students taking our embedded systems course. They were using TDD to develop the register setting function SetCoreTimer ( ) running on the embedded target board.

18 HOST MACHINE EmbeddedFitNesse Fixture for Test table Issues with the full EmbeddedFitNesse testing framework FitNesse Web server Wiki editor and storage Long communication path ! S.M.I.L.E TARGET PLATFORM DSPFixture.VDSPColumnFixtureTest VoltHigh VoltLowoutputTemperature(F) expected 135 actual DSP Interface class VDSP API VDSP Environment Runner Fit Server C++ Simulation Environment MATLAB ENGINE MATLAB API

19 FitNesse in embedded design How to use FIT tables to specify an embedded system properly ? – –Embedded system acceptance tests includes: system operations external and internal stimulus responses interrupt latency system reliability – –Extend the fit test table to handle diverse test cases. timing diagrams signal comparison figures Efficiency and reliability concerns – –Make the EmbeddedFitNesse testing frame work more efficiently Is FitNesse a good solution for embedded system Agile development ?

20 XPI Lifecycle embedded system development EmbeddedFitNesse testing framework EmbeddedFitNesse testing framework MatLab/C++ FitNesse testing framework MatLab/C++ FitNesse testing framework Issues with FIT in embedded design Issues with FIT in embedded design Conclusion

21 Thank you !