Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

Size: px
Start display at page:

Download "Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager"

Transcription

1 Software Engineering for LabVIEW Applications Elijah Kerry LabVIEW Product Manager 1

2 Ensuring Software Quality and Reliability Goals 1. Deliver a working product 2. Prove it works right 3. Mitigate risk of failure 4. Avoid last-minute changes Why? 1. More complex software 2. Mission-critical applications 3. Team size is growing 4. Increased scrutiny 5. Decreased time 2

3 National Instruments is ISO 9001 Certified 5

4 Software Quality Standards Company wide certification standard ISO 9000 Voluntary certification standard for consistent processes CMMI Process improvement model sponsored by the National Defense Industrial Association Product specific certification for quality DO-178B FAA standard for avionics software FDA 21 CFR Part 820 Medical device standard 6

5 Software Engineering V-Model Prototyping Requirements Gathering Review and Test Deployment Service Application Architecture Integration Testing Module Architecture Unit Testing Development & Debugging 7

6 The Software Engineering Process Requirements Gathering Application Architecture Development Debugging & Testing Deployment Software Configuration Management Process is independent of programming language Demonstrate a particular process for certification Automate this process for LabVIEW with toolkits and add-ons SCM is applied throughout process 8

7 Software Configuration Management? Requirements Gathering Application Architecture Development Debugging & Testing Deployment Software Configuration Management Provides repository of code Helps manage source code and track changes Crucial for team-based development Important throughout development process 9

8 Tracking Changes to Source Code A change to the code causes a problem that isn t detected for several revisions How can you track changes over time to identify when the behavior changed? What changed? bug detected bug introduced Change corrected Code Revision 10

9 Group Development Two developers, Joe and Jack, are working together Jack copies (a.k.a. branches ) Joe s code Joe and Jack are making changes to the same application How do they track changes to shared dependencies and expedite the process of merging their work? Joe s Code Merger Code Revision Jack s Code 11

10 Source Code Application Control Architecture Requirements Gathering Development Debugging & Testing Deployment Software Configuration Management Merger Code Revision Locked for edit Developer 1 Checked Out Checked In Get Latest Version Code Repository Checked Out Checked In Checked Out Checked In Developer 2 12

11 SCC Integration with LabVIEW Third-party source control integration with: Microsoft Visual SourceSafe Microsoft Team System Perforce Rational ClearCase PCVS (Serena) Version Manager MKS Source Integrity Seapine Surround SCM Borland StarTeam Telelogic Synergy ionforge Evolution subversion** Access SCC tools via LabVIEW Project *New in LabVIEW 8.5 Project specific settings* **subversion is open source and requires plug-in 13

12 Cross-Linking Defined A VI references a subvi that you didn t intend. Older version Different branch of same code Basic Calculator Project Scientific Calculator Project Calculator.vi Scientific Calculator.vi Memory Display Memory Display 15

13 System Level View Track Changes Integrate with SCC Software Configuration Management for LabVIEW Merge Graphical Code Manage Files and Links View Revision History 16

14 The Software Engineering Process Requirements Gathering Application Architecture Development Debugging & Testing Deployment Software Engineering Tools and Best Practices Requirements Gateway Design Patterns Object Orientation Multicore Dataflow MathScript Statechart Simulation Express VI Analyzer Real Time Execution Trace Desktop Execution Trace Unit Test Framework Application Builder Real Time FPGA Embedded 17

15 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Challenges Agreeing upon what the application will do Defining acceptable and safe behaviors Defining tests for individual components Traceability from code to documents 18

16 Software Design Phase Prototype Specifications System Requirements Unit Specifications Test Definitions 19

17 Requirements Gathering Application Architecture Development Debugging & Testing Deployment 20

18 Requirements Traceability Solution from NI 21

19 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Goals Determine how code will be divided based upon functionality Develop standard interfaces and APIs for code modules Ensure code scales and is readable and maintainable 23

20 Without Architecture, There is Chaos 24

21 LabVIEW Design Patterns Important architecture concept Common, easily recognized frameworks Improves code readability Avoid reinventing the wheel Take advantage of over 20 years of work Abstracts common problems 25

22 Producer / Consumer Design Pattern 26

23 Architecting for Multiple Processors Not all code requires sequential execution Isolate independent chunks of code and mark them as tasks Task A Task B Task C

24 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Tools: Design Patterns Object-Oriented Design LabVIEW Statechart Module Multicore 28

25 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Goals Implement the application based upon specifications Abide by style guidelines Document, Document, Document 29

26 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Develop Using Multiple Models of Computation 30

27 Documentation Labeled objects In-line comments Distinct Icon Description and Tip HTML Print-Out Requirements Coverage 31

28 Documenting Coverage Specifications LabVIEW Unit Tests 32

29 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Practices Iterative testing during development Manual peer code review Static and dynamic code analysis Validation against requirements 33

30 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Development Environment Tools Constantly compilation Highlight execution Breakpoint manager Automatic Error Handling Diagram cleanup National Instruments Style Guideline VI Profiler Coercion (Memory) Dots Conditional disable structures 34

