Effective Team Collaboration with Simulink

Similar documents
Team-Based Collaboration in Simulink

Collaboration in Teams: Simulink Projects Demonstration

Team-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI

Introducing Simulink R2012b for Signal Processing & Communications Graham Reith Senior Team Leader, UK Application Engineering

What s New in Simulink Release R2016a and R2016b

Introducing Simulink Release 2012b for Control System Development Mark Walker MathWorks

Reusable Component Management Through the Use of Subversion Externals. Who Am I?

Testing, Validating, and Verifying with Model-Based Design Phil Rottier

What s New MATLAB and Simulink

The Lokalize Handbook. Nick Shaforostoff

Simplifier la mise en production d applications MATLAB. Marc Wolff Application Engineer MathWorks 1

12/7/09. How is a programming language processed? Picasso Design. Collaborating with Subversion Discussion of Preparation Analyses.

GoedelWorks Press release

What s New in MATLAB May 16, 2017

FRONT USER GUIDE Getting Started with Front

OpenEarth OpenEarthTools = Open source management of Data, Models and Tools for marine & coastal science & technology

How to build Simbody 2.2 from source on Windows

Revision Control. How can 4. Slides #4 CMPT 276 Dr. B. Fraser. Local Topology Simplified. Git Basics. Revision Control:

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

An Introduction to Subversion

You Can t Move Forward Unless You Can Roll Back. By: Michael Black

Software Tools Subversion

Module Road Map. 7. Version Control with Subversion Introduction Terminology

Simulink as Your Enterprise Simulation Platform

Best practices for OO 10 content structuring

Extending Model-Based Design for HW/SW Design and Verification in MPSoCs Jim Tung MathWorks Fellow

What s New in MATLAB and Simulink Prashant Rao Technical Manager MathWorks India

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

CVS. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 21

Assembla & TortoiseSVN

CONFIGURATION MANAGEMENT PLAN FİZAN MACROHARD

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU

SECTION 1: CODE REASONING + VERSION CONTROL + ECLIPSE

How to set up SQL Source Control The short guide for evaluators

A BRIEF INSIGHT INTO MESSAGINGAPP THE PROCESSING COMPONENT IN EMC DOCUMENTUM CONTENT SERVER

BASIC NAVIGATION & VIEWS...

12d Synergy V4 Release Notes. 12d Synergy V4 Release Notes. Prerequisites. Upgrade Path. Check Outs. Scripts. Workspaces

SVN_Eclipse_at_home. 1. Download Eclipse. a. Go to: and select Eclipse IDE for Java Developers

CSE 160: Introduction to Parallel Computation

Oracle Data Integrator 12c: Integration and Administration

Graphics Performance Benchmarking Framework ATI. Presented to: Jerry Howard. By: Drew Roberts, Nicholas Tower, Jason Underhill

Using HDL Coder for Complex Algorithm Deployment Steve Hamilton, James Hui & Ian Brown

Common Configuration Management Tasks: How to Do Them with Subversion

Simulation-based Test Management and Automation Sang-Ho Yoon Senior Application Engineer

API RI. Application Programming Interface Reference Implementation. Policies and Procedures Discussion

Quantum, a Data Storage Solutions Leader, Delivers Responsive HTML5-Based Documentation Centers Using MadCap Flare

2015 The MathWorks, Inc. 1

If you don t have the JDK, you will need to install it. 1. Go to

Who Moved My Module? 1

MATLAB. Senior Application Engineer The MathWorks Korea The MathWorks, Inc. 2

Version control CSE 403

AT&T Flow Designer. Current Environment

Revision Control. An Introduction Using Git 1/15

Speeding up Simulink. Murali Yeddanapudi The MathWorks, Inc. 1

Module 4: Working with MPI

[Marco Cantù - Mastering Delphi 2006 Update]

Software configuration management

Signavio Process Manager. Collaborative process design for the entire organization

