Antero Meta Project
INTRODUCTION
The overall philosophy of Antero Camp I is: Finish bringing up items to Base Camp and add key new market driven features. A companion philosophy will be: where necessary, trade verification for developer functionality.
The companion philosophy warrants a rationale. Where we need to modify a verified component in order to fully support existing (or extreme near term) capability for Antero, we will make the mod and a stable development release (i.e., not yet verified). Thus we can provide our first commercial customers with a better product, sooner, banking on the fact that they will not need certification artifacts for some time (i.e., until we summit).
Overview
Reusable Software Component DO-178B SLCD
Below is an excerpt from: DEOSDOC1, Plan for Software Aspects of Certification for Deos, Version 1.11.0, Section 5, which details what will be included in the certification package for each and every Deos component (see 2.7.1).
Table 1 shows the relationship between DO-178B/ED-12B life cycle data and Deos documents. In Table 1, the meaning of "Certification Authority Deliverables" is as follows:
Yes - The artifact is routinely delivered to certification authority personnel. The artifact can be retained for as long as necessary to complete program related activities. The artifacts must be treated as proprietary.
Upon request - The artifact is not normally delivered to certification authority personnel. If certification authority personnel request the artifact it will be provided with the same conditions/restrictions as for "yes".
Open to inspection - The artifact can be viewed by certification authority personnel under the supervision of DDC-I employees, but the artifacts will not be given to the certification authority personnel. Identifying characteristics of the artifact (name, version, etc.) can be recorded. At DDC-I's option, excerpts of the artifacts may be provided with the same conditions/restrictions as for "yes".
| Plan for Software Aspects of Certification | * Plan for Software Aspects of Certification for Deos
|
* DEOSDOC1
|
Yes | |
| Software Development Plan | Software Development and Verification Plan for Deos
|
DEOSDOC2
|
Upon Request | |
| Software Verification Plan | ||||
| Software Configuration Management Plan | Software Configuration Management Plan for Deos | DEOSDOC3 | Upon Request | |
| Software Quality Assurance Plan | Software Quality Assurance Plan for Deos | DEOSDOC4 | Upon Request | |
| Software Requirements Standards | Software Development and Verification Plan for Deos | DEOSDOC2 | Upon Request | |
| Software Design Standards | ||||
| Software Code Standards | ||||
| Software Requirements Data | * Software Requirements and Design for the <component name>
|
component-specific | Open to inspection | |
| Design Description | ||||
| Source Code | N/A | N/A | Open to inspection | |
| Executable Object Code | N/A | N/A | Open to inspection | |
| Review and analysis procedures, test cases and test procedures (not a document) | N/A | N/A | Open to inspection | |
| Results of reviews, analysis and tests (not a document) | N/A | N/A | Open to inspection | |
| Software Life Cycle Environment Configuration Index | Software Life Cycle Environment Configuration Index for the <component name> | component-specific | Upon Request | |
| Software Configuration Index | Software Configuration Index for the <component name> | component-specific | Yes | |
| Problem Reports | N/A | N/A | Open to inspection | |
| Software Configuration Management Records | N/A | N/A | Open to inspection | |
| Software Quality Assurance Records | N/A | N/A | Open to inspection | |
| Software Accomplishment Summary | Software Accomplishment Summary for the <component name> | component-specific | Yes | |
| Tool Qualification | Tool Qualification Data for the Deos Registry Verification Tool | DEOSDOC18 | Open to inspection | |
| Tool Qualification | Tool Qualification Data for the ABC Structural Coverage Analysis Tool | DEOSDOC29 | Open to inspection | |
| Tool Qualification | Tool Qualification Data for the Tracer Tool | DEOSDOC30 | Open to inspection | |
| Tool Qualification | Tool Qualification Data for the <component name> Configuration File Verification Tool | Component-specific | Open to inspection |
Supported Development Environments
Antero Camp I will be hosted on Microsoft Windows. The targeted version will be Windows XP Professional. No attempts to run on Home versions will be made. We will attempt to run on Windows 7 Beta 1. There are not any known differences between Windows Vista and Windows 7 that affect the running of Open Arbor or the MLD. If problems are found, this path will be abandoned. Full Vista and/or Windows 7 support will not occur until a future release.
While Windows is the host, nothing will be done to intentionally precluded other OS environments. In other words, platform independent infrastructure will be used in order to pave the way for support of other host OS environments.
Target Support
Antero Camp I will execute on both native and embedded targets.
Windows Native Targets
The Windows native x86 target will be VMware. NOTE: there will be no Windows target emulation for PowerPC development in Antero Camp I.
Embedded Targets
The embedded targets will have one of the following processors/Cores:
| TBD | |
| 603e, 750, e-600 | |
| Intel-486, Intel-Pentium, Intel-Pentium-II, Intel-Pentium-III, Intel Celeron (P6), Intel Pentium-M, 32bit Intel Celeron-M, AMD-486, AMD Geode, Intel Atom |
The embedded targets will be one of the following platforms:
| Fit-PC (versions 1 & 2) | |
| Ep8280, HPCN, Mac Mini, mac6360 |
Language Support
C/C++ and assembly support will be provided by GNU GCC version 4.2.3.
Debugging
Antero Camp I will include debugging of both executables as well as shared libraries implemented in the supported languages (see 2.3).
License Management
The license manager shall support the ability to manage the entire group of plug in licenses from the Open Arbor Environment. In other words, the debugger, build tool, and any tools that legally can be license managed, cannot operate without first checking with the License Manager in Open Arbor.
The persistence setting shall be 30 minutes.
Further methods should be found to license the “Antero Camp 1” kernel itself, if it is possible, to insure that Open Arbor Tools are being used. In addition, engineering needs to engineer a solution that allows license management to still be performed even if command line or scripting interfaces to the development environment are being used.
Packaging
There are a couple aspects of packaging that will be addressed in this release. These include: 1) Adding perl into the Open Arbor framework; 2) upgrade support; 3) plan to support multiple installed versions of Deos(tm).
In Antero Camp I
Below is a list of packages, that will be installed when one purchases a Deos developer license.
| ansi | The ANSI library for Power PC and X86 targets. | IN | No |
| bsp-common | Common files for writing a BSP. | IN | No |
| deos-extras | Miscellaneous functions useful for debugging and development. | IN | No |
| deosname | Library to convert handles to ASCII strings. | IN | No |
| deos-regcheck-python | Deos Registry checker, python version (supersedes regchk). | IN | No |
| deos-training-process-developer | Training material for the Deos process developer class. | IN | No |
| desk | The Deos software development kit. This package depends on the latest components. | IN | No |
| Desk support for Power PC targets | This is a dummy component that always depends on the latest PPC components provided by the Desk. | IN | No |
| Desk support for X86 targets | This is a dummy component that always depends on the latest x86 components provided by the Desk. | IN | No |
| desk-docs | Documentation for the DESK. | IN | No |
| desk-eclipse | The Eclipse IDE for the Deos software development kit. | IN | No |
| desk-examples | Examples for the DESK. | IN | No |
| desk-python-tools | DESK commands implemented in Python. | IN | No |
| eclipse-platform | The Eclipse IDE platform core. | IN | No |
| ep8280 | EP8280 BSP. This is a dummy package that depends on the latest components. | IN | No |
| ep8280-ppc-platform-boot | Embedded Planet 8280 platform boot. | IN | No |
| ep8280-ppc-platform-configuration | Embedded Planet 8280 platform configuration files. | IN | No |
| ep8280-ppc-platform-pal | Embedded Planet 8280 platform PAL. | IN | No |
| ep8280-ppc-platform-registry | Embedded Planet 8280 platform registry. | IN | No |
| ftpserver | Deos FTP server application. | IN | No |
| gef-runtime | Graphical Editing Framework for Eclipse. | IN | No |
| hyperstart | Hyperstart image constructor. | IN | No |
| inetd | Deos internet deamon. | IN | No |
| integ-tool-command-line | The command line Deos integration tool. | IN | No |
| internet-api-library | The Internet API library for Power PC and x86 targets provides FTP, and ICMP client capability for Deos applications, and is extensible to other protocols, e.g. SMTP and HTTP. | IN | No |
| ioi | The IOI library. This is a dummy package that depends on the latest components. | IN | No |
| ioi-api | The IOI API library. | IN | No |
| ioi-config-tool | The IOI configuration tool. | IN | No |
| ioi-cvt | The IOI configuration verification tool. | IN | No |
| ioi-pipcBuffer | The IOI PIPC ring buffer library. | IN | No |
| ioi-ringBuffer | The IOI PIPC ring buffer library. | IN | No |
| iostream | Basic c++ iostream funtionality. | IN | No |
| kernel | The Deos kernel | IN | No |
| lance-pnp | Deos network driver. | IN | No |
| lauterbach for BSP | Lauterbach Extensions for the Does Kernel & BSP. | IN | No |
| lwip | The lwIP network stack, a replacement for the RTIP stack. | IN | No |
| mac6360 | Apple Mac 6360 BSP. This is a dummy package that depends on the latest components. | IN | No |
| mac6360-platform-boot | Mac 6360 reference platform boot. | IN | No |
| mac6360-platform-etc | Mac 6360 reference platform configuration files. | IN | No |
| mac6360-platform-network | Mac 6360 network tulip driver. | IN | No |
| mac6360-platform-pal | Mac 6360 reference platform PAL. | IN | No |
| mac6360-platform-registry | Mac 6360 reference platform registry. | IN | No |
| mac6360-platform-tools | Mac 6360 reference platform legacy tooling (typically not needed). | IN | No |
| mac-mini-ppc | Apple Mac mini Power PC BSP. This is a dummy package that depends on the latest components. | IN | No |
| mac-mini-ppc-platform-boot | Mac mini (PowerPC) reference platform boot. | IN | No |
| mac-mini-ppc-platform-configuration | Mac mini (PowerPC) reference platform configuration files. | IN | No |
| mac-mini-ppc-platform-pal | Mac mini (PowerPC) reference platform PAL. | IN | No |
| mac-mini-ppc-platform-registry | Mac mini (PowerPC) reference platform registry. | IN | No |
| mailbox-transport-library | The Mailbox Transport Library for Power PC and x86 targets. | IN | No |
| mailbox-transport-library-examples | The Mailbox Transport Library examples for Power PC and x86 targets. | IN | No |
| math-ppc | The Math library for Power PC targets. | IN | No |
| math-x86 | The Math library for X86 targets. | IN | No |
| mysql-deos | Local database server to use with Deos command line XML based configuration tools (Deos Integration Tool, IOI, etc.) to increase tool performance. | IN | No |
| non-componentized-files | Support files required for legacy tools. | IN | No |
| postgresql-deos | Local database server to use with Deos command line XML based configuration tools (Deos Integration Tool, IOI, etc.) to increase tool performance. | IN | No |
| pro1000 | Deos network driver. | IN | No |
| python-based-gui-flashloader | Deos Python based GUI flashloader application. | IN | No |
| rattler8280 | Rattler 8280 BSP. This is a dummy package that depends on the latest components. | IN | No |
| rattler8280-ppc-platform-boot | Rattler 8280 platform boot. | IN | No |
| rattler8280-ppc-platform-configuration | Rattler 8280 platform configuration files. | IN | No |
| rattler8280-ppc-platform-pal | Rattler 8280 platform PAL. | IN | No |
| rattler8280-ppc-platform-registry | Rattler 8280 platform registry files. | IN | No |
| socket-api-library | The Socket API library for Power PC and X86 targets. | IN | No |
| startup-gcc | Deos GCC startup library. | IN | No |
| static-video-library | Display data written to 'video memory' (potentially simulated). | IN | No |
| status-monitor | An embedded Deos application to gather time and space performance information. | IN | No |
| status-monitor-mfc-gui | The status monitor for Microsoft Windows hosts. | IN | No |
| sungem | Deos network driver. | IN | No |
| sun-jre | Sun Microsystem Java Runtime Environment for Windows i586 hosts. | IN | No |
| systemvideostreams | An application that serves telnet connections for remotely displaing video memoory. | IN | No |
| tardebug | Deos host resident debugger support. | IN | No |
| timemap | A Windows application that can interpret status monitor data graphically. | IN | No |
| vmware | VMWare BSP. This is a dummy package that depends on the latest components. | IN | No |
| vmware-pal | VMWare reference platform PAL. | IN | No |
| vmware-registry | VMWare reference platform registry | IN | No |
Launched Install
The DDC-I OpenArbor Wise Installer will launch the VMWare Player installer.
| VMware-player | x86 target emulator for x86 hosts. | IN | Yes |
Not in Antero Camp I
The packages below will not be in Antero Camp I. Refer to the 'Reason' colmun for an answer to the 'why' question.
| abcscat | ABC/SCAT structural coverage analysis tool. | OUT | No | Resources |
| afdx | Rockwell Collins AFDX network hardware support. This is a dummy package that depends on the latest components. | Out | Yes | Need License for Library |
| afdx-driver | The AFDX device driver is responsible for breaking down input packets from the AFDX bus into user-required data. Conversely, the driver builds output packets with data collected from user applications. | Out | Yes | Need License for Library |
| afdx-driver-config | The AFDX device driver configuration file is produced by this workstation tool. | Out | Yes | Need License for Library |
| afdx-driver-cvt | This qualified verification tool is used to ensure that the contents of the AFDX device driver configuration file are correct. | Out | Yes | Need License for Library |
| afdx-library | The AFDX device library provides the direct interface to the Rockwell Collins AFDX hardware. | Out | Yes | Need License for Library |
| afdx-library-cvt | This qualified verification tool is used to ensure that the contents of the AFDX device library configuration file are correct. | Out | Yes | Need License for Library |
| afgs | AFGS BSP. This is a dummy package that depends on the latest components. | OUT | No | Honeywell Specific |
| afgs-boot | AFGS boot. | OUT | No | Honeywell Specific |
| afgs-pal | AFGS pal. | OUT | No | Honeywell Specific |
| afgs-registry | AFGS registries. | OUT | No | Honeywell Specific |
| cmu-mkii-plus | CMU MKII Plus BSP. This is a dummy package that depends on the latest components. | OUT | No | Honeywell Specific |
| cmu-mkii-plus-ppc-platform-boot | CMU MKII Plus boot | OUT | No | Honeywell Specific |
| cmu-mkii-plus-ppc-platform-pal | CMU MKII Plus PAL | OUT | No | Honeywell Specific |
| cmu-mkii-plus-registry | CMU MKII Plus Registry and Configuration Files | OUT | No | Honeywell Specific |
| codetrace | Python tool to extract Deos code trace tags for use by traceaid. | OUT | No | Maintainers Only |
| dcp | DCP BSP. This is a dummy package that depends on the latest components. | OUT | No | Honeywell Specific |
| dcp-x86-platform-boot | DCP platform boot. | OUT | No | Honeywell Specific |
| dcp-x86-platform-configuration | DCP platform configuration files. | OUT | No | Honeywell Specific |
| dcp-x86-platform-pal | DCP platform PAL. | OUT | No | Honeywell Specific |
| dcp-x86-platform-registry | DCP platform registry files. | OUT | No | Honeywell Specific |
| deosbook | The DeosBook DocBook variant for Deos documentation. | OUT | Yes | Maintainers Only |
| deos-maintainer-tools | Dummy package depending on tools required by Deos maintainers. | OUT | Yes | Maintainers Only |
| dhm | The Data Health Monitor (DHM) library. This is a dummy package that depends on the latest components. | OUT | No | Honeywell Specific |
| dhm-config-tool | The DHM configuration tool. | OUT | No | Honeywell Specific |
| dhm-cvt | The DHM configuration verification tool. | OUT | No | Honeywell Specific |
| dhm-library | The DHM library for PPC and X86 architectures. | OUT | No | Honeywell Specific |
| imageapi | Enable dynamic loading of libraries (.so or .dll) in Deos. | OUT | No | Honeywell Specific |
| integrity | CRC calculation routines. | OUT | No | Honeywell Specific |
| lauterbach for Deos Apps | Lauterbach Extensions for the Does Application debug. | Out | No | Resources |
| network | The Deos Network process executable. | OUT | Yes | Honeywell Specific |
| network-fcc-ethernet | The Deos network FCC driver for PPC targets. | OUT | Yes | Honeywell Specific |
| network-pro100 | The Deos network Pro 100 driver for x86 targets. | OUT | Yes | Honeywell Specific |
| produce | The Deos produce/consume library. | OUT | No | Honeywell Specific |
| sandpoint | Sandpoint BSP. This is a dummy package that depends on the latest components. | OUT | No | Maintainers Only |
| sandpoint-boot | Sandpoint reference platform boot. | OUT | No | Maintainers Only |
| sandpoint-network | Sandpoint reference platform network drivers. | OUT | No | Maintainers Only |
| sandpoint-pal | Sandpoint reference platform PAL. | OUT | No | Maintainers Only |
| sandpoint-registry | Sandpoint reference platform registry. | OUT | No | Maintainers Only |
| sfs | SFS file system. This is a dummy package that depends on the latest components. | OUT | No | Not Commercial Quality |
| sfsconfig-exe-win32 | SFS Configuration tool. | OUT | No | Not Commercial Quality |
| sfs-cvt-exe-win32 | SFS Configuration Verification Tool. | OUT | No | Not Commercial Quality |
| sfs-ftp | SFS FTP Server. | OUT | No | Not Commercial Quality |
| sfsftpsupp | SFS FTP Server Support library. | OUT | No | Not Commercial Quality |
| sfs-ide | SFS Server and API library. | OUT | No | Not Commercial Quality |
| sfs-mal-afgs | Obsolete package. SFS Media Abstraction Library For AFGS no longer used | OUT | No | Not Commercial Quality |
| static-socket-library | Obsolete package. | OUT | No | Honeywell Specific |
| tdl | Transfer files, including programs, to and from a target machine using TFTP. It is ARINC 615A, ARINC 665, and ARINC 615-3 compatible, and is extensible to other protocols. This is a dummy package that depends on the latest components. | OUT | No | Not Commercial Quality |
| tdl-custom-library | The target data loader 'custom' library for PPC and x86 targets. | OUT | No | Not Commercial Quality |
| tdl-custom-library-src | The target data loader 'custom' library source. | OUT | No | Not Commercial Quality |
| tdl-integrity-library | The target data loader integrity library for PPC and x86 targets. | OUT | No | Not Commercial Quality |
| tdl-main | The target data loader main process for x86 and PPC targets. | OUT | No | Not Commercial Quality |
| tftp-server-library | The TFTP library for Power PC and x86 targets. | OUT | No | Not Commercial Quality |
| traceaid | Trace tage checking tool. | OUT | No | Maintainers Only |
Demo
Sales and marketing would like presentation material to show potential customers. This includes technical overview slides and a scripted demo program. The demo should be recorded for web download.
Included Intellectual Property
Antero Camp I is a combination of deliverables from other sources, and a creation of an Eclipse plug-in. The Eclipse plug-in is distributed as a jar file rather than source code. When invoked, the plug-in will display the DDC-I copyright information.
Other components that comprise the product are the GCC installations, Open Arbor, and MLD. It is up to those teams to determine that their deliverables do not include unlicensed sources, and display the appropriate copyrights.
Overview
An overview of the projects being worked for Antero Camp I is provided below. The overview simply tracks progress on the milestones for each project. For details on a given project, click its link to go to the project page.
'Must Have' Projects
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete |
|---|---|---|---|---|
| [1] Board Executes Deos and Pings | 30-SEP-09 | TBD | TBD | 59% |
It is highly unlikely that the FitPC2 will make the 30-SEP-09 Bach deadline. Matt has boot code building (using our legacy cygwin environment) and running (boot transitions control to the Deos hyperstat image). Next step is the PAL.
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete | Estimate |
|---|---|---|---|---|---|
| [1a] Grub Boot Support | 30-SEP-09 | 15-AUG-2009 | 15-AUG-2009 | 100% | 240 |
| [1b] Grub Platform in DDS | 30-SEP-09 | TBD | TBD | 4% | 104 |
| [2] U-Boot Board Executes Deos | 30-SEP-09 | TBD | TBD | 0% | 334 |
| [3] Netowrk Driver Standards Recomendation | 30-SEP-09 | TBD | TBD | 0% | 280 |
Due to resource loading, this project will not progress any further for the 30-SEP-09 Bach deadline. [1b] Grub Platform in DDS has been superseded by the FitPC2_x86_BSP_Project (i.e., the FitPC2 will be our first Grub Platform in DDS).
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete | Estimate |
|---|---|---|---|---|---|
| [1] HotDish Enhancements | 08-FEB-10 | TBD | TBD | 0% | 648 |
| [2] Ludefisk Ehancements | 14-ARP-10 | TBD | TBD | 0% | 560 |
| [2] Stella Ehancements | 14-JUL-10 | TBD | TBD | 0% | 400 |
The ability to abstract away inter-target I/O operations is possible with an enhancement to the Deos IOI middleware library. This project is to track that effort.
The major impetus for this project is to support customer development on the HPCN reference platform. This Deos target consists of a dual-core PowerPC architecture. Thus, within the scope of a single platform, two instances of Deos will be loaded and executed.
The goal is for a release consisting of requirements and code changes only, leading up to a stable release. Here "stable" will be defined as all existing regression tests passing on supported targets. Additional tests for new features should be developed, but do not have to be reviewed and accepted. A verified release can be deferred to another project.
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete | Estimate |
|---|---|---|---|---|---|
| [1] Deos IOI Library with Inter-CPU support | 05-OCT-2009 | 09-SEP-2009 | TBD | 0% | 184 |
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete | Estimate |
|---|---|---|---|---|---|
| [1] Eval. Release | 15-JUL-2009 | 05-AUG-2009 | 05-AUG-2009 | 100% | 184 |
The Evaluation Kernel is all that will make the 30-SEP-09 Bach deadline. Further work, if any, will be accomplished in a later release.
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete |
|---|---|---|---|---|
| [1] DDC-I MLD Debugger support for Deos Shared library Debugging | 30-SEP-2009 | 24-SEP-2009 | TBD | TBD |
| [2] Deos Thread Awareness | 05-OCT-2009 | TBD | TBD | 0% |
Due to resource loading, shared library debugging is all that will make it into the 30-SEP-09 Bach deadline.
'Important to Have' Projects
Description
Design notes for the infrastructure to manage multiple kinds of files in a Deos environment. See also https://ddci.zapto.org/Wiki/VFS_Project.
The resulting design should be compatible with, or preferably, form the basis for the POSIX/FACE_Project#File_System.
Complications
The file system will be used in many contexts and must support a broad range of use cases:
- DAL A vs DAL E components at each level.
- A file Server (something that implements a file interface) accessed directly within a process vs RPC to a file server process.
- A process, e.g., a File server, may wish to use both local and RPC based files.
- File ops, esp. reading and writing are handy in both user and supervisor mode.
- E.g., video memory, test results, memory buffers, etc.
- File ops will need to block, and the way blocking is implemented may vary depending on the type of scheduler being used.
- POSIX/FACE vs RMA vs 653.
Namespace Management
Independently of specific file system types, how does Deos translate names to files?
- In UNIX (I think also POSIX), the notion of a file having an identity tied to an inode is deep.
- Utilizing inodes means there must be some entity managing the mapping from inode to related data.
- Such a mapping agent would have to support a broad range of use cases.
- How do directories interact with the file systems?
- Similar to inode issue.
- Either data is kept in inode and directory entry refers to inode, or
- directory entry has data and aliases need to be managed somehow.
- Similar to inode issue.
Mounting
Presumption is that file drivers will reside in a library. Each library will specify the file operations it supports. Mounting will create a relationship between a place in the file system and the driver.
- A library might have more than one driver in it.
- A library probably needs to be passed some initialization information, e.g., clock rates, resource names, etc. Where does that come from?
- Libraries should be able to be loaded into multiple processes.
- How do libraries do common activities, e.g., memory allocation?
Types of Files
Buffers
A FILE which is just a memory buffer would make snprintf() easy, and would also form the basis of performing buffered file writes, ala sockobj.
Video Memory
Using printf() to a VideoStream would be handy.
Devices
- Serial ports
- RAW access to physical media, e.g., disks, flash, etc.
- The file system on the media could then use the RAW device file anonymously.
File System Files
Speculation is that We could acquire file systems that utilize block oriented file access and get higher order file systems with less cost, e.g., https://www.rtems.org/
File Operations
Devices and file systems must implement #Basic_File_Operations. A runtime library will use those basic operations to implement higher level operations in a file independent manner.
A complication is that not all basic file operations will be of an appropriate design assurance level.
The expectation is that basic file ops, perhaps just read, and write, will be direct calls to the FileOperations structure, and other functions may depend on some sort of library implementation. This separation means that basic I/O can be done in varying contexts without encumbering the caller.
Runtime File Operations
This level of operations utilize the #Basic_File_Operations and implement things like fgetc, getline, etc.
One complication is that, for cost reasons, the set of file operations is likely going to be separated into DAL A and DAL E functions. This means that we'll probably be able to re-use externally developed software for the DAL E portion, we'll likely need to take ownership of DAL A functions.
Basic File Operations
Device Drivers will implement basic file operations in a manner similar to Linux (ref https://static.lwn.net/images/pdf/LDD3/ch03.pdf#page=8).
A FileOperations structure will contain function pointers for read, write, ioctl, fseek, mmap, close, open, etc.
A FILE object will contain a pointer to the associated FileOperations, a current position, and a single void* for the FileOperations to use
Desired changes to other components
File system is a means of coordinating the interactions of many pieces of software, not surprisingly this coordination requires some underlying infrastructure. E.g., opening a file probably requires doing some memory allocation. Requiring that driver library loading all happen in the "main" thread is likely to be problematic. It may not be critical to get all of these things fixed at once, but some have already shown to be problematic, e.g., the LwIP apps part of Embedded_Tools_Footprint_Reduction_Project, and the serial driver for LwIP_PPP_Project.
Kernel
- Add adjustNextLibraryStartAddress(delta) as atomic replacement for setNextLibraryStartAddress(delta+getNextLibraryStartAddress())
- Make symbol lookups utilize all process images, not just "needed" list.
- Current restriction to just "needed" is sane, so some means to override current behavior desired.
- Rationale is because varying usage patterns would be easier to deal with if the symbol was context sensitive, e.g.,
- Symbols could be RPC or local based on usage, e.g., socket send() if called from within LwIP would be local, from another process would be RPC based.
- A library could use the malloc() function from the process if the process had an optimized version.
Issues
- Do we have 32-bit file offsets, or 64-bit?
- What relation to existing device configuration standards?
</noinclude>
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete |
|---|---|---|---|---|
| [1] Updates for GCC 4.2.3 | TBD | TBD | TBD | 0% |
| [2] DDS with ABC Build Capabilities | TBD | TBD | TBD | 0% |
| [3] DDS with ABC Report Capabilities | TBD | TBD | TBD | 0% |
The legacy Deos classroom training material needs to be updated to match the latest Deos SDK infrastructure.
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete | Estimate |
|---|---|---|---|---|---|
| [1] Updated Deos Process Developer Training Materials | TBD | TBD | TBD | 31% | 240 |
In order to take advantage of binary re-use, the role of Deos Platform Integrator needs to be understood and practiced. This role is responsible for integrating Deos components on an embedded platform. It is a role distinct from the role used to develop and debug Deos components. While Deos maintainers understand this role, those new to Deos are unlikely able to make the same claim without some training. This project will provide classroom training material to assist users with learning about the Deos Platform Integrator role.
The resulting training material will emphasize and familiarize students with:
- The Deos Platform Integrator Guide
- The creation and analysis of DEos hyperstart images
- RAM layout
- FLASH layout
- Virtual Address Space (VAS) layout
- Memory Management Unit Page Table Consistency
- Integrity Checks
- Deos Platform Registry Verification
- Using and qualifying the Deos regchk tool
- Deos kernel requirements on the registry
- Deos kernel time and space overheads and time partitioning
- Deos application specific registry requirements
- Embedded platform specific registry requirements
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete | Estimate |
|---|---|---|---|---|---|
| [2] Platform Integrator Classroom Material | TBD | TBD | TBD | 0% | 240 |
Deos LwIP Antero Camp I Project
A guide shall be created that explains the differences between Deos and Arinc 653 styles of OS’s (including specifically VxWorks-653 and Green Hills Integrity-178B) and also that maps the kernel facilities of APEX to Deos. This should be sufficient that an engineer or developer familiar with Arinc 653 and APEX (and the specifically the WindRiver and Green Hills versions) should be able to be port applications written for Arinc/APEX to Deos.
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete |
|---|---|---|---|---|
| [1] ARINC 653 Porting Guide | TBD | TBD | TBD | 0% |
Deos Middleware Documentation Project
7.6.1 kernel Cert Work
| Test Reviews | Bill, Gary, Karl, Ryan | Done |
| ABC SCAT Qual | Ryan | Done |
| Portal Analysis | Gary | Done |
| V-Table Analysis | Bill | Done |
| Before the following can be done the Requirements Coverage analysis' traceability needs to be confirmed and SCAT Qual need to be completed | ||
|---|---|---|
| Formal build (including Conformity inspection) | Ryan | Done |
| Before the following can be done the Formal build needs to be completed | ||
| Executable Object Code Analysis Note: The howto needs some work here. | ||
| - linker invariants Analysis | Gary | "Done" |
| - ppc stwcx. instruction Analysis | Bill | Done |
| - BIT RAM tests Analysis | Aaron | Done |
| - BIT RAM decode tests Analysis | Aaron | Done |
| - Required Pad Pool Analysis | Bill | Done |
| - Startup CRC Analysis | Bill | Done |
| B-Tree analysis | Karl | Done |
| Review of above. | Gary | Done |
| Requirements Coverage Analysis | Karl | Done |
| Before the following can be completed all of the above analysis need to be completed | ||
| Run For Score | Ryan | Done |
| - Test Results Review | Bill | Done |
| Before the following can be done the Run For Score needs to be completed | ||
| Structural coverage analysis | Aaron & Ryan | Done |
| Before the following can be done the B-Tree analysis and Run For Score needs to be completed | ||
| Stack analysis | Ryan | Done |
| Before the following can be completed all of the above tasks need to be completed | ||
| Back end Docs | ||
| - SLCECI | Adina | Done |
| - Review of above | Gary | Done |
| - SCI | Adina | Done |
| - Review of above | Gary | Done |
| - Open Problem Reports List | Ryan | Done |
| - SAS | Gary (construct the draft) | Done |
| SAS requires a note about non-support of non-CLFLUSH processors | ||
| Populate the cert archive | Adina | Done |
'Nice to Have' Projects
There is a need for a commercially available PowerPC single core board to aid our customers in evaluating our product and to begin prototyping. The AiTech C108 board, which includes a 1.4 GHz PowerPC 7448, will showcase single core PowerPC performance.
Note. This BSP does not need to be DO-178B verified.
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete |
|---|---|---|---|---|
| [1] Board Executes Deos and Pings | TBD | TBD | TBD | 0% |
There is a need for a commercially available PowerPC dual core board to aid our customers in evaluating our product and to begin prototyping. The Curtiss Wright 184 board, which includes a 1.0 GHz PowerPC 8641, will show dual core and AMP.
Note. This BSP does not need to be DO-178B verified.
| Milestones | Due Date | Estimated Delivery | Delivered | Percentage Complete |
|---|---|---|---|---|
| [1] Board Executes Deos and Pings | TBD | TBD | TBD | 0% |