31 Simple Application Complexity Advanced Tools for Debugging and Testing Debugging & Testing Unit Test Framework Functional Validation of Code Desktop Execution Trace Real Time Execution Trace Dynamic Code Analysis VI Analyzer Toolkit Static Code Analysis Low Risk High Risk Application Criticality 35

32 Simple Application Complexity Advanced Tools for Debugging and Testing Debugging & Testing Unit Test Framework Functional Validation of Code Desktop Execution Trace Real Time Execution Trace Dynamic Code Analysis VI Analyzer Toolkit Static Code Analysis Low Risk High Risk Application Criticality 36

33 Performing a LabVIEW Code Review Walk someone through your code Ask the following questions: Is the code easy to maintain? What happens if the code returns an error? Is too much functionality located in a single VI? Are there any race conditions? Is the memory usage within acceptable limits? 37

34 Preparing for a Code Review with VI Analyzer Automate code analysis with 60+ configurable tests Performance Style Interactively inspect failures Generate custom reports 38

35 Simple Application Complexity Advanced Tools for Debugging and Testing Debugging & Testing Unit Test Framework Functional Validation of Code Desktop Execution Trace Real Time Execution Trace Dynamic Code Analysis VI Analyzer Toolkit Static Code Analysis Low Risk High Risk Application Criticality 40

36 Goals of Dynamic Code Analysis: What is consuming system memory? Am I capturing all the errors in my application? What was the last event to occur before? What was the call-chain that led us to? What thread is it executing in? Am I actually entering a specific event-case? What happened inside a structure? What order to these events occur in? Is a daemon process running in the background? Does the code behave different in an executable? 41

37 Trace Production Systems Remotely LabVIEW Desktop Execution Trace Toolkit Network Run-Time Execution Information VIs and Debuggable Executables LabVIEW Real-Time Execution Trace Toolkit Network Run-Time Execution Information Deployed Real-Time Applications 42

38 Desktop Execution Trace Toolkit Trace During Run-Time: Event Structures Memory Allocation Queues / Notifiers Reference Leaks Thread ID Unhandled Errors Dynamic / Static SubVIs Custom User Strings 43

39 Desktop Execution Trace Toolkit Trace During Run-Time: Event Structures Memory Allocation Queues / Notifiers Reference Leaks Thread ID Unhandled Errors Dynamic / Static SubVIs Custom User Strings 44

40 Simple Application Complexity Advanced Tools for Debugging and Testing Debugging & Testing Unit Test Framework Functional Validation of Code Desktop Execution Trace Real Time Execution Trace Dynamic Code Analysis VI Analyzer Toolkit Static Code Analysis Low Risk High Risk Application Criticality 46

41 Unit Testing Black Box Testing INPUTS: -Infinity 0 : 10 +Infinity Code Component EXPECTED RESULTS: 0 0 : Infinity ACTUAL RESULTS: -1 0 : Infinity Pros: The tester does not need to know how it has been implemented Tester can still verify that the actual results = expected results Asses the behavior of the code component Cons: The tester does not know if all statements have been exercised inside of the Code Component

42 Integration Testing White Box Testing INPUTS: True False A Input? B EXPECTED RESULTS: False True EXPECTED Statement Coverage: Path A Path B = Pros: Designed to test paths inside of the code component Useful for integration testing to test the structure of the code Cons: Not as useful for determining if requirements are met Test Designer must be knowledgeable of the source code ACTUAL RESULTS: False False ACTUAL Statement Coverage: Path A Path B

43 LabVIEW Unit Test Framework Input Values Output VI Under Test Unit Test Framework Expected Output Automated Report Generation Test vector = Input value(s) + Expected output(s) 49

44 LabVIEW Unit Test Framework Input Values Output Unit Test Framework VI Under Test Windows Desktop Expected Output Automated Report Generation Test vector = Input value(s) + Expected output(s) 50

45 LabVIEW Unit Test Framework Input Values Output Unit Test Framework VI Under Test Real Time Expected Output Automated Report Generation Test vector = Input value(s) + Expected output(s) 51

46 LabVIEW Unit Test Framework Setup VI Teardown VI Under Test Actual Output Unit Test Framework Expected Output Automated Report Generation 53

47 Code Coverage Example 2 Edges and 1 Path. 6 Possible Routes. 50% Code Coverage 54

48 Code Coverage Example 1 ST Test Vector: 2 Edges and 1 Path. 6 Possible Routes. ( ) / 6 = 50% Code Coverage 2 nd Test Vector (aggregates covered code from 1 st pass) 4 Edges and 1 Path. 6 Possible Routes. ( ) / 6 = 83.33% Code Coverage 55

49 Code Coverage Example 1 ST Test Vector: 2 Edges and 1 Path. 6 Possible Routes. ( ) / 6 = 50% Code Coverage 2 nd Test Vector (aggregates covered code from 1 st pass) 4 Edges and 1 Path. 6 Possible Routes. ( ) / 6 = 83.33% Code Coverage Uncovered Case 56