Section 2: Developer tools and you. Alex Mariakakis (staff-wide)

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username

AgileSCM Release 4.1. AgileSCM Release 4.0. AgileSCM Release 3.2. New Features. Bug Fixes. New Features. Bug Fixes

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

HANcoder STM32 Target Getting Started

ARCHER Metadata Schema Editor. User Guide METADATA EDITOR. Version: 1.1 Date: Status: Release

From Design to Production

Application Development and Deployment With MATLAB

Software Development I

Home Page. Title Page. Contents. Page 1 of 17. Version Control. Go Back. Ken Bloom. Full Screen. Linux User Group of Davis March 1, Close.

Click to edit Master title. style. Software Development. Tesseract: Interactive. Visual Exploration of. Relationships in.

Innovasys HelpStudio 3 Product Data Sheet

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum

Source Management (Version Control) Installation and Configuration Guide. Version 8.0 and Higher

Version (Source Code) Control SWEN-250

What s New in MATLAB and Simulink

Welcome! Virtual tutorial starts at 15:00 GMT. Please leave feedback afterwards at:

What s New in MATLAB and Simulink

Rapid Development Platform for C-Programmable DSP using MATLAB and Simulink

FMI Kit for Simulink version by Dassault Systèmes

Sharing SDK Projects/Working in a Team

Microsoft SharePoint 2010

CSE 390 Lecture 9. Version control and Subversion (svn)

ni.com What s New in 2013

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

Export out report results in multiple formats like PDF, Excel, Print, , etc.

Lab Objective. Lab Assignment. Downloads and Installation

Oracle Data Integrator 12c: Integration and Administration

Slide 1 & 2 Technical issues Slide 3 Technical expertise (continued...)

Verification, Validation and Test in Model Based Design Manohar Reddy

What s New in MATLAB and Simulink Young Joon Lee Principal Application Engineer

MATLAB as a Financial Engineering Development Platform Delivering Financial / Quantitative Models to the Enterprise Eugene McGoldrick

Tutorial - Exporting Models to Simulink

Developing Android applications in Windows

A Comparative Study on Different Version Control System

VSO. Configuration Management

Continuous Integration / Continuous Testing

Building A Better Test Platform:

... Fisheye Crucible Bamboo

Collaboration. Problems in collaboration. The solution

BusinessObjects LifeCycle Manager User's Guide

Oracle BI 12c: Build Repositories

Transcription:

Effective Team Collaboration with Simulink A MathWorks Master Class: 15:45 16:45 Gavin Walker, Development Manager, Simulink Model Management 2012 The MathWorks, Inc. 1

Overview Focus: New features of Simulink that make working in teams even easier Covering Creating and sharing work in a team using Simulink Projects Automation: a foundation for team efficiency Case Study: Refactoring an existing model Understanding what data is used in your design Exporting your designs to colleagues, suppliers, customers Wrap-up, possible next steps Heavily demo based 2

Who is Using Simulink in a Team? 3

Simulink in Teams 4

Simulink in Teams Sample statistics from recent customer conversations : Q: How big are your projects? Around 600 models plus data files Probably around 100 models (libraries), 200 MATLAB files for data 100 model references, 20 libraries, twice as many scripts More than 100 models; might get to 1,000 in the future 5

Simulink in Teams Sample statistics from recent customer conversations : Q: How big are your projects? Too big for a single person to know everything about the project 6

Introduction to Simulink Projects 7

Simulink Projects Overview Source Control Place to build, store & share best-practice Understand structure of your design Integrate with Source Control Simulink Projects MATLAB API to help automate common, uncommon & repetitive tasks Simulink 8.0 + YourLib v1.3 + Microsoft Visual C++ 2010 + Create & standardize team environment Support for peerreview of changes 8

Simulink Projects Overview Source Control Place to build, store & share best-practice Understand structure of your design Integrate with Source Control Simulink Projects MATLAB API to help automate common, uncommon & repetitive tasks Simulink 8.0 + YourLib v1.3 + Microsoft Visual C++ 2010 + Create & standardize team environment Support for peerreview of changes 9

