OCT 5,
09:00-17:00
Software Tools
Chairperson: Sami Bask, ÅF

09:00

 

 

 

 

 

 

 

 

 

Advanced Compiler Optimizations for the Smallest, Fastest Code

Embedded software developers, much more so than other software engineers, are concerned with their software at multiple levels. Since these days the vast majority of code is written in high level languages, the translation process between high level languages and machine assembly code, known as compilation, is crucial. Compiler technology has not yet run it course, and new cutting-edge optimizations have made enormous executation and code size savings. This talk will survey some of my favorite optimizations: some are old, but highly effective, while others are virtually unknown outside of the tight knit community of compiler developers. All of them are, in my opinion, quite fascinating.

Presenter: Anthony Webb, Green Hills Software

Tony has been an FAE with Green Hills Software since 2008 and specialises in safe and secure embedded applications, particularly the use of INTEGRITY RTOS, hypervisors and associated C and C++ development tools. Tony has worked in various embedded software roles since graduating from Liverpool University in 1997. He has experience developing satellite, airborne and ground based embedded systems across the military and civilian sectors, including navigation, telecommunications and radar systems.

09:30

 

 

 

 

 

 

 

The Inefficiency of C++, Fact or Fiction?

A widespread "truth" among developers of embedded software is that using C++ results in inferior code size and speed compared with using C. This article will attempt to sort out the facts from the fiction in this statement. By better understanding the underlying mechanisms of the language, a designer can avoid code bloat.
In the presentation we will discuss various C++ language features, compare them with C, describe their implications for the ARM code generation, and look at the efficiency of the different ARM architectures.


Presenter: Anders Lundgren, IAR

Anders Lundgren has been with IAR Systems since 1997. He currently works as product manager for the IAR Embedded Workbench for ARM. During the first years with IAR Systems he worked with compiler development and as project manager for compiler and debugger projects. Prior to joining IAR Systems Mr. Lundgren worked with space science instruments at the European Space Agency and spent one year at the space science laboratory at the University of California, Berkeley. He received a M.Sc. in Computer Science from the University of Uppsala, Sweden in 1986.

10:00

Break

10:30

 

 

 

 

 

 

How to improve model-based development efficiency by reusing test components throughout the complete development cycle

As embedded control systems become more complex, design and test engineers need to develop new strategies to maximize their efficiency throughout the design and testing phases of embedded control software development.  In this session you will see how test components can be reused during the entire development cycle (V diagram): requirements engineering, plant modeling, controller development, model-in-the-loop testing, prototyping, deployment, hardware-in-the-loop testing and system test. In the demonstration we will use the NI LabVIEW graphical system design environment and NI VeriStand Simulation and Realtime Testing software in combination with modular, real-time hardware.

Presenter: Jimmie Adolph, Systems Engineer Manager,
National Instruments

11:00

 

 

 

 

 

 

 

 

 

 

 

 

Designing advanced DSP applications on Cortex-M4 MCUs

The latest MCU core from ARM, the Cortex-M4, comes with an extensive set of DSP instructions. The microcontroller domain tackles a lot of control applications in the analog and regulator domain like DC motor control and PID regulator designs. The lack of DSP processing power in current MCU devices has severely limited the possibility to do high speed complex DSP algorithms in low cost designs. The ARM Cortex-M4 is targeted as a solution to these needs. We will introduce the basics behind DSP technology and discuss how advanced algorithms like digital filters, FFT's and control loops can be efficiently implemented without having to go into low level assembly programming.
The Cortex-M4 will be put into action to demonstrate its realtime capabilities on complex DSP tasks using the ARM CMSIS DSP library.

Presenters: Anders Lundgren, Lotta Frimanson, IAR

Anders Lundgren has been with IAR Systems since 1997. He currently works as product manager for the IAR Embedded Workbench for ARM. During the first years with IAR Systems he worked with compiler development and as project manager for compiler and debugger projects. Prior to joining IAR Systems Mr. Lundgren worked with space science instruments at the European Space Agency and spent one year at the space science laboratory at the University of California, Berkeley. He received a M.Sc. in Computer Science from the University of Uppsala, Sweden in 1986.

Lotta Frimanson has been with IAR Systems since 1999. She currently works as product manager for IAR Embedded Workbench for ARM and MSP430, and is also responsible for the IAR RTOS partner program. Prior to joining IAR Systems Mrs. Frimanson worked with embedded systems development both at the bioscience company Biacore and at the consultant company Styrex. She received a M.Sc. in Engineering Physics from the University of Uppsala, Sweden in 1989.

11:30

Break

13:30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Improving Support for Modeling and Simulation of Cyberphysical Systems

