Skip to main content

+1 866 653-6233 LinkedIn Software Expert Witness Directory

About Us Contact Us

Barr Group Software Experts

Barr Group Software Experts

Main navigation

  • Expert Services
    • Consulting Experts in Software and Electronics
    • Expert Reports by Testifying Software Experts
    • Reverse Engineering and Forensic Analysis
    • Software Source Code Review and Analysis
  • Areas of Expertise
    • Left Side
      • Artificial Intelligence
      • Automotive Systems
      • Cloud Computing
      • Computer Security
      • Consumer Electronics
      • Electronic Circuits
      • Enterprise Software
      • Financial Technology
      • Firmware and IoT
    • Right Side
      • Industrial Controls
      • Mechanical Design
      • Medical Devices
      • Military & Aerospace
      • Mobile Devices & Apps
      • Optical Equipment
      • Renewable Energy
      • Signal Processing
      • Telecommunications
  • Matters & Venues
    • Patent Infringement and Invalidity Experts
    • Software Copyright and Trade Secrets Experts
    • Product Liability and Failure Analysis Experts
    • Contract Disputes and Software Project Failures
    • Venues and Clients
  • Directory
  • Case Studies
    • DirecTV Anti-Piracy
    • Samsung Software Copyright
    • Toyota Runaway Cars
  • Resources
    • Expert Witness Blog
    • Source Code Review in Litigation
    • Software Source Code Discovery

real-time

  1. Home
  2. real-time

real-time

How-to articles about designing software to meet hard deadlines.

Embedded Control Systems in Practice

Posted October 31, 2017

An introduction to embedded control systems along with a practical example on the differences between open and closed loop systems.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Prioritize RTOS Tasks (and Why It Matters)

Posted January 18, 2017

This webinar examines best practices for assigning fixed priorities to a set of real-time operating systems (RTOS) tasks and interrupt service routines (ISRs). Viewers will learn how and why to use optimal methods to allow a critical set of tasks and interrupt service routines to meet all of their deadlines – even during transient overload periods. Lessons learned can be applied to the development of any priority-based preemptive RTOS, including real-time Linux.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Introduction to Rate Monotonic Scheduling

Posted November 08, 2016

If you've got a lot of real-time tasks and tight deadlines, what's the best way to prioritize them? Rate Monotonic Algorithm provides the optimal technique.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Allocate Dynamic Memory Safely

Posted May 04, 2016

Whether you're using only static memory, a simple stack, or dynamic allocation on a heap, you have to proceed cautiously. Embedded programmers can't afford to ignore the risks inherent in memory utilization.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Have Polymorphism Without a Heap

Posted May 04, 2016

Rethinking basic programming techniques can avoid many of the problems that heap-based memory management poses for embedded real-time system designs.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Software Reliability and the Internet of Things

Posted January 07, 2016

As Internet connectivity advances, the transportation, automotive, medical device, smart grid and other industry sectors have become more dependent on embedded software. But is software reliable?

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Make Embedded Software Smaller and Faster

Posted January 06, 2016

Many embedded systems have reliability, cost, and performance requirements that demand performance be designed into the system, from architecture to algorithms to data structures to coding guidelines.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Find and Fix the Most Common Embedded Software Bugs

Posted September 09, 2015

As if debugging traditional PC/server software or even smartphone apps wasn't hard enough, debugging embedded software adds significant challenges.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Mutexes and Semaphores Demystified

Posted May 13, 2015

What's the difference between a mutex and a semaphore? Misuse of these two distinct types of synchronization primitives can lead to difficult to debug defects with potentially severe consequences in safety-critical devices.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Hardware-Software Partitioning in Embedded Systems

Posted January 13, 2015

One of the biggest challenges when architecting an embedded system is partitioning the design into its hardware and software components, which must typically be decided early in the design of a product.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Key Learnings from Past Safety-Critical System Failures

Posted September 09, 2014

Welcome to the 21st century, where every device has at least one processor. But don't take for granted that these devices will do their intended jobs tirelessly and correctly, day in and day out, without fail.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Minimize Interrupt Service Routine (ISR) Overhead

Posted January 01, 2007

With all the automation available today, it's easy for programmers to overlook costly overhead introduced into machine code by the compiler. Interrupt handlers are one key area worthy of a closer inspection.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

The Perils of Preemptive Multitasking

Posted January 01, 2006

Every commercial RTOS employs a priority-based preemptive scheduler. This despite the fact that real-time systems vary in their requirements and real-time scheduling doesn't have to be so uniform. Multitasking and meeting deadlines is certainly not a one-size-fits-all problem.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Introduction to Controller Area Network (CAN)

Posted August 01, 2003

Controller Area Network (CAN) is the most widely-used automotive bus architecture. Here are some reasons why.

At peak, some automobiles contained up to three miles of cabling. To reduce the cost and weight of wiring and still allow ECUs to become more intelligent, new methods had to be found to reduce the amount of wiring. The CAN bus has since found application in other industries as well.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Introduction to Preemptive Multitasking

Posted April 01, 2003

Most real-time operating systems employ preemptive schedulers. This primer on preemption also looks at the kind of multitasking it enables

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Choose a Real-Time Operating System

Posted January 01, 2003

In the market for a real-time operating system (RTOS)? This article provides an overview of RTOSes and how you can select the best one for your project.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Introduction to Priority Inversion

Posted April 01, 2002

When tasks share resources, as they often do/must, strange things can and will happen. Priority inversions can be particularly difficult to anticipate. A basic understanding of the problem is key.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How to Use Watchdog Timers Properly when Multitasking

Posted November 01, 2000

To keep a watchdog timer from resetting your system, you've got to kick it regularly. But that's not all there is to watchdog science. We will examine the use and testing of a watchdog, as well as the integration of a watchdog into a multitasking environment.

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

How Network Processors Work

Posted November 01, 2000

Network processors are programmable chips like general purpose microprocessors, but are optimized for the packet processing required in network devices. But what are they good for and how do they work?

  • Read more
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Request an Expert

(866) 653-6233

Barr Group logo
Call us

Expert Services

  • Source Code Review Services
  • Expert Witness Directory
  • Reverse Engineering Services
  • Expert Reports & Testimony
  • How-To Technical Articles
  • Engineering Services

Latest Insights

  • Payment Processing and e-Payments Fraud
  • Albert Einstein Expert Witness
  • Medical Device Litigation and FDA 510(k)
  • Personality Traits of the Best Expert Witnesses

Website contents copyright © 2012-2025 by Barr Group. | Barr Group's logo is a U.S.-registered ® trademark.

SITEMAP  |  PRIVACY