50 Programmatic Unit Testing Programmatically invoke testing and report generation 58

51 System Level Requirements Hardware Requirements Software Requirements Test Requirements Test Module Requirements Test Requirements Test Unit Requirements Test Requirements Test Results Implementation Implementation Implementation

52 Integration with Requirements Gateway Implementation Software Requirements Unit Tests Test Results 60

53 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Goals Determine repeatable process Deploy to determine behavior on other targets Deliver a product to customer or end-user Make every installer and driver required for operation easily portable Remove information about sensitive code 61

54 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Deploy Software to Embedded Hardware Targets Build Professional Applications for the Desktop 62

55 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Programmatic build processes Programmatic control of source code control 64

56 The Software Engineering Process Requirements Gathering Application Architecture Development Debugging & Testing Deployment Software Engineering Tools and Best Practices Requirements Gateway Design Patterns Object Orientation Multicore Dataflow MathScript Statechart Simulation Express VI Analyzer Real Time Execution Trace Desktop Execution Trace Unit Test Framework Application Builder Real Time FPGA Embedded 65

57 Software Engineering Tools for Large LabVIEW Applications Requirements Gathering Application Architecture Development Validation Deployment Requirements Gateway LabVIEW Statechart Desktop Execution Trace Unit Test Framework Application Builder Object Orientation Software Validation Developer Suite Option LabVIEW VI Analyzer Real Time FPGA Prove it works. Improve quality. Reduce risk. Save time. Embedded ni.com/softwareengineering 66

58 Software Engineering Best-Practices ni.com/largeapps

59 Large Application Community ni.com/community/largeapps

60 LabVIEW Learning Paths Advanced LabVIEW Advanced I: Large Application Development LabVIEW Object-Oriented Programming System Design Intermediate LabVIEW Intermediate I and II Specialty LabVIEW Real-Time Application Development CompactRIO Fundamentals and LabVIEW FPGA LabVIEW Instrument Control RF Fundamentals and RF Application Development LabVIEW Machine Vision and Image Processing LabVIEW DAQ and Signal Conditioning Foundation LabVIEW Basics I and II

61 Ways To Learn LabVIEW In A Classroom Near You Held at a local hotel or training facility Personal Interaction with Instructor and other Attendees On-line At Your Desk Live and Instructor-led No travel and reduced time away from work At Your Company Office Tailored course material for your company s needs No travel required At Your Convenience Self-paced course kits On-demand training modules located in the Services Resource Center

