Emulation as Test Infrastructure Dan Voss, Varolii Corp. SASQAG May 15, 2008.

Slides:



Advertisements
Similar presentations
An Overview Of Virtual Machine Architectures Ross Rosemark.
Advertisements

Mobile Computing Advantages and limitations of mobile computing
Implementation of an Android Phone Based Video Streamer 2010 IEEE/ACM International Conference on Green Computing and Communications 2010 IEEE/ACM International.
Design & Developed by: EATL
Mobile Mobile OS and Application Team: Kwok Tak Chi Law Tsz Hin So Ting Wai.
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Chapter 13 Embedded Systems
Device Driver Presented By: Syed Zulfiqar Ali Qurat Ul Ain Aslam
LECTURE 14 Operating Systems and Utility Programs
Introduction to Android Platform Overview
Types of software. Sonam Dema..
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
E Virtual Machines Lecture 4 Device Virtualization
CYPRESS PNSQC (15-17 Oct. 2001) 1 Testing a Bluetooth Product With Web and Embedded Software Rick Clements cypress.com Cypress Semiconductors 9125.
Lesson 4 Computer Software
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
Operating Systems Who’s in charge in there?. Types of Software Application Software : Does things we want to do System Software : Does things we need.
COMPUTER MAIN PARTS Hardware Software. HARDWARE Definition: The set of hardware components that make up the material part (physical) of a computer, unlike.
Flash Cards Computer Technology.
Intel Moblin CSE 494/598 Mobile Health and Networking.
High-level Languages.
Computer Literacy for IC 3 Unit 1: Computing Fundamentals © 2010 Pearson Education, Inc. | Publishing as Prentice Hall.1 Chapter 3 Evaluating, Purchasing,
Introduction to Embedded Software Development School of software Engineering Introduction to Windows CE.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
VirtualBox What you need to know to build a Virtual Machine.
Chapter 8: Operating Systems and Utility Programs Catherine Gifford Dan Falgares.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Operating System. 1. How Operating Systems Work Operating System Functions At the simplest level, an operating system does two things: It manages the.
Testing 4G Ahead of the Curve Automation, is it even an option?
Celluloid An interactive media sequencing language.
Copyright © 2006 Prentice-Hall. All rights reserved.1 Computer Literacy for IC 3 Unit 1: Computing Fundamentals Project 1: Identifying Types of Computers.
Getting To Know Computers COMPUTER BASICS. WHAT IS A COMPUTER? A computer is an electronic device that manipulates information, or “data.” It has the.
SOC Virtual Prototyping: An Approach towards fast System- On-Chip Solution Date – 09 th April 2012 Mamta CHALANA Tech Leader ST Microelectronics Pvt. Ltd,
Basics of testing mobile apps
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
Internet2 AdvCollab Apps 1 Access Grid Vision To create virtual spaces where distributed people can work together. Challenges:
Application Software System Software.
Introduction Why are virtual machines interesting?
Review 1 Chapters Chapter 1 Understanding Computers, 12th Edition 2 Chapter 1 Explain why it is essential to learn about computers today and discuss.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
GCSE Computing: A451 Computer Systems & Programming Topic 3 Software System Software (1) The Operating System.
Technical Sales Specialist Software - OS and Applications John R. Moegling Sr. Systems Engineer.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By : Abhishek Verma Main Topics : 1. Introduction 2. Platform 3. Software Development 4. Overall Evaluation.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
History of Windows Operating System. Windows 1.0 Debuted in 1985 First version of Windows that was set up to use bitmap displays and mouse pointing devices.
By SPEC INFOTECH. A programming language reigning the IT industry Marking its presence around the globe Striking Features which make Java supreme: Simplistic.
Insight Developing for Mobile Devices. 2 Device for voice communication Alexander Graham Bell (1876)
System Software (1) The Operating System
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Android Training in Chandigarh. What is Android Android is a mobile operating system based on the Linux Kernel. The goal of android project is to create.
Virtualization Neependra Khare
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
CSCI206 - Computer Organization & Programming
Voice Controlled Robot by Cell Phone with Android App
Android Mobile Application Development
Microprocessor and Assembly Language
Technology Literacy Hardware.
Linux Operating System Architecture
Who’s in charge in there?
Chapter 3: Windows7 Part 1.
OPERATING SYSTEMS.
Introduction to Operating Systems
Introduction to Virtual Machines
Introduction to Virtual Machines
What is an operating system An operating system is the most important software that runs on a computer. It manages the computer's memory and processes,
Presentation transcript:

Emulation as Test Infrastructure Dan Voss, Varolii Corp. SASQAG May 15, 2008

SASQAG 5/15/08Dan Voss2 Outline Emulation past, present, and future How a software emulator works Emulation benefits Demonstration vs. Hardware Target Automated Test in Emulation Automated Test demonstration Q & A