A broad and important and resource-intensive class of computational codes are simulators for physical (or "natural'') systems. Too often, such simulation codes are written in general purpose languages that promote a programming style that is too centered on the details of how
the computation is performed, rather than the model itself. This makes life hard for the users and for compilers. This is further exacerbated by the fact that general purpose programming languages do not generally encourage the programmer (or engineer) to pay attention to programming choices that can lead to high resource costs at runtime.
This talk describes some of our preliminary results with the design of Acumen, a cyberphysical modeling language that we are designing with a specific goal of promoting writing models that are simultaneously intuitive and can easily be mapped to parallel execution platforms. The key features underlying the language's design are promoting a programming style that supports a "globally parallel, locally imperative'' view of the world, as well as preserving deterministic execution even when the underlying computation is performed on a highly parallel platform. The approach appears to be promising, although it is still too early to say whether or not it can be useful in practice.

Presenter Walid Taha Halmstad University

Walid Taha is a Professor at Halmstad University. His current research focus is on modeling, simulation, and verification of cyberphysical systems, and in particular the Acumen language
(acumen‐language.org)
Taha is credited for developing the idea of multi‐stage programming, and is the designer of several systems based on it, including MetaOCaml, ConCoqtion, Java Mint, and the Verilog Preprocessor. He contributed to several other programming languages innovations, including statically typed macros, tag elimination, tagless staged interpreters, event‐driven functional reactive programming (E‐FRP), the notion of exact software design, and gradual typing.
In 2011, Taha's publications had over 2,200 citations, and his h‐index was 28.
Taha was the principal investigator on a number of research awards and contracts from the National Science Foundation (NSF), Semi‐conductor Research Consortium (SRC), and Texas Advanced Technology Program (ATP). He received an NSF CAREER award to develop Java Mint. He founded the ACM Conference on Generative Programming and Component Engineering (GPCE), the IFIP Working Group on Program Generation (WG 2.11), and the Middle Earth Programming Languages Seminar (MEPLS). Taha chaired the 2009 IFIP Working Conference on Domain Specific Languages.

14:15

 

 

 

 

 

 

Improving software quality with code analysis and test automation

Software quality can be improved using tools for static code analysis,
in-target test automation and test quality measurement using dynamic
execution flow analysis. The seminar will outline methods for this in an
embedded context, and demonstrate how this can be done using code
analysis and testing tools from Atollic.

Presenter Magnus Unemyr, Atollic

Magnus Unemyr is Vice President of Sales & Marketing at Atollic. He
has been working in the embedded industry since the early 1990s,
and has previously held positions as Product Manager and Product
Marketing Manager at IAR Systems. Magnus has also been a Project
Manager at an aircraft manufacturer, leading software development
projects for a military jet fighter.

15:00

Break

 

15:30

 

 

 

 

 

 

 

 

 

Infographics driven agile development for functional teams using Collaborative Software

"Today we drown in information. Adding "more of the same" is rarely the key to productively solve a problem or get a team working more effectively. Infographic visualizations of “cold data” opens up for a more creative display of the essential intelligence in such a way that it gives energy, understanding and focus to teams and collaborators. A good visualization enhance Understanding and Communication, the pillars in all development projects.
Dashboards are effective tools to convey daily updates, but you still have to chose what to display and how to find the essential knowledge that can strategically change the way we think. A picture is worth a thousand words, but which words do you want to convey and are some of those words/associations counterproductive for the current project situation? "

Presenter Stefan Eekenulv INCEPTIVE

Stefan Eekenulv is a Senior Consultant at INCEPTIVE
Expert in Exploration, Representation - Visualization & Management of Requirements, with focus on IBM Rational Accelerators. Stefan has a Real Passion for Creativity, Simplification, Knowledge Representation and developing & establishing effective Methods & Processes. Stefan is an acclaimed speaker and eye-opener!

16:15

 

 

 

 

 

 

 

 

 

 

 

 

Automatic Implementation of Protocol Stacks

Embedded network software has become an area of increasing importance for both research and industry as more and more applications are built on networked embedded systems. Modern devices and applications require newly designed or revised protocols which have to be implemented. Also, well-known infrastructure protocol stacks have to be reimplemented on new hardware platforms and software architectures. However, implementing protocol stacks for embedded systems remains a time-consuming and error-prone task due to the
complexity and performance-critical nature of network software. It is even more so when targeting resource constrained embedded systems, as implementations also have to minimize energy consumption and meet memory constraints.
We propose a domain-specific language, Protege (Protocol Implementation Generator),
for declaratively describing overlaid protocol stacks. In Protege, a high-level packet specification is dually compiled into an internal data representation for protocol logic implementation, and packet processing methods which are then integrated into the dataflow
framework of a protocol overlay specification. The Protege language offers constructs
for finite state machines to specify protocol logic in a concise manner, close to the protocol specification style. Protege specifications are compiled to highly portable C code for various architectures.


Presenter Yan Wang,  Halmstad University,

Yan Wang received her B.Sc. in Computer Science and Information Technology, from Wuhan University of Science and Technology, China, in 2000. She worked as a software engineer in industry from 2000 to 2004. In 2006, Yan received her M.Sc. in Engineering on Dependable Computer Systems from Chalmers University of Technology, Sweden, where her studies were funded by a STINT Scholarship from the Swedish Foundation for International Cooperation in Research and Higher Education. Since June 2011, Yan holds a PhD in Computer Science from Halmstad/Örebro University. Her research interests include embedded systems, network software, and domain‐specific languages.

Back To Main Program