62 Training & Certification Membership Program Unlimited access to all regional and on-line courses for one year Unlimited access to all certification exams for one year Option to retake all courses and exams ONE PRICE

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer Software Engineering Best Practices Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer 2 3 4 Examples of Software Engineering Debt (just some of the most common LabVIEW development

More information

Software Engineering for LabVIEW Applications

Software Engineering for LabVIEW Applications Software Engineering for LabVIEW s Topics Software Quality Standards ISO 9000, CMMI, DO-178B, FDA CFR Part 820 Software Engineering Process (SEP) Validation, -Based Testing, Debugging, Automated Software

More information

The Essentials of File Management with LabVIEW

The Essentials of File Management with LabVIEW The Essentials of File Management with LabVIEW Courtney Lessard LabVIEW Product Manager Presented by Alexandra Valiton, NI Field Engineer, Long Island How many files in your biggest application?.lvproj.vi.ctl.lvlib.dll

More information

Manage Software Development in LabVIEW with Professional Tools

Manage Software Development in LabVIEW with Professional Tools Manage Software Development in LabVIEW with Professional Tools Introduction For many years, National Instruments LabVIEW software has been known as an easy-to-use development tool for building data acquisition

More information

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008 Medical Device Design: Shorten Prototype and Deployment Time with NI Tools NI Technical Symposium 2008 FDA Development Cycle From Total Product Life Cycle by David W. Fiegal, M.D., M.P.H. FDA CDRH Amazon.com

More information

Source Code Control and Software Reuse

Source Code Control and Software Reuse Source Code Control and Software Reuse Presented by: Steven Hoenig Business Unit Manager Bloomy Controls Inc. OverVIEW About Bloomy Challenges of Large Applications Source Code Control (SCC) Bloomy SCC

More information

and Certification What Does It Take To Get Certified? Steven Hoenig NJ Business Unit Manager

and Certification What Does It Take To Get Certified? Steven Hoenig NJ Business Unit Manager National Instruments Training and Certification What Does It Take To Get Certified? Steven Hoenig NJ Business Unit Manager Certified LabVIEW Architect Certified Professional Instructor 2008 Bloomy Controls.

More information

Introduction to LabVIEW Design Patterns

Introduction to LabVIEW Design Patterns Introduction to LabVIEW Design Patterns What is a Design Pattern? Definition: A well-established solution to a common problem. Why Should I Use One? Save time and improve the longevity and readability

More information

LabVIEW Advanced Programming Techniques

LabVIEW Advanced Programming Techniques LabVIEW Advanced Programming Techniques SECOND EDITION Rick Bitter Motorola, Schaumburg, Illinois Taqi Mohiuddin MindspeedTechnologies, Lisle, Illinois Matt Nawrocki Motorola, Schaumburg, Illinois @ CRC

More information

Getting Started with the LabVIEW Mobile Module

Getting Started with the LabVIEW Mobile Module Getting Started with the LabVIEW Mobile Module Contents The LabVIEW Mobile Module extends the LabVIEW graphical development environment to Mobile devices so you can create applications that run on Windows

More information

Embedded System Deployment and Management

Embedded System Deployment and Management Embedded System Deployment and Management Richard Wasell Applications Engineer, NI Norway Agenda Project Based Deployment Overview FPGA Deployment Image vs. Component Based Updates Push Model MAX & LabVIEW

More information

Getting Started with the LabVIEW Mobile Module Version 2009

Getting Started with the LabVIEW Mobile Module Version 2009 Getting Started with the LabVIEW Mobile Module Version 2009 Contents The LabVIEW Mobile Module extends the LabVIEW graphical development environment to Mobile devices so you can create applications that

More information

Essential Visual Studio Team System

Essential Visual Studio Team System Essential Visual Studio Team System Introduction This course helps software development teams successfully deliver complex software solutions with Microsoft Visual Studio Team System (VSTS). Discover how

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software

More information

LabVIEW DSP Test Integration Toolkit for TI DSP

LabVIEW DSP Test Integration Toolkit for TI DSP LabVIEW DSP Test Integration Toolkit for TI DSP Contents The LabVIEW DSP Test Integration Toolkit for TI DSP gives you the ability to use LabVIEW and the TI Code Composer Studio (CCS) Integrated Development

More information

Software configuration Management as a Software Engineering Discipline

Software configuration Management as a Software Engineering Discipline Software configuration Management as a Software Engineering Discipline Lorenco Damjanic Ericsson Nikola Tesla Zagreb Contents Product structures Software Engineering Software Configuration Management Software

More information

Verification and Validation of Software Components and Component Based Software Systems

Verification and Validation of Software Components and Component Based Software Systems Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research christina.wallin@mdh.se

More information

V 6.1 Core Training Training Plan

V 6.1 Core Training Training Plan V 6.1 Core Training Training Plan 2014 Version 1.0 Document Revision 1.0 2014 OpenSpan Incorporated. All rights reserved. OpenSpan and the Open Span logo are trademarks of OpenSpan, Incorporated. Other

More information

How To Develop An Iterio Data Acquisition System For A Frustreo (Farc) (Iterio) (Fcfc) (For Aterio (Fpc) (Orterio).Org) (Ater

How To Develop An Iterio Data Acquisition System For A Frustreo (Farc) (Iterio) (Fcfc) (For Aterio (Fpc) (Orterio).Org) (Ater ITER Fast Plant System Controller Prototype Based on PXI Platform M.Ruiz & J.Vega on behalf of CIEMAT/UPM/IST/ITER team Universidad Politécnica de Madrid Asociación Euratom/CIEMAT IPFN, Instituto Superior

More information

How To Install An Aneka Cloud On A Windows 7 Computer (For Free)

How To Install An Aneka Cloud On A Windows 7 Computer (For Free) MANJRASOFT PTY LTD Aneka 3.0 Manjrasoft 5/13/2013 This document describes in detail the steps involved in installing and configuring an Aneka Cloud. It covers the prerequisites for the installation, the

More information

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and

More information

Windows 7, Enterprise Desktop Support Technician

Windows 7, Enterprise Desktop Support Technician Course 50331D: Windows 7, Enterprise Desktop Support Technician Page 1 of 11 Windows 7, Enterprise Desktop Support Technician Course 50331D: 4 days; Instructor-Led Introduction This four-day instructor-ledcourse

More information

Software Configuration Management

Software Configuration Management Software Configuration Management 1 Software Configuration Management Four aspects Version control Automated build Change control Release Supported by tools Requires expertise and oversight More important

More information

Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com

Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications System Deployment System Replication Configuration Mgmt. System Monitoring System Updates 2 Agenda Preparing for

More information

CREDENTIALS & CERTIFICATIONS 2015

CREDENTIALS & CERTIFICATIONS 2015 THE COMMUNITY FOR TECHNOLOGY LEADERS www.computer.org CREDENTIALS & CERTIFICATIONS 2015 KEYS TO PROFESSIONAL SUCCESS CONTENTS SWEBOK KNOWLEDGE AREA CERTIFICATES Software Requirements 3 Software Design

More information

Multicore Programming with LabVIEW Technical Resource Guide

Multicore Programming with LabVIEW Technical Resource Guide Multicore Programming with LabVIEW Technical Resource Guide 2 INTRODUCTORY TOPICS UNDERSTANDING PARALLEL HARDWARE: MULTIPROCESSORS, HYPERTHREADING, DUAL- CORE, MULTICORE AND FPGAS... 5 DIFFERENCES BETWEEN

More information

Configuration & Build Management

Configuration & Build Management Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration

More information

Technical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers

Technical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers 661 Solutions for ARINC 661 Compliant Systems SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers SCADE Solutions for ARINC 661 Compliant

More information

Agile Business Suite (AB Suite)

Agile Business Suite (AB Suite) Agile Business Suite (AB Suite) Course Catalog Unisys Agile Business Suite A Fast and Easy Way to Develop Mission Critical Applications! Agile Business Suite (AB Suite) is a Unisys development environment

More information

How Application Lifecycle Management can address elearning Software Challenges

How Application Lifecycle Management can address elearning Software Challenges Karen Lee How Application Lifecycle Management can address elearning Software Challenges Borland solutions for fast and flexible software delivery A Borland ASEAN White Paper August 2004 Karen Lee Borland

More information

Windows 7, Enterprise Desktop Support Technician Course 50331: 5 days; Instructor-led

Windows 7, Enterprise Desktop Support Technician Course 50331: 5 days; Instructor-led Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc Windows 7, Enterprise Desktop Support Technician Course 50331: 5 days; Instructor-led

More information

F15. Towards a More Mature Test Process. Anne Mette-Hass. P r e s e n t a t i o n

F15. Towards a More Mature Test Process. Anne Mette-Hass. P r e s e n t a t i o n Towards a More Mature Test Process Anne Mette-Hass International Conference On Software Testing, Analysis & Review November 19-23 Stockholm, Sweden P r e s e n t a t i o n F15 Friday 23rd November, 2001

More information

Toward the Next Generation Magnetic Measurement System

Toward the Next Generation Magnetic Measurement System 17 th International Magnetic Measurement Workshop Toward the Next Generation Magnetic Measurement System Jerzy M. Nogiec Barcelona, Genesis With Fermilab s conventional magnet measurement system approaching

More information

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 12

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 12 Course Page - Page 1 of 12 Windows 7 Enterprise Desktop Support Technician M-50331 Length: 5 days Price: $2,795.00 Course Description This five-day instructor-led course provides students with the knowledge

More information

An Easier Way for Cross-Platform Data Acquisition Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers

More information

OSA-RTS 2 2015. 2 0 2 1 0 5 1 5 SPHE H RE R A A

OSA-RTS 2 2015. 2 0 2 1 0 5 1 5 SPHE H RE R A A SPHEREA Technology National Instruments Automated Test Summit 2 July 2015. Presentation: Tools Overview OSA-RTS Module Presenter: Chris Gorringe. SPHEREA: A GLOBAL COMPANY SPECIALISING IN TEST SYSTEMS

More information

ni.com/vision NI Vision

ni.com/vision NI Vision ni.com/vision NI Vision The NI Vision Approach Integrate NI LabVIEW graphical system design software across the entire NI vision hardware portfolio to create a flexible, open platform that reduces development

More information

Source Control and Team-Based Design in System Generator Author: Douang Phanthavong

Source Control and Team-Based Design in System Generator Author: Douang Phanthavong Application Note: All Virtex and Spartan FPGA Families XAPP498 (v1.0) January 15, 2010 Source Control and Team-Based Design in System Generator Author: Douang Phanthavong Summary This application note

More information

Test Executive And Development Studio Integrated Test Executive and Application Development Environment

Test Executive And Development Studio Integrated Test Executive and Application Development Environment Test Executive And Development Studio Integrated Test Executive and Application Development Environment MARVINTEST.COM ATEASY 9.0 ATEasy offers a rapid application development framework and a test executive

More information

Coverity Services. World-class professional services, technical support and training from the Coverity development testing experts

Coverity Services. World-class professional services, technical support and training from the Coverity development testing experts Coverity Services World-class professional services, technical support and training from the Coverity development testing experts Coverity has helped over 1,100 customers around the globe assure the quality,

More information

SCADA/HMI MOVICON TRAINING COURSE PROGRAM

SCADA/HMI MOVICON TRAINING COURSE PROGRAM SCADA/HMI MOVICON TRAINING COURSE PROGRAM The Movicon training program includes the following courses: Basic Training Course: 1 day course at Progea head offices or authorized center. On location at client

More information

Monitoring, Tracing, Debugging (Under Construction)

Monitoring, Tracing, Debugging (Under Construction) Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.

More information

With a flexible, open architecture

With a flexible, open architecture F A C T S H E E T Change request and defect management for the application life cycle TrackRecord is an advanced change request and defect management tool that helps organizations establish a systematic

More information

Module 3: Resolve Software Failure This module explains how to fix problems with applications that have problems after being installed.

Module 3: Resolve Software Failure This module explains how to fix problems with applications that have problems after being installed. CÔNG TY CỔ PHẦN TRƯỜNG CNTT TÂN ĐỨC TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC LEARN MORE WITH LESS! 50331 - Windows 7, Enterprise Desktop Support Technician Duration: 5 days About this Course This five-day

More information

Software Configuration Management. http:\\www.francisxavier.ac.in

Software Configuration Management. http:\\www.francisxavier.ac.in Software Configuration Management Outline Introduction what is SCM, who are involved, why it is imp? what are the steps? Basic Concepts of SCM Configuration Management Activities Configuration Management

More information

Kentico CMS 5 Developer Training Syllabus

Kentico CMS 5 Developer Training Syllabus Kentico CMS 5 Developer Training Syllabus June 2010 Page 2 Contents About this Course... 4 Overview... 4 Audience Profile... 4 At Course Completion... 4 Course Outline... 5 Module 1: Overview of Kentico

More information

50331D Windows 7, Enterprise Desktop Support Technician (Windows 10 Curriculum)

50331D Windows 7, Enterprise Desktop Support Technician (Windows 10 Curriculum) This course can be purchased by authorized Microsoft Learning Centers at the Courseware Marketplace web-site. Microsoft Certified Trainers (MCTs) can get a free copy at the same website. About the Course

More information

"Charting the Course... ... to Your Success!" MOC 50331 D Windows 7 Enterprise Desktop Support Technician Course Summary

Charting the Course... ... to Your Success! MOC 50331 D Windows 7 Enterprise Desktop Support Technician Course Summary Description Course Summary This course provides students with the knowledge and skills needed to isolate, document and resolve problems on a Windows 7 desktop or laptop computer. It will also help test

More information

PRAGMA ENGINEERING Srl. Next-Generation ATS (Sistemi ATE di Nuova Generazione)

PRAGMA ENGINEERING Srl. Next-Generation ATS (Sistemi ATE di Nuova Generazione) Rome 30/05/2007 PRAGMA ENGINEERING Srl Next-Generation ATS (Sistemi ATE di Nuova Generazione) Rome 30/05/2007 Mission & Vision Pragma Engineering supplies design and development services, manufacturing

More information

Continuous integration End of the big bang integration era

Continuous integration End of the big bang integration era Continuous integration End of the big bang integration era Patrick Laurent Partner Technology & Enterprise Applications Deloitte Mario Deserranno Manager Technology & Enterprise Applications Deloitte The

More information

ni.com Remote Connectivity with LabVIEW

ni.com Remote Connectivity with LabVIEW Remote Connectivity with LabVIEW What Is Remote Connectivity? Local Monitoring 3 Remote Mobile Access 4 What Is Remote Connectivity Two machines talking to one another Client Server PC PC Consumes Data

More information

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote. Specifications for ARINC 653 compliant RTOS & Development Environment Notes and terms of conditions Vendor shall note the following terms and conditions/ information before they submit their quote. 1.

More information

Effective Team Development Using Microsoft Visual Studio Team System

Effective Team Development Using Microsoft Visual Studio Team System Effective Team Development Using Microsoft Visual Studio Team System Course 6214A: Three days; Instructor-Led Introduction This three-day instructor-led course provides students with the knowledge and

More information

HPC Wales Skills Academy Course Catalogue 2015

HPC Wales Skills Academy Course Catalogue 2015 HPC Wales Skills Academy Course Catalogue 2015 Overview The HPC Wales Skills Academy provides a variety of courses and workshops aimed at building skills in High Performance Computing (HPC). Our courses

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

A Guide To Evaluating a Bug Tracking System

A Guide To Evaluating a Bug Tracking System A Guide To Evaluating a Bug Tracking System White Paper By Stephen Blair, MetaQuest Software Published: October, 2004 Abstract Evaluating a bug tracking system requires that you understand how specific

More information

SCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1

SCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1 SCADE System 17.0 SCADE System is the product line of the ANSYS Embedded software family of products and solutions that empowers users with a systems design environment for use on systems with high dependability

More information

Real-time Debugging using GDB Tracepoints and other Eclipse features

Real-time Debugging using GDB Tracepoints and other Eclipse features Real-time Debugging using GDB Tracepoints and other Eclipse features GCC Summit 2010 2010-010-26 marc.khouzam@ericsson.com Summary Introduction Advanced debugging features Non-stop multi-threaded debugging

More information

Embedded Software development Process and Tools:

Embedded Software development Process and Tools: Embedded Software development Process and Tools: Lesson-2 Integrated Development Environment (IDE) 1 1. IDE 2 Consists of Simulators editors, compilers, assemblers, etc., IDE 3 emulators logic analyzers

More information

Satisfying ASIL Requirements with Parasoft C++test Achieving Functional Safety in the Automotive Industry

Satisfying ASIL Requirements with Parasoft C++test Achieving Functional Safety in the Automotive Industry Satisfying Requirements with Parasoft C++test Achieving Functional Safety in the Automotive Industry Introduction Safety functions are increasingly being carried out by electrical, electronic, or programmable

More information

Appendix 2-A. Application and System Development Requirements

Appendix 2-A. Application and System Development Requirements Appendix 2-A. Application and System Development Requirements Introduction AHRQ has set up a Distributed Systems Engineering Lab (DSEL) to support all internal development efforts and provide a facility

More information

E-learning for Graphical System Design Courses: A Case Study

E-learning for Graphical System Design Courses: A Case Study E-learning for Graphical System Design Courses: A Case Study Yucel Ugurlu Education & Research Programs National Instruments Japan Corporation Tokyo, Japan e-mail: yucel.ugurlu@ni.com Hiroshi Sakuta Department

More information

ROI CASE STUDY MICROSOFT VISUAL STUDIO TEAM SYSTEM SOCIAL NETWORKING WEB SITE

ROI CASE STUDY MICROSOFT VISUAL STUDIO TEAM SYSTEM SOCIAL NETWORKING WEB SITE ROI CASE STUDY MICROSOFT VISUAL STUDIO TEAM SYSTEM SOCIAL NETWORKING WEB SITE THE BOTTOM LINE A social networking Web site used Microsoft Visual Studio Team System to improve the productivity of its developers

More information

Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?

Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management? Books: Software Configuration Management 1. B. Bruegge and A. H. Dutoit, Object-Oriented Software Engineering: Using UML, Patterns, and Java (Chapter 13) Outline of the Lecture Purpose of Software Configuration

More information

IBM Rational ClearCase, Version 8.0

IBM Rational ClearCase, Version 8.0 IBM Rational ClearCase, Version 8.0 Improve software and systems delivery with automated software configuration management solutions Highlights Improve software delivery and software development life cycle

More information

Integrating CaliberRM with Software Configuration Management Tools

Integrating CaliberRM with Software Configuration Management Tools Integrating CaliberRM with Software Configuration Management Tools A Borland White Paper By Jenny Rogers, CaliberRM Technical Writer January 2002 Contents Introduction... 3 Enabling SCM for a Project...

More information

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University Introduction to Software Configuration Management CprE 556 Electrical and Computer Engineering Department Iowa State University 1 Example Initially, implementation is in Modula-2 on a Mac. A11 B11 A12

More information

CREDENTIALS & CERTIFICATIONS 2016

CREDENTIALS & CERTIFICATIONS 2016 THE COMMUNITY FOR TECHNOLOGY LEADERS www.computer.org CREDENTIALS & CERTIFICATIONS 2016 KEYS TO PROFESSIONAL SUCCESS CONTENTS SWEBOK KNOWLEDGE AREA CERTIFICATES Software Requirements 5 Software Design

More information

Title Release Notes PC SDK 5.14.01. Date 2011-06-15. Dealt with by, telephone. Table of Content GENERAL... 2

Title Release Notes PC SDK 5.14.01. Date 2011-06-15. Dealt with by, telephone. Table of Content GENERAL... 2 1/10 Table of Content GENERAL... 2 Release Information... 2 Introduction... 2 Installation... 3 Hardware and Software requirements... 4 Compatibility... 5 Updates in PC SDK 5.14.01 vs. 5.14... 6 Updates

More information

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing

More information

Basics of Simulation Technology (SPICE), Virtual Instrumentation and Implications on Circuit and System Design

Basics of Simulation Technology (SPICE), Virtual Instrumentation and Implications on Circuit and System Design Basics of Simulation Technology (SPICE), Virtual Instrumentation and Implications on Circuit and System Design Patrick Noonan Business Development Manager National Instruments Electronics Workbench Group

More information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

Benefits of Test Automation for Agile Testing

Benefits of Test Automation for Agile Testing Benefits of Test Automation for Agile Testing Manu GV 1, Namratha M 2, Pradeep 3 1 Technical Lead-Testing Calsoft Labs, Bangalore, India 2 Assistant Professor, BMSCE, Bangalore, India 3 Software Engineer,

More information

Application Lifecycle Management White Paper. Source Code Management Best Practice: Applying Economic Logic to Migration ALM

Application Lifecycle Management White Paper. Source Code Management Best Practice: Applying Economic Logic to Migration ALM ALM Application Lifecycle Management White Paper Source Code Management Best Practice: Applying Economic Logic to Migration Summary: Is there a Business Case for Migration? Ultimately, what is the value

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur 2015 The MathWorks, Inc. 1 Model-Based Design Continuous Verification and Validation Requirements

More information

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle Model Based System Engineering (MBSE) For Accelerating Software Development Cycle Manish Patil Sujith Annamaneni September 2015 1 Contents 1. Abstract... 3 2. MBSE Overview... 4 3. MBSE Development Cycle...

More information

IBM Operational Decision Management v8

IBM Operational Decision Management v8 What s new in WebSphere Operational Decision Management? Matt Roberts Decision Management Specialist July 12 th, 2012 IBM Operational Decision Management v8 Manage business policies at scale Operationalize

More information

October 21 November 5 November 14 December 12. Washington DC Boston Chicago San Jose. ni.com

October 21 November 5 November 14 December 12. Washington DC Boston Chicago San Jose. ni.com October 21 November 5 November 14 December 12 Washington DC Boston Chicago San Jose 1 Evaluating Software Tools and Architectures to Design Test Systems A Sample Modular Software Architecture

More information

Virtual Platforms Addressing challenges in telecom product development

Virtual Platforms Addressing challenges in telecom product development white paper Virtual Platforms Addressing challenges in telecom product development This page is intentionally left blank. EXECUTIVE SUMMARY Telecom Equipment Manufacturers (TEMs) are currently facing numerous

More information

Embedded Software Development and Test in 2011 using a mini- HIL approach

Embedded Software Development and Test in 2011 using a mini- HIL approach Primoz Alic, isystem, Slovenia Erol Simsek, isystem, Munich Embedded Software Development and Test in 2011 using a mini- HIL approach Kurzfassung Dieser Artikel beschreibt den grundsätzlichen Aufbau des

More information

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix Model-driven development solutions To support your business objectives IBM Rhapsody edition comparison matrix IBM Rhapsody 7.5 edition: capabilities and comparisons The enclosed table compares the capabilities

More information

Driving Your Business Forward with Application Life-cycle Management (ALM)

Driving Your Business Forward with Application Life-cycle Management (ALM) Driving Your Business Forward with Application Life-cycle Management (ALM) Published: August 2007 Executive Summary Business and technology executives, including CTOs, CIOs, and IT managers, are being

More information

IBM Rational AppScan: enhancing Web application security and regulatory compliance.

IBM Rational AppScan: enhancing Web application security and regulatory compliance. Strategic protection for Web applications To support your business objectives IBM Rational AppScan: enhancing Web application security and regulatory compliance. Are untested Web applications putting your

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

Skynax. Mobility Management System. System Manual

Skynax. Mobility Management System. System Manual Skynax Mobility Management System System Manual Intermec by Honeywell 6001 36th Ave. W. Everett, WA 98203 U.S.A. www.intermec.com The information contained herein is provided solely for the purpose of

More information

Effective Software Verification for Medical Devices

Effective Software Verification for Medical Devices STERLINGTECH AND KLOCWORK WHITE PAPER NOVEMBER 2009 Effective Software Verification for Medical Devices Achieving compliance and meeting productivity goals with static analysis In addition to producing

More information

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE Gonzalo Garcia VP of Operations, USA Property of GMV All rights reserved INTRODUCTION Property of GMV All rights reserved INTRODUCTION

More information

Enhance visibility into and control over software projects IBM Rational change and release management software

Enhance visibility into and control over software projects IBM Rational change and release management software Enhance visibility into and control over software projects IBM Rational change and release management software Accelerating the software delivery lifecycle Faster delivery of high-quality software Software

More information

Developing reliable Multi-Core Embedded-Systems with NI Linux Real-Time

Developing reliable Multi-Core Embedded-Systems with NI Linux Real-Time Developing reliable Multi-Core Embedded-Systems with NI Linux Real-Time Oliver Bruder National Instruments Switzerland oliver.bruder@ Embedded Product Design Surveys 66% Product designs complete over budget

More information

Introduction to Programming Tools. Anjana & Shankar September,2010

Introduction to Programming Tools. Anjana & Shankar September,2010 Introduction to Programming Tools Anjana & Shankar September,2010 Contents Essentials tooling concepts in S/W development Build system Version Control System Testing Tools Continuous Integration Issue

More information

Software Engineering. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 16

Software Engineering. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 16 Software Engineering Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 16 Software Engineering Definition 3.2760 from ISO/IEC/IEEE 24765:2010(E)

More information

LABVIEW DSP TEST TOOLKIT FOR TI DSP

LABVIEW DSP TEST TOOLKIT FOR TI DSP LABVIEW DSP TEST TOOLKIT FOR TI DSP Contents The LabVIEW DSP Test Toolkit for TI DSP uses LabVIEW to automate TI s Code Composer Studio (CCS) Integrated Development Environment (IDE) so you can create

More information

We drive Aurix to success Aurix Services for Automotive & Industrial

We drive Aurix to success Aurix Services for Automotive & Industrial Building a safe and secure embedded world We drive Aurix to success Aurix Services for Automotive & Industrial > Services HITEX: An Preferred Design House (PDH) Questions about? Ask us Aurix Services for

More information

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102

More information

IBM Rational Web Developer for WebSphere Software Version 6.0

IBM Rational Web Developer for WebSphere Software Version 6.0 Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,

More information

The Rap on RUP : An Introduction to the Rational Unified Process

The Rap on RUP : An Introduction to the Rational Unified Process The Rap on RUP : An Introduction to the Rational Unified Process Jeff Jacobs Jeffrey Jacobs & Associates phone: 650.571.7092 email: jeff@jeffreyjacobs.com http://www.jeffreyjacobs.com Survey Does your

More information

What Is Software Configuration Management?

What Is Software Configuration Management? C H A P T E R 1 What Is Software Configuration Management? The title of this chapter asks such a simple question, the answer to which, one would think, ought to be known by anyone with any kind of record

More information

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications TESSY Automated dynamic module/unit and integration testing of embedded applications CTE Classification Tree Editor for test case specifications Automated module/unit testing and debugging at its best

More information

OPC and Real-Time Systems in LabVIEW

OPC and Real-Time Systems in LabVIEW Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics OPC and Real-Time Systems in LabVIEW HANS-PETTER HALVORSEN, 2012.01.11 Faculty of Technology, Postboks

More information