C EXECUTIVE COURSE OUTLINE


JMI Software Systems offers a standard training course for C EXECUTIVE and related products. In addition to a comprehensive 2 day presentation of the products, a system design session is offered. During this optional 1-to-3 day extension, fundamentals of data flow design, structured design, and related methods of software design are presented, followed by a design (or design review) of the customer's application as it would be implemented with C EXECUTIVE. Data flow diagrams, state tables, and pseudo-code are used to document the design.

Please refer to the description of our design method which has examples of data flow diagrams, pseudo-code, and sample code.

The application design course extension has been used by customers designing color printers, multi-function FAX/laser printers, FAA radar systems, laboratory instruments, communication systems, process control systems, routers, and a wide variety of other real-time embedded applications. Please refer to one customer's comments on this course.

The class can be taught either at JMI's offices or at the customer's site. There is no per-student fee; there is only a standard fee for the instructor and any travel expenses.

Note: depending on class experience and customer needs, certain sections can be deleted and other sections expanded.


Days 1 and 2:


C EXECUTIVE Overview

Requirements of real-time embedded applications
C EXECUTIVE design goal - data flow design implementation
C EXECUTIVE implementation goal - performance and portability
UNIX and C influence on design and features

C EXECUTIVE software philosophy

Subset of UNIX system calls
Standard I/O and dynamic I/O redirection
System calls for real-time task coordination
Complete and natural C environment

Internal Design

Concept of task and process
Simple C task model
Shared text facility
Scheduler algorithm(s)
General interrupt handling
Physical I/O and device interrupts
Logical I/O and device configuration
Data queues, events, semaphores, signals
Program level I/O
Compatibility with standard C environments
File system
Device driver tutorial

Details of System Calls

Each system call is reviewed in detail, using examples

User Configuration

System configuration tables
Adding drivers for serial and block devices
Clock handler
System options
Installation and User Procedures

Day 3 - Morning

Programming Guidelines

C scope rules and information hiding
Assembly language interfacing
Style rules

System Design

Data flow design fundamentals
Data dictionaries
Layered data flow diagrams
When and how to use state tables
Pseudo code as a design and documentation tool
Hierarchy charts as a documentation aid
Mapping data flow designs into C EXECUTIVE

System Testing

Desk checking design and code
Simple case walkthrough
Black box testing
Binary searching
Modular testing and isolation
Built-in diagnostics and trace
Modular testing on host machine

Managing Projects

Early prototyping strategies
"Scaffold" modules
Design standards
Documentation standards
Coding style
Common headers
Modularity

Day 3 - Afternoon

High Level Data Flow Design of Customer Project

Day 4

Detailed Design of Customer Project
Major Module Pseudo Code
C EXECUTIVE system configuration

Go to JMI home page

Copyright © 1996, 1997, 1998 JMI Software Systems, Inc.
Web page created by Ed Rathje - last updated July 21, 1998.