Simulink Projects Manages the Files in Your Design Simulink Projects tool finds, manages, and shares all the required files of your project Easy to see revision information Shortcuts create discoverable entry points to your projects & create a consistent team environment Access version control functionality Demo: >> sldemo_slproject_airframe 10

Demo 11

Simulink Projects Shortcuts Make it easy for any engineer (not just engineer who created the project) to: Find important files Find & execute important or common operations Make the top-level model in the project a shortcut All debuggable Optionally set shortcuts to run at project startup or shutdown Provides formal mechanism for running initialization scripts Makes it easier to ensure the symmetric shutdown scripts are called 12

Using Simulink Projects to Create a Consistent Cross-Team Environment We saw Project Shortcuts being used to Check MATLAB version, compiler version, etc. Set (and re-set) the MATLAB path Make available (the right version of) company utilities Load data Highlight entry points into the Project Benefits: Everyone on the team has the same environment New team members can get started more quickly Less wasted time debugging discrepancies 13

Using MATLAB & Simulink Project to Automate Tasks 14

Why Automate? Automated Processes Get Done Regularly (if needed) Repeatably Can be done by anyone Corollaries Manual processes are often infrequently done Can be subject to variation Perhaps only one person can do them 15

Why Automate? Our model uses some S-Functions. We re struggling to try some new ideas out on our Linux cluster because we can t rebuild those S-Functions Why can t they be rebuilt? 1. We can t find the source code 2. No one can remember the magic command to rebuild them (compiler, version, flags, etc.) 3. (Variation on the above) The engineer who used to do this has left and now (1. &/or 2.) 16

How can Automation in Simulink Project help? SOLUTION: 1. Put the source in the project & hence under source control (This is the obvious bit) BENEFITS: In the project Under source control Shared across the team 2. Whenever someone does something that no one else knows how to do: Convert it into a MATLAB script, & Make it a Project Shortcut (This is the nice Simulink Project bit) Automation via MATLAB & Simulink Project API Shortcuts make things discoverable Anyone can do it Everyone can find it Project API aids portability 17

How can Automation in Simulink Project help? Now anyone can rebuild the S-Functions (or run the tests; generate code; publish the reports; import & validate test data; ) Even at 8:34pm on a Friday night; on a testing trip; 18

Automation Options in Simulink Projects Build-in best practice support Project Checks Growing list of our own gotchas 19

Automation Options in Simulink Projects Build-in best practice support Project Checks Growing list of our own gotchas Startup & Shut Down shortcuts 20

Automation Options in Simulink Projects Build-in best practice support Project Checks Growing list of our own gotchas Startup & Shut Down shortcuts Command-line API used to manage files Batch-running functionality from the UI 21

Demo 22

Batch Operations on Project Files Execute project-wide operations authored in MATLAB on batches of files Execute a MATLAB function on some or all of the files in a project from the GUI for automation tasks Filtering supports selection of files Results are displayed in the Batch Job View» sldemo_slproject_batchjobs 24

Overview Focus: New features of Simulink that make working in teams even easier Covering Creating and sharing work in a team using Simulink Projects Automation: a foundation for team efficiency Case Study: Refactoring an existing model Understanding what data is used in your design Exporting your designs to colleagues, suppliers, customers Wrap-up, possible next steps Heavily demo based 25

Componentization, Data Management & Work Sharing 26

Case Study: Typical industry workflow Sync; checkout Design new behavior Testing; verification and validation; generate artifacts Determine changed files Review change-set Commit files to CM New & changed files and data Repository Change Request: Tasks: 1. Refactor powertrain calibration project to create new component. 2. Analyse for unused data. 3. Apply fuel type labels appropriately Repository: svn://repo/projects Project: powertrain Branch: trunk 27

Demo 28

Simulation Data Inspector 30

