Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where John W. McCormick is active.

Publication


Featured researches published by John W. McCormick.


technical symposium on computer science education | 2005

We've been working on the railroad: a laboratory for real-time embedded systems

John W. McCormick

This paper describes a laboratory used to support a junior level course in real-time embedded software development. Thirteen years of data comparing programming languages for a real-time systems course are presented. Funding provided by the Maytag Corporation and Rockwell-Collins makes it possible to provide other schools with low cost electronics necessary to duplicate this laboratory with a minimum of effort.


ACM Sigada Ada Letters | 2008

Ada and software engineering education: one professor's experiences

John W. McCormick

How do you select a programming language for your project? Few developers have the luxury of coding the same design in multiple languages to compare language merits. For over twenty years my undergraduate students have implemented the same large (10-15K lines), multi-tasking, real-time embedded system. In one 15 week semester, student teams specify, design, and implement software to control a substantial model railroad layout. Students implement everything from device drivers for custom I/O hardware to high-level decision making algorithms. Student teams have implemented the project in both Ada and C. This paper describes the course, the laboratory, the project, and an analysis of the results achieved with each of the implementation languages.


ACM Sigada Ada Letters | 2000

Software engineering education: on the right track with Ada

John W. McCormick

An introductory undergraduate course in real-time embedded software development should acquaint students with the fundamental scientific issues of real-time computing and practical skills in software development. While the theoretical issues can be covered without a laboratory, real-time embedded programming skills require the experiences that a laboratory provides. A major problem is finding equipment suitable for teaching these skills. For over a decade I have used a computer controlled model railroad in my real-time embedded systems course


ACM Sigada Ada Letters | 2011

Building embedded real-time applications

John W. McCormick; Frank Singhoff

The arrival and popularity of multi-core processors has sparked a renewed interest in the development of parallel programs. Similarly, the availability of low cost microprocessors and sensors has generated a great interest in embedded real-time programs. Ada is arguably the most appropriate language for development of parallel and real-time applications. This tutorial provides an introduction to the features of Ada that makes it appropriate in these domains including: The Ada type model High level support for low level programming The task Communication and synchronization based on shared objects Communication and synchronization based on direct interaction Real-time systems and scheduling concepts Real-Time programming with Ada We encourage tutorial participants to bring a laptop on which they can install Cheddar for hands on exercises.


Computer Science Education | 2007

Model Railroading and Computer Fundamentals.

John W. McCormick

Less than one half of one percent of all processors manufactured today end up in computers. The rest are embedded in other devices such as automobiles, airplanes, trains, satellites, and nearly every modern electronic device. Developing software for embedded systems requires a greater knowledge of hardware than developing for a typical desktop application. Despite the great demand for people to develop real-time embedded system software, few universities devote class time to giving students the necessary skills. In this paper I describe a course and stimulating environment for introducing students to this important domain. I make arguments for using real devices rather than simulations and for using a computer-controlled model railroad. I describe the computing and railroad hardware, laboratory assignments, and course project used in my course. Finally, I present a summary of the effectiveness of programming language choice based on an analysis of 13 years of data.


Archive | 2011

Building Parallel, Embedded, and Real-Time Applications with Ada: Communication and synchronization based on shared objects

John W. McCormick; Frank Singhoff; Jérôme Hugues

The arrival and popularity of multi-core processors has sparked a renewed interest in the development of parallel programs. Similarly, the availability of low-cost microprocessors and sensors has generated a great interest in embedded real-time programs. This book provides students and programmers whose backgrounds are in traditional sequential programming with the opportunity to expand their capabilities into parallel, embedded, real-time and distributed computing. It also addresses the theoretical foundation of real-time scheduling analysis, focusing on theory that is useful for actual applications. Written by award-winning educators at a level suitable for undergraduates and beginning graduate students, this book is the first truly entry-level textbook in the subject. Complete examples allow readers to understand the context in which a new concept is used, and enable them to build and run the examples, make changes, and observe the results.


ACM Sigada Ada Letters | 2010

Ada for parallel, embedded, and real-time applications

John W. McCormick

The arrival and popularity of multi-core processors has sparked a renewed interest in the development of parallel programs. Similarly, the availability of low cost microprocessors and sensors has generated a great interest in embedded real-time programs. Ada is arguably the most appropriate language for development of parallel and real-time applications. This tutorial provides an introduction to the features of Ada that make it appropriate in these domains including. High level support for low level programming. The task. Communication and synchronization based on shared objects. Communication and synchronization based on direct interaction. Support for compliance with real-time scheduling theory.


ACM Sigada Ada Letters | 2008

MA1: Ada for real-time and parallel processing

John W. McCormick

Level - Intermediate. This tutorial assumes basic knowledge or experience with the Ada programming language. This tutorial covers two of the major problems with parallel and real-time programming - time management and storage management. Parallel processing, whether on single-processor machines or multiple processors, has many pitfalls. We will examine these potential pitfalls, and discuss ways to avoid common problems, such as deadlocks and race conditions. We will also discuss how to write code that efficiently passes data with other parallel processes. The basics of parallel processing are covered, leading to a discussion and examples using Ada tasking. In addition, the Ada Real-Time Systems Annex is also covered.


ACM Sigada Ada Letters | 2007

MA1: real-time and parallel processing in ada

John W. McCormick

This tutorial assumes basic knowledge or experience with the Ada programming language. This tutorial covers two of the major problems with parallel and real-time programming -- time management and storage management. Parallel processing, whether on single-processor machines or multiple processors, has many pitfalls. We will examine these potential pitfalls, and discuss ways to avoid common problems, such as deadlocks and race conditions. We will also discuss how to write code that efficiently passes data with other parallel processes. The basics of parallel processing are covered, leading to a discussion and examples using Ada tasking. In addition, the Ada Real-Time Systems Annex is also covered.


Archive | 2011

Building Parallel, Embedded, and Real-Time Applications with ADA

John W. McCormick; Frank Singhoff; Jérôme Hugues

Collaboration


Dive into the John W. McCormick's collaboration.

Top Co-Authors

Avatar

Frank Singhoff

University of Western Brittany

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge