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

System Design in the Software Era. ni.com

System Design in the Software Era. ni.com System Design in the Software Era ni.com 2 3 The Cost of a Software Defect Development Phase Cost Ratio Requirements 1 Design 3-6x Implementation 10x Development Testing 15-40x Acceptance Testing 30-70x

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

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

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

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

National Instruments: LabVIEW

National Instruments: LabVIEW National Instruments: LabVIEW LabVIEW is a graphical programming language that uses icons instead of lines of text to create applications. In contrast to textbased programming languages, where instructions

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

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

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

ITER Fast Plant System Controller Prototype Based on PXI Platform

ITER Fast Plant System Controller Prototype Based on PXI Platform 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

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

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

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

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

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

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

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

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

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

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

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

TEST AUTOMATION FRAMEWORK

TEST AUTOMATION FRAMEWORK TEST AUTOMATION FRAMEWORK Twister Topics Quick introduction Use cases High Level Description Benefits Next steps Twister How to get Twister is an open source test automation framework. The code, user guide

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

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

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

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

Installation and User Guide

Installation and User Guide 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

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

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

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

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

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

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

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

"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

Certified LabVIEW Developer (CLD) Certification and Exam Overview

Certified LabVIEW Developer (CLD) Certification and Exam Overview Certification Overview The National Instruments LabVIEW Certification Program consists of the following three certification levels: 1. Certified LabVIEW Associate Developer (CLAD) 2. Certified LabVIEW

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

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

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

A Real Time, Object Oriented Fieldbus Management System

A Real Time, Object Oriented Fieldbus Management System A Real Time, Object Oriented Fieldbus Management System Mr. Ole Cramer Nielsen Managing Director PROCES-DATA Supervisor International P-NET User Organisation Navervej 8 8600 Silkeborg Denmark pd@post4.tele.dk

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

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

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

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

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

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

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

1.3 Expand ANSI C and.net Development with Express Technology. Bridging Validation and Test with Common Software Technology

1.3 Expand ANSI C and.net Development with Express Technology. Bridging Validation and Test with Common Software Technology 1.3 Expand ANSI C and.net Development with Express Technology Bridging Validation and Test with Common Software Technology 47 Interactive versus Automated Measurements/Tests Interactive Measurements Benchtop

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

Distance-Learning Remote Laboratories using LabVIEW

Distance-Learning Remote Laboratories using LabVIEW Distance-Learning Remote Laboratories using LabVIEW Introduction Laboratories, which are found in all engineering and science programs, are an essential part of the education experience. Not only do laboratories

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

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

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

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

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

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

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

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

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

Service Delivery Module

Service Delivery Module Service Delivery Module Software Development Methodology -India follows international industry standards and has adopted the standard methodology in our Software Development Life Cycle (SDLC). It is a

More information

Eliminate Memory Errors and Improve Program Stability

Eliminate Memory Errors and Improve Program Stability Eliminate Memory Errors and Improve Program Stability with Intel Parallel Studio XE Can running one simple tool make a difference? Yes, in many cases. You can find errors that cause complex, intermittent

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

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

Installing and Configuring Windows Server 2008. Module Overview 14/05/2013. Lesson 1: Planning Windows Server 2008 Installation.

Installing and Configuring Windows Server 2008. Module Overview 14/05/2013. Lesson 1: Planning Windows Server 2008 Installation. Installing and Configuring Windows Server 2008 Tom Brett Module Overview Planning Windows Server 2008 Installations Performing a Windows Server 2008 Installation Configuring Windows Server 2008 Following

More information

Learning Remote Control Framework ADD-ON for LabVIEW

Learning Remote Control Framework ADD-ON for LabVIEW Learning Remote Control Framework ADD-ON for LabVIEW TOOLS for SMART MINDS Abstract This document introduces the RCF (Remote Control Framework) ADD-ON for LabVIEW. Purpose of this article and the documents

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

Exercise 1: Add Tests Using NI TestStand Sequence Editor

Exercise 1: Add Tests Using NI TestStand Sequence Editor Exercise 1: Add Tests Using NI TestStand Sequence Editor Objective: To create a TestStand sequence and add steps to the MainSequence that uses the Frequency test created in the first three exercises. The

More information

S609. RDz and Source Control Management Systems

S609. RDz and Source Control Management Systems S609. RDz and Source Control Management Systems Michael Erichsen michael.erichsen@xact.dk www.xact.dk Agenda Source Control Management (SCM) What it does Some product examples Integrating RDz with SCM

More information

Mastering Continuous Integration with Jenkins

Mastering Continuous Integration with Jenkins 1. Course Objectives Students will walk away with a solid understanding of how to implement a Continuous Integration (CI) environment with Jenkins, including: Setting up a production-grade instance of

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

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

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

LabVIEW programming I

LabVIEW programming I FYS3240 PC-based instrumentation and microcontrollers LabVIEW programming I LabVIEW basics Spring 2013 Lecture #2 Bekkeng 8.1.2013 Virtual Instruments LabVIEW programs are called virtual instruments, or

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

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

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

A Modular Approach to Teaching Mobile APPS Development

A Modular Approach to Teaching Mobile APPS Development 2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development

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

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

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

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

Testing Intelligent Device Communications in a Distributed System

Testing Intelligent Device Communications in a Distributed System Testing Intelligent Device Communications in a Distributed System David Goughnour (Triangle MicroWorks), Joe Stevens (Triangle MicroWorks) dgoughnour@trianglemicroworks.com United States Smart Grid systems

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

13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES

13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES LESSON 13 Managing Devices OBJECTIVES After completing this lesson, you will be able to: 1. Open System Properties. 2. Use Device Manager. 3. Understand hardware profiles. 4. Set performance options. Estimated

More information

Pareon Verify. Test suite for dynamic software verification. Detect the hard-to-find errors other tools can t

Pareon Verify. Test suite for dynamic software verification. Detect the hard-to-find errors other tools can t Pareon Verify Test suite for dynamic software verification Detect the hard-to-find errors other tools can t We are going to definitely incorporate the Vector Fabrics tools as an important part of our quality

More information

For Introduction to Java Programming, 5E By Y. Daniel Liang

For Introduction to Java Programming, 5E By Y. Daniel Liang Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,

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

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

Chapter 12. Development Tools for Microcontroller Applications

Chapter 12. Development Tools for Microcontroller Applications Chapter 12 Development Tools for Microcontroller Applications Lesson 01 Software Development Process and Development Tools Step 1: Development Phases Analysis Design Implementation Phase 1 Phase 2 Phase

More information