Managing Data Analyse data dependencies for models Find dead/unused data Supports partitioning large designs Export to File Find Referenced Variables 31

Protected Mode Available as a Clickable Option Protect models you share with just two clicks Create the protected model reference file with two clicks Share model functionality without exposing underlying implementation Requires Simulink Coder to create Just Simulink to simulate» sldemo_mdlref_bus 32

Compare XML Files Exported from Simulink Models Quickly determine what changed between two designs Use XML comparison tool to: Export Simulink model to an XML text file Compare XML text files using a change detection algorithm (Chawathe) Identify and review differences between two versions of files View changes highlighted in the original models Create and save a printable report Compatible with configuration management systems Demos: >> slxml_sfcar, Filter results to focus on changes of interest View changes highlighted in original models Parameter changes shown in separate panel slxml_truthtables, slxml_eml_radar * Requires Simulink Report Generator 3.9 33

Merge Simulink Models Based on XML Comparison Differences Merge Simulink models from within XML comparison report Merge models within the tool by merging changes from left to right: Left model is the base Right model is the one edited Merge individual parameters, blocks, or entire subsystems New merge option» slxml_sfcar Parameter merge option for the selected node Requires Simulink Report Generator 34

Using Labels in a Simulink Project Define metadata to associate with project files Use for sorting, grouping Application information Project status Ownership Etc. Persistent and shareable Available through Project API Metadata names appear in Project UI (sort, group by) Extensible set of metadata categories Categories contain your metadata names Metadata panel provides detailed info 35

Enhanced Dependency Graph Intuitive interface helps users understand associations and missing files Improved file dependency graph Highlight by: Dependencies File type Reference type Label For example: Highlight all files that have label to review Highlight all Simulink models 36

Simulink Projects for Sharing Work 37

Project Templates Make it easy to ensure that new projects Use the company standard environment Have access to the company standard tools such as company Model Advisor checks Project Templates Easy to create from an existing project Reuse on subsequent new Simulink Projects Use to apply company standards: Add libraries & utilities to path Expert-created utilities easily available Set up standard environment Pre-populated metadata Start up and shutdown scripts Code generation procedure Folder structure Model architecture CM tool Standard folder structure 38

Demo 39

Archived Projects Share projects outside the source control system Export the current project as a zip archive (R2012a) Preserves project files, structure, labels, shortcuts, etc. Does not include CM information Send zipped archive to customers, suppliers, or colleagues who do not have access to CM repository Recipient can create a new project from that zip archive (R2012b) Zip archive 40

Sharing Work through Source Control Integration 41

Source Control Integration Integrate with 3 rd party source control tools Out of the box Integration with Subversion (SVN) from R2012a onwards; web download for R2011b Lightweight local version control tool for single user (supports evaluations, R2011b onwards) SDK for integrating with other source control tools Open, minimal API Documentation & SDK ship with Simulink MathWorks Consulting Simulink Projects is source control agnostic Workflows same regardless of source control backend Local Version Control Developed with SDK Other Source Control Tools Subversion 42

Wrap Up; Next Steps 43

Simulink Projects Overview Source Control Place to build, store & share best-practice Understand structure of your design Integrate with Source Control Simulink Projects MATLAB API to help automate common, uncommon & repetitive tasks Simulink 8.0 + YourLib v1.3 + Microsoft Visual C++ 2010 + Create & standardize team environment Support for peerreview of changes 44

Next Steps Try it out..! Simulink Projects shipped in R2011b Search documentation for Simulink Projects Demo: sldemo_slproject_airframe (and others) http://www.mathworks.com/discovery/simulink-projects.html Focus on automation, short-cuts, batch-jobs, dependency analysis, labels, creating a team environment Using SVN? Built-in support will just work Using something else? Trial using SVN, build-in local CM or use Simulink Projects & your source control tool in parallel Talk to your account manager about Consulting support 45

Thank You! Questions? 46