TECHNICAL UPDATES
 
Products Updates
 

LATEST Release 2008a is now available!
In March 2007, The MathWorks will ship Release 2008a. The latest updates include new features in MATLAB and Simulink, two new products, and updates and bug fixes to 82 other products. R2008a introduces new capabilities for object-oriented programming, parallel computing, verification and validation, code geration and Embedded MATLAB.

New capabilities for the MATLAB product family

  • State-of-the-art object-oriented programming in MATLAB, including full support for classes and objects, inheritance, methods, properties, events, and packages
  • Interior point solver and parallel computing support for large-scale optimization problems in Optimization Toolbox
  • Linear Complementarity Program (LCP) for mean-variance portfolio optimization in Financial Toolbox
  • Full support for PBS Pro and TORQUE schedulers with Parallel Computing Toolbox
  • Cross validation, feature selection, quasi-random numbers, and partial least squares in Statistics Toolbox


New capabilities for the Simulink product family

  • Redesigned, multiplatform Library Browser in Simulink
  • AUTOSAR-compliant code generation in Real-Time Workshop Embedded Coder
  • Code checking of Embedded MATLAB language subset functions in the M-Lint Code Analyzer and Simulink Design Verifier
  • IEC 61508 style guideline checks for safety-critical systems in Simulink Verification and Validation
  • Fixed-Point Advisor for automated conversion of floating-point models in Simulink® Fixed Point
  • Fixed-point support for modulator, demodulator, encoder, and decoder functions in Communications Blockset
  • Embedded IDE Link MU, a new product that deploys code generated by Simulink to the Green Hills® MULTI® development environment


Major Update Products included in R2008a

  • Communications Blockset 4
  • Embedded IDE Link VS 2
  • Neural Network Toolbox 6
  • Optimization Toolbox 4
  • Target Support Package TC2 3


New Product included in R2008a

  • Embedded IDE Link MU 1.1 deploys code generated by Simulink to the Green Hills® MULTI® development environment
  • EDA Simulater Link DS 1.0 co-simulates and verifies VHDL and Verilog using Synopsys Discovery VCSMX


R2008a introduces Software Activation
Beginning with R2008a, all software in the MATLAB and Simulink product families will require activation which:

  • Reduces unauthorized use of products
  • Follows a trend among software companies to implement activation
  • Helps organizations to better manage their licenses, making it easier to stay in compliance

For more information on Activation, kindly refer to following information page:
http://www.mathworks.com/support/activation/index.html
You can also contact TechSource Systems at 6842 4222 (Singapore) or 03-8076 1953 (Malaysia) for further enquiries on R2008a Activation.

 
 
Product Hightlight
 

PolySpace™ Embedded Software Verification
PolySpace™ products prove C, C++, and Ada code correctness by detecting run-time errors before code is compiled and executed. This advanced verification technology uses formal methods not only to detect errors, but to prove mathematically that certain classes of run-time errors do not exist.

You can use these tools on hand-written code, or code generated automatically from Model-Based Design tools. For automatically generated code, PolySpace Link products trace results back to models to help you correct design errors.



PolySpace results on generated code are traced to the model


PolySpace products

  • Core products
    - PolySpace Client for C/C++ (include MISRA checker for C)
    - PolySpace Server for C/C++
    - PolySpace Client for Ada
    - PolySpace Server for Ada
     
  • Link products
    - PolySpace Model Link SL (Simulink)
    - PolySpace Model Link TL (TargetLink)
    - PolySpace UML Link RH (Rhapsody/C++)

PolySpace Jumpstart Service
Customized training and consulting for a fast, smooth transition to working with PolySpace products.
For more information about PolySpace™, please visit the following URL:
http://www.mathworks.com/products/polyspace/index.html

 
 
Tips and Techniques
 

Sharing MATLAB Programs with Non-MATLAB Users - Standalone Applications, .Net and Java Platforms
As a MATLAB user, you might want to share your MATLAB-developed programs to end-users who do not work with MATLAB. In the past, you have to recode your MATLAB programs into other popular platforms, for instance C/C++ or Java languages. Not anymore, as you can now depend on MATLAB Builder solutions to convert your MATLAB programs into standalone applications and software components (.NET Components & Java Classes), and easily share them with end-users. Deployment examples will be illustrated in the three-part Tips & Techniques articles.

Part 1 Of 3 - Convert MATLAB Programs into Standalone Applications (.exe)
In Part 1 of the article series, we will illustrate how to deploy MATLAB programs into standalone applications (.exe) by using MATLAB Compiler.

MATLAB Deployment Tool (DEPLOYTOOL):
Deploytool is the Graphic User Interface (GUI) available with MATLAB Compiler. You can use deploytool to perform following tasks:

For example, Fig. 1 illustrates an Image Processing GUI, which was created using MATLAB GUIDE (Graphical User Interface Development Environment) tools. This GUI demos the use of MATLAB Image Processing Toolbox functionalities to inspect the missing/ misplaced components in the circuit based on the reference circuit image. We will create a Stand-alone application (.exe) for this example.



Figure 1 - Circuit Inspection GUI with MATLAB Image Processing


Converting MATLAB GUI (.m) into Standalone Application (.exe)
Before converting the Image Processing GUI (with extension .m) into Standalone Application (extension .exe), you will need to specify the proper compiler and linker settings by issuing following commands in Command Window:
>>mbuild -setup
>>mex -setup


   
  • Enter "CircuitInspect.prj" as the project name.
 
  • Add the target .m file (MATLAB program) to the "Main Function" to be converted into Stand-alone Application.
 
  • Click icon to convert .m file into Stand-alone Application.
 
  • Navigate to folder: $matlabroot\projectname\distrib\ and execute the .exe file

