Sessions By Track

Each year, hundreds of ideas and topics are submitted during the ESC call for submission process. This year we tried something different by asking our readers to submit topics under five broad categories. After review with the ESC Advisory Board and Track Chairs, the top session proposals that address the most relevant issues facing engineers and the industry are outlined below. Please review the categories and the tracks which will allow you to customize your educational experience.”


Embedded Software

Hardware for Embedded Systems

Tools and Best Practices

Topics in Embedded-System Design

HMI and Multimedia
The ease with which we can interact with an embedded system can easily make the difference between tremendous success and complete failure. Whether it is a simple push-button and LED interface, to a more sophisticated video screen with speech synthesis, the human-machine interface is the primary portion of many embedded systems that the human can observe, and thus often gets the most attention by end users. This track focuses on human factors issues and the technology behind it, to continually improve the human-machine interaction.

Reliability, Security, and Performance

Many embedded applications have requirements for continuous operation in critical environments, where failure can be damaging or catastrophic. The obvious application areas include military, avionics, and medical; but even areas such as telecommunications when those devices are used for emergency communication must perform when environmental factors are the worse. The key to 24/7 availability of an embedded system is reliability, security, and performance, which are the topics found in this track.

Remote Monitoring and Wireless Networking
Embedded Systems are increasingly becoming inter-connected, with dozens to thousands of nodes per system. Whether the nodes are scattered within a room or across a large geographic area, the challenges to manage a multitude of interconnected embedded devices continues to grow. This track focuses on challenges and state-of-the-art solution for such interconnected systems.

Systems Architecture
The success of an embedded application at delivery time is directly correlated to the early design decisions made when architecting a system. During the architectural phase, key decisions such as hardware, tools, languages, and software models must be made. It is usually too late to change any of these once a system is deployed, and thus the need to make the right decisions early. This track focuses on various architectural issues and decisions that must be made early in the project to ensure a successful deployment.

Linux/Android/Open Source
Due to its low cost and ease of modification, embedded Linux is growing in popularity in embedded systems. Android, which is based on a modified version of the Linux kernel, is also becoming more popular in the embedded space. This track will focus on Linux and Android based development in embedded systems and the use of open source in general in the development or embedded systems software.

Programming for Storage, I/O, and Networking
Embedded software for storage, I/O and Networking is a growing area. Storage systems require complex embedded software for both control and performance for technologies including embedded flash, external flash memory hardware, and other non-volatile technologies. Networking applications include IP Forwarding, IP Security, and other networking protocols as well as fast path offload technologies to achieve wire-speed packet processing. Embedded I/O requires various forms of synchronous and asynchronous communications and optimized I/O programming approaches.

Programming Languages and Techniques
This track will cover the broad range of applications development for embedded software and discuss the major issues facing embedded developers. Topics include embedded software programming techniques, the implications of limited memory and processor resources and how embedded software handles external events without human intervention. Other topics will include embedded software architectures, software design techniques, optimization techniques, driver design, and API design.

RTOS and Real Time Software
A real-time operating system is employed in a vast array of embedded applications. But do you really understand what's going on inside the RTOS? For example, how do you select a scheduler? Even if you're not using an OS, real-time issues are always a concern. Is there a need to time-optimize your C++ code? Do you want better ways to profile and reduce CPU loading? Those are the typical subjects that will be covered by the classes in this track. Application areas here include medical, automotive, communications, monitoring and control, and military and aerospace.

Software Processes and Tools

This track will cover embedded development and testing tools, development processes used to create advanced embedded systems, and unique techniques being used to drive efficiency and maturity in the embedded system development processes. This includes topics covering simulation and modeling technologies, cross compilers, IDE’s, hardware and software debugging tools, analyzers and profilers, testing tools and techniques, development methodologies including Agile, prototyping, and rapid application development.

Windows for Embedded
Windows Embedded is a family of embedded operating systems that offer tools and technologies to quickly bring the next generation of smart, connected, service-oriented devices to market. This track will include tracks for embedded application programming for Windows CE platforms and devices. Topics will include details of the Windows CE operating system and the features and capabilities of the OS, development tools options available to embedded developers, application development for off-the-shelf consumer platforms, such Windows Mobile PocketPC or Smartphone, APIs available for Windows embedded including communications and networking functionality and graphical user interface libraries.