SASQAG 5/15/08Dan Voss 3 Emulation is the ability of one system to operate like another system. Then came microprocessors. (def.) Computers. Imitation (of a particular computer system) by using a software system, often including a microprogram or other computer that enables it to do the same work, run the same programs, etc., as the first. [1]

SASQAG 5/15/08Dan Voss 4 Emulation Past Emulates hardware 1970s2000s1980s1990s

SASQAG 5/15/08Dan Voss 5 An early hardware emulator [2]

SASQAG 5/15/08Dan Voss 6 Emulation Past Emulates hardware Primitive but expensive 1970s 2000s1980s1990s

SASQAG 5/15/08Dan Voss 7 “brain” behind the emulator [3]

SASQAG 5/15/08Dan Voss 8 Emulation Past Emulates hardware Primitive but expensive Few alternatives to chip makers’ systems 1970s1980s1990s2000s

SASQAG 5/15/08Dan Voss 9 Emulation Past Problems mounted Faster speed vs. native mode emulation Primitive tools vs. larger code size Single-user systems vs. larger teams No role for Test 1970s1980s1990s2000s

SASQAG 5/15/08Dan Voss 10 Emulation Present Breakthrough at 32-bit target system Lower cost tools on PC platform Standard desktop OS (Linux) Widely supported environment 1970s1980s1990s2000s

SASQAG 5/15/08Dan Voss 11 Emulation Present (cont’d) Emulate software source files Tool environment is like the target Everybody can have one 1980s1990s2000s1970s

SASQAG 5/15/08Dan Voss 12 Emulation Future Emulate the system Niche – Windows apps on Mac Broad – system virtualization 1980s1990s2000s1970s

SASQAG 5/15/08Dan Voss 13 software emulation details if emulator build emulator code for this operation else target code for this operation endif Sprinkled throughout the code!

SASQAG 5/15/08Dan Voss 14 software emulator architecture app code app libraries OS kernel drivers OS kernel OS libraries devices

SASQAG 5/15/08Dan Voss 15 Project Charter Contract on interface code design Aim for “perfect” emulation SDET commitment

SASQAG 5/15/08Dan Voss 16 Perfect emulation benefits AllEverybody can have one Team groups work independently TestImmediate access to app code Lower integration risk Test is a full partner

SASQAG 5/15/08Dan Voss 17 cell handset (8/04) Emulator implemented: keypad, extra keys display browser messaging skin interface battery monitor RF module signaling Missing:voice channel ringtones Curitel G400B GSM 4 band

SASQAG 5/15/08Dan Voss 18 WiFi Media Player (11/07) Emulator implemented: keypad, extra keys display browser WiFi connection audio (limited formats ) video (limited formats) battery monitor Missing: Bluetooth, FM radio Haier “ibiza” player 30 GB hard drive

SASQAG 5/15/08Dan Voss 19 Demo emulator vs. target Play same audio on both Play same video on both Display same picture on both

SASQAG 5/15/08Dan Voss 20 Emulation for automated test Measurement needs app state Exampleskey up/downWiFi connection screen locationaudio playback backlightvideo playback memory usedinput buffer Keep it lightweight

SASQAG 5/15/08Dan Voss 21 Varia Automated Test Artifacts Smoke test for continuous integration Functional test for stability Automated test cases (e.g., critical, tedious)

SASQAG 5/15/08Dan Voss 22 Automated Test Demonstration Stress test example

SASQAG 5/15/08Dan Voss 23 Conclusions Emulation has come a long way Perfect emulation is a productive infrastructure to get a head start on challenging embedded applications Perfect emulation enables early testing Perfect emulation encourages automated test

SASQAG 5/15/08Dan Voss 24 References [1] Webster’s Encyclopedic Dictionary of the English Language, 1996 [2] Intel MDS in-circuit emulator photo [3] Intel MDS main unit photo &imgrefurl= mds-800.htm&h=100&w=133&sz=60&tbnid= -6NLxJ5U9ocJ:&tbnh=100&tbnw=133&prev= /images%3Fq%3Dintel&sa=X&oi=image_result &resnum=1&ct=image&cd=2

SASQAG 5/15/08Dan Voss 25 Q & A

SASQAG 5/15/08Dan Voss 26 Emulation as test infrastructure Dan Voss, Varolii Corp SASQAG5/15/2008 Abstract Emulation tools are particularly suited to software for embedded applications. Early emulators were based on hardware, limited in resources, and proprietary. They were poor tools to develop code, and just about useless for testing. Processor performance has improved tremendously, however, and the situation is much better today. A prime reason is targets can now run a conventional desktop operating system. I will describe several important benefits from this for Development as well as Test, and what it takes to make infrastructure based on emulation workable There will be a demonstration comparing emulator operation with the real target for a portable entertainment product. Emulation encourages automated test, and an example from the same project will be demonstrated.