To get more information on MATLAB Compiler, kindly navigate to following The MathWorks Product Information Page: http://www.mathworks.com/products/compiler/

We will highlight how you can share the converted Standalone Application (.exe) with end-users in Part 2 Of 3 of the series in upcoming May/June TSS eNews.

 
 
EVENTS & TRAINING
 

Learn and do more with MATLAB & Simulink

'Applying Signal Processing with SIMULINK' training workshop

 
 
 
 

 

Workshop Highlights:
This is a 2-day fundamental course for signal processing engineers who are new to system and algorithm modeling and design in Simulink. Through basic modeling techniques and tools, it shows how to develop Simulink block diagrams.

Upon the completion of the course, the participants will gain knowledge on:

  • Modeling single- and multi-channel discrete-time systems
  • Implementing sample-based and frame-based processing
  • Modeling single- and multi-rate systems
  • Integrating filter designs into Simulink
  • Applying fixed-point math in Simulink models
  • Executing condition-based systems
  • Automating model simulations
  • Developing custom blocks and libraries

In-house or customized training is also available on request, please contact Activemedia at 6742-8173 for details. Other relevant training courses provided by Activemedia include:

- Applying Communication Design with Simulink
- Comprehensive MATLAB
- Advanced MATLAB Programming Techniques
- Building GUIs with MATLAB
- Applying Image Processing Techniques with MATLAB and SIMULINK

 
 
Visit www.activemedia.com.sg or Contact us at:
Singapore:
(65) 6742 8173
enquiry@activemedia.com.sg
Malaysia:
(60) 3 7880 8522
enquiry@activemedia.com.my
Thailand:
(66) 2 612 9390-1
info@activemedia.in.th

 
 
Customer Applications
 

Carleton University Develops New Technology to Help Prevent Unauthorized WiFi Network Access with MATLAB and the Anritsu Signature High Performance Signal Analyzer

To automatically find runtime errors in embedded software for diesel fuel injection systems
Use PolySpace products to analyze embedded code and pinpoint reliability problems
• Debugging time reduced
• Re-verification automated
• Customer confidence increased
 


As part of the Energy & Chassis division of Delphi Corporation, Delphi Diesel Systems develops diesel fuel-injection systems for light-, medium-, and heavy-duty vehicles. A major goal of Delphi Diesel Systems is the delivery of innovative diesel injector technology to enable global OEM automotive customers to reduce noise levels, pollutant emissions, fuel consumption, and torque.



Delphi Diesel common rail system.

PolySpace™ Client for C/C++ and PolySpace™ Server for C/C++ help Delphi Diesel Systems ensure software reliability and accelerate development by pinpointing run-time errors in the code as soon as it is written. "Allowing us to detect bugs much more quickly than with classical time-consuming testing methods is by itself of great value," notes Frédéric Retailleau, software verification team leader for Delphi Diesel Systems at Blois, France. "On top of that, using PolySpace as soon as source code is available helps us catch bugs much earlier and thus at a much lower cost."

 

Challenge

"The main concern with the development of diesel injector control software is the high number of calibrations," explains Retailleau. "In a typical application containing 200,000 lines of code, there are thousands of calibration points. These constants may be changed after software delivery by calibration teams, potentially modifying the behavior of the whole application. This characteristic leads to extreme difficulties when it comes to performing tests."

Because fuel-injection systems increasingly rely on electronics, the reliability of embedded software is crucial. Poor reliability can lead to product recalls, which are not only costly but also detrimental to the company's image over the long term. At the same time, Delphi Diesel Systems cannot slow development in its attempt to improve reliability. Delphi Diesel Systems needed a software analysis tool that would enable the software verification team to ensure reliability while increasing productivity and development speed.

"Using PolySpace as soon as source code is available helps us catch bugs much earlier and thus at a much lower cost."

Frédéric Retailleau,
Delphi Diesel Systems

 

Solution

The Delphi Diesel Systems team evaluated PolySpace tools by using them to analyze some existing applications. PolySpace products for C/C++ identified errors in software that had been considered fully tested.

Based on the results of this evaluation, the team decided to integrate PolySpace tools into its testing process. They applied them as early as possible in the process, before functional unit tests, to maximize development efficiency and address testing difficulties caused by the calibration issue.

In this new unit test process, the Blois team systematically used PolySpace tools to analyze software modules as soon as they were developed.

Using PolySpace, they automatically identified run-time errors in the diesel fuel-injection system's embedded software, eliminating time-consuming robustness tests that frequently provided inadequate results.

 

Results

  • Debugging time reduced. "Dynamic testing merely allowed us to detect the symptoms of the errors," says Retailleau. "PolySpace pinpoints their root cause, saving us significant debugging efforts."
     
  • Re-verification automated. "Because the analysis is entirely automatic, evaluating the consequences of small modifications to the software is also quicker with PolySpace," notes Retailleau."
     
  • Customer confidence increased. "We want to let our customers know that we use state-of-the-art tools for the detection of run-time errors," Retailleau says. "We definitely use our best efforts to ensure the reliability of our embedded diesel injection control software."

Products Used

PolySpace™ Client for C/C++
PolySpace™ Server for C/C++