Challenges and Solutions in Embedded Designs
The increasing complexity of the devices used in embedded systems, coupled with increasingly complex hardware-software interactions, the trend to connected embedded devices together, and the requirements for reliability and security lead to many design challenges. Classes in this track cover a wide range of embedded design-related topics.

Connectivity and Security
The increasing complexity of embedded systems coupled with the emerging trend to connect them together (often using wireless or high-speed wired connections) and the need for these systems to be both reliable and secure leads to many challenges. Classes in this track cover a wide range of embedded connectivity and security-related topics.

Memory in Embedded Designs
Today’s embedded systems typically contain a mixture of different memory types, including ROM, SRAM, DRAM, EEPROM, NOR Flash, and NAND Flash. Some systems use more esoteric technologies like MRAM, FRAM, and PCM. In all cases there are tradeoffs in terms of volatility, erasability and programmability, speed, power consumption, etc. Classes in this track cover a wide range of embedded memory-related topics.

Microcontrollers in Embedded Designs
Recent years have seen tremendous advances with regard to the features offered by microcontrollers for use in embedded systems. Some microcontrollers boast high performance, while others focus on minimal power consumption, and some come equipped with on-chip RF capabilities. Classes in this track cover a wide range of embedded microcontroller-related topics.

Powering Embedded Designs
In recent years, power consumption has moved to the forefront of embedded system development concerns. The combination of higher clock speeds and greater functional integration has contributed to significant growth in power density. In addition to tips and tricks, classes in this track discuss the What, When, and How of power design for embedded systems: What is available? When to use it? How to get started?

Programmable Logic in Embedded Designs
Over the past few years, the density of the average programmable logic device has begun to skyrocket. High-end FPGAs contain the equivalent of hundreds of thousands of logic gates, the speed and capacity of these devices is increasing while their power consumption and cost is falling. The result is that programmable logic is appearing in an ever-increasing number of embedded applications. Classes in this track cover a wide range of embedded programmable logic-related topics.

Best Practices
Most fields have a set of best practices that are used to guide practitioners. For instance, engineers always have designed in extra margin into their creations to deal with unexpected problems. Classes in this track teach approaches to insure your firmware doesn’t suffer from problems that have been addressed using known, though perhaps not-widely-published, techniques.

Debugging and Optimizing
Debugging and optimizing are two sides of the same coin, as they are usually performed late in the development cycle – and, both can be addressed much earlier by using strategies to limit the necessity for each. Classes in this track give approaches to ease both of these difficult and yet critical tasks.

Design and Test
Test validates design and implementation. One of the biggest problems in the embedded industry is that these two arenas are treated separately, instead of as part of a feedback loop that leads to product perfection.

Managing and Process
Management and process are intertwined. The process comprises the strategies used to develop a product, and management’s role is, in no small part, to help developers use the process model effectively. Classes in this track teach various processes, such as agile methods, as well as management techniques.

Homo sapiens is a species of tool-makers and tool-users, and in the embedded world we are utterly reliant on our tools. But there are so many to chose from! Classes in this track give a practical introduction to a number of important tools.

Architecture Design
This track focuses on the base architecture of the system design. Embedded systems architecture is the basis for building a project and a platform for the system. Papers range in topics from agile driven development all the way through device drivers.

DSP, Communication, and Control Design
This track focuses on the transactional aspects of embedded design. Controls-specific topics, communication between devices, and digital signal processing aspects for an embedded system make up this track.

HW and Platform Design
Choosing the right hardware and base platform for an embedded system is critical for successful product release. This category focuses on winning strategies and topics to put the hardware design on the right track!

Quality Design and Intellectual Property
Quality Design and Intellectual Property Paying attention to putting quality in as part of the design is crucial for successful system design. Determining the aspects of protecting intellectual property can provide a product advantage in the marketplace. This track includes papers that provide insight into protecting IP and putting together a successful quality design.

Safety Design
Many embedded systems today need to meet rigorous safety requirements that are driven by agencies such as the FAA and FRA, and follow rigorous international standards. This track includes papers that focus on putting together an embedded design to meet these standards, as well as guidance to help developers meet safety requirements through their embedded design.

Back to Top