Site Map
DDC-I, # 1 in Customer Care     · Safety Critical Embedded Software Development
    · Customized Tools & Services Tailored to Fit Your Needs
    · Legacy Software System Modernization
    · Ada Compilers, C Compilers, C++ Compilers, JOVIAL Compilers, FORTRAN Compilers
 



November 2002

Products / Services

 
   
 

Products

 
   
 

 

 
   
 

Custom Services

 
   
 

 

 
 

Customer Spotlight

 
   
 

"Their support has been phenomenal. They helped us get a handle on the upgrade process when we needed guidance. Their technical lead has been here more than once during the upgrade, and to me nothing demonstrates a vendors’ dedication and determination like their top technical guy coming in at eight in the morning and leaving at nine at night just to fix your problems." 

Guy Yeager, Raytheon JSOW/GEU
Principal Software Engineer
Software Team Lead

 
   
     
Inside this Issue

 

FAA Certification - Tips from the Experts

By Tony Baghai
Systems and Software DER, Enea TekSci

Certification activities are typically performed either because certification is required for a specific product to be sold, or there is a product whose quality and marketability could be enhanced via Federal Aviation Administration (FAA) "certifiability". Such certifiability can provide pre-determined and approved compliance with FAA avionics standards. The principle standard for software certification activities is RTCA DO-178B, (invoked using AC20-115B) which governs avionics software and systems.

The FAA requires most airborne commercial software operating within US and worldwide airspace to comply with DO-178B (see RTCA DO-178B and contact your local Aircraft Certification Officer/Designated Engineering Representative (ACO/DER) for specific details). Basic documentation of your related software processes is required for each phase of the software lifecycle, and those processes must be defined prior to initiating that phase and followed during that phase. Checklists are not formally required by DO-178B; however, the FAA and your ACO/DER will require that you prove conformance to DO-178B and your approved processes; this conformance is very difficult to achieve and prove without checklists. In reality, 98% of all DO-178B avionics projects need and use checklists.

TekSci’s DO-178B Processes are meant to provide the templates/framework for customization to meet the software process requirements of DO-178B. There is no single software process that is perfect for all organizations and projects! Each project will vary somewhat in how it chooses to define, implement, or augment the TekSci processes. Factors to consider include project complexity, expertise of staff, development methodology, tools/environment, and technology. The TekSci processes provide the basic elements of an avionics project compliant with DO-178B, and a typical TekSci client tailors (or hires TekSci to tailor) these processes by five to ten percent to meet their own project needs.

Three things to remember with respect to DO-178B:

  • Say what you are going to do – develop plans
  • Do what you say – follow the plans
  • Prove it - maintain records

About the Author
Tony Baghai, FAA Systems and Software DER
tony.baghai@teksci.com
www.teksci.com
480.753.9200(Voice)

Mr. Baghai has been involved the development of Safety Critical embedded systems and software for 15 years. He has been a Designated Engineering Representative (DER) for the U.S. Federal Aviation Administration (FAA) for the past 10 years, specializing in Embedded Systems and Software. He has worked with most major Avionics and Telecommunication companies, throughout the world. Mr. Baghai has a Masters of Science in Aeronautical and Astronautics from the University of Washington.

[ Back to Top ]

DDC-I’s DACS Network Bridge Delivers Valuable Developer Connectivity by Enabling Remote Management for Multiple Targets

DDC-I announces the addition of DACS Network Bridge to their proven DACS programming environment for WinNT hosts. Available for DACS-80x86, DDC-I’s Ada Compiler Systems for 80x86 and Pentium processors, the Ethernet-based network bridge addresses the increasing need among developers to maximize geographically diverse programming resources while keeping project costs to a minimum.

"Since cost reduction is the driving force in embedded systems design, the ability of the DACS Network Bridge to allow a single programmer to manage multiple targets from a single remote site using existing network resources can deliver significant cost benefits straight to a project’s bottom line," explains DDC-I DACS Product Champion Thorkil Rasmussen.

Integrated with the current DACS Windows cross toolset, the host tools communicate via a network to a "bridge" PC, in an engineering lab for example. The debugger and loader connections to the targets are managed by software on the bridge PC which directs the messages over high-speed connections to the appropriate targets. Switching targets requires only a user-generated software command from the debugger.

In addition to empowering remote programmers, such software switchable targeting reduces the risk of debugging hardware connection issues when swapping targets. A configuration file on the bridge PC maps serial ports and communication options and specifies network sockets. Target connections can be reserved for specific users, while simple queries report connection status.

"As projects become larger and budgets grow tighter, the DACS Network Bridge is yet another example of how DDC-I is working to create genuinely beneficial productivity tools that address the real needs of the embedded systems programming community," concludes Rasmussen.

[ Back to Top ]

On the Front Lines

Christopher D. Parker
Field Application Engineer
DDC-I, Inc.

 

As a Field Application Engineer for DDC-I, Inc., Christopher Parker is responsible for customer care activities, systems configuration, installation of compiler systems and technical support to the sales team. Chris has additional responsibilities for Computer Operations, QA, Shipping and Help Desk which includes strategic planning for internal computer and network operations, quality assurance for products released to customers, and management of help desk operations.

A valuable addition to the DDC-I team, Chris has an extensive, yet broad background. He has considerable experience in numerous hardware, OS, networks, communications, development software and languages. Technical skills include project management, systems design, programming implementation, systems integration, corporate training, project planning and technical writing. Chris is a graduate of Kent State University, holding a B.S. in Mathematics, with specialization in both Software Systems Analysis and Theoretical Computer Science.

Soon to be a father once again, Chris and his wife Rebecca are expecting their third child in March 2003. He enjoys spending time with his family including his two sons Timothy and Jacob. Other "non-technical" hobbies include landscaping, outdoor activities, travel, biking, motorcycling & hiking.

For more information on Front Liners and DDC-I's organizational structure click here.

[ Back to Top ]

3rd Party Update

Highly reliable engineers, for high reliability software

TekSci is pleased to announce the public availability of its proprietary DO-178B & Certification Training Seminars. As the largest independent safety-critical software consulting company in the U.S., TekSci has over 2,000 person-years of embedded software expertise via RTCA-DO178B: TekSci’s 100+ software engineers and DERs have all contributed to the expertise and valuable knowledge available through these seminars. Our next session is November 14-15 in sunny Phoenix, Arizona.

Additional information: http://www.teksci.com/teksci/news_ustraining.asp
Hotel information: 
http://www.teksci.com/teksci/phx_rec_hotels.asp
Or call: 480-753-9200.

[ Back to Top ]

Tech Talk:

Floating Point Support for DACS-80x86

Ada includes floating point types and operations. However, the ability of a compiler to generate floating point code and the ability of the hardware to execute such code are distinct. The DACS-80x86 family of compilers fully support code generation for floating point types and operations. However, floating point instructions can only be executed by target computers which include support for such instructions. This support is either provided by the hardware or via floating point emulation software.

Hardware support is in the form of an off-chip or on-chip floating point coprocessor (Numeric Processor Extension or NPX). Off-chip floating point processors are usually called 'floating point coprocessors', 'numeric coprocessors', or just 'coprocessors' for simplicity. If your target computer provides a suitable co-processor, and you intend to use floating point operations, then it is mandatory that the DACS linker's 'npx' option is enabled (which it is by default). This option will force the linker to include code in the resulting application that initializes the coprocessor. Alternatively, if your target computer does not include a numeric coprocessor then it is mandatory to specify 'nonpx' to the linker.

Attempting to perform a floating point instruction on a target which does not provide floating point support will normally result in a lock-up while attempting to initialize the coprocessor. When debugging, this will show up as a lock-up immediately after the program has loaded, and before the source is being displayed. In that case, try using /nonpx when linking (assuming there are no floating point operations in the application).

Software support for floating point operations is in the form of emulator software. This software is typically implemented as a set of library routines which receive control when an interrupt occurs at IDT 7. Typically, such packages are marketed as 'transparent' to the application program. While this is a valid claim for the typical user of such packages, it is important to understand that the software engineer must properly install, initialize, and transfer control to/from these routines. It is likely that the software engineer will have to manipulate the linker or build a custom loader to place the emulation software at the proper location in memory. Also, any initialization will have to be explicitly performed prior to using the floating point emulation routines. Finally, the details of initializing interrupt vectors, loading registers, providing Ada interfaces, and other control transfer issues will have to be resolved. Once configured, such software emulation should act transparently, but configuration may be a significant activity.

[ Back to Top ]

Patterns for Building a Beautiful Company

By Linda Rising

You know what it’s like to walk through the door of a beautiful company. You feel at home there. It doesn’t matter whether you’re a delivery guy or a customer or a new hire or someone who’s lost, looking for directions. The people seem happy and open to you. You think you’d like to work there yourself.

The saddest part of this article is that many readers will not know what I’m talking about.

As we watch the Enron and WorldCom dramas unfold, we see a disturbing leadership pattern and its result. It seems that for these leaders, profit is everything. There are so few businesses built on a foundation of possibility, integrity, and beauty. The authors of this unusual pattern language believe that to make money, you have to believe in the product or service you offer and care for the customers or clients you serve. That isn't a religious argument; it's a business lesson. When a company cares passionately about what it does and the people they do it for, magic happens. Beautiful companies value individuals--whether as customers or as employees; they are places that are transparent and collaborative, that respect relationships as the bedrock of all good businesses, companies where fairness is a given, companies that value what's ethical above what's expedient.

The article will describe a collection of patterns -- a toolbox for building a beautiful company. The authors believe that these patterns will transform the way people create companies and work together.

Let’s first meet the authors. There are four: Caroline King, Daniel May, Steve Sanchez, and yours truly. You might know I would be part of this—anything to do with patterns! For those who need a gentle introduction to patterns, please see Patterns-One Way to Solve the Reuse Problem, published in DDC-I Online News, Volume 2-Issue 7, September 2001.

Caroline has over 20 years experience as a business consultant for small business owners. Steve has been the owner of Master Marble in Phoenix, Arizona since 1990 and has been involved in business coaching and consulting for over seven years. Daniel has written two pattern collections and has experience with patterns and with beautiful companies. Since the experience of the authors is with small companies, that’s our target audience, however, we believe that many of these patterns can apply to large companies as well.

As you hear about the patterns in our collection, I hope you might be moved to contribute. Tell me about your experiences with beautiful companies. We are interviewing entrepreneurs to capture their knowledge and build on the expertise of the authors. Good stories are always welcome!

Here’s an outline of the patterns we have so far. These are "fledglings" and just beginning to fly. We are missing many others and if you can see some obvious ones—we would like to hear that!

Beautiful Purpose. Chart the direction of your beautiful company by defining your purpose—not a product definition—a description of something deeper.

Beautiful Leadership. To grow your beautiful company lead from the heart and build soul into the organization. Start by understanding yourself.

Know Your Limits. In a small organization, you think you have to know everything but it’s important to realize that no one can do everything.

The Right Coach. When you’re stuck and don’t understand what’s holding up progress, find a good business coach.

Beautiful Environment. Create a workspace for your beautiful company where people will feel like they’re coming home, where they will feel safe and free to grow.

Organizational Integrity. A Beautiful Environment depends on the balance between business reality and preservation of human values. Your company and everyone in it must live by its values.

Beautiful People. To find the right people and use their talents in the best way, find The Right Person for the Job. Appreciate their Diverse Gifts, ensure their Maximum Performance, and don’t be afraid of a Graceful Exit.

The Right Person for the Job. To find Beautiful People, let everyone know the kind of person you want. It’s a Small World. Trust your instincts and look beyond the resume. Set up an Audition.

Audition. To decide whether to hire someone, let him work for a short time to see if you have the right fit.

Diverse Gifts. Build your company from a wide variety of people using the diverse gifts people bring.

Maximum Performance. To get the best performance out of your people, treat them as volunteers.

Namaste. Help your employees discover how good they are.

Graceful Exit. Organizations are made up of people and people are constantly changing. Set up the expectation that separation is a natural occurrence.

Changing Conversations. When dealing with people whose values seem different from yours, change the conversations you have. Instead of reflecting back the unpleasantness, create a new intention and let them know you are sincere.

Beautiful Customers. Be authentic and expect your customers to be authentic.

Beautiful Outsiders. Treat those your company will interact with by explaining your intention and living up to it.

Let’s talk about some of the non-obvious patterns—those that were a surprise to me. I’ve never run a small business (except my own, with one employee!), so I’ve never been faced with the dilemmas of hiring and firing. The essence of the patterns: The Right Person for the Job and Graceful Exit is openness. When you are looking for an employee, tell everyone you know who might have a connection to the person you are looking for. This powerful, but unusual approach, is based on the phenomena of "six degrees of separation" or "small world." Back in the 1960s, a fellow named Stanley Milgram gave letters to people in an experimental group. The letters were addressed to people in a target area. The people were to find the shortest path to the designated recipient by sending the letter to someone they knew personally who might be able to get the letter closer to it’s goal. What Milgram found was that on average the letters reached the intended individual in six hops or less. There’s a follow-up experiment by a group at Columbia University using e-mail. If you’d like to participate, check out their web site:

http://smallworld.sociology.columbia.edu/

Whether Milgram’s result is actually true or whether it will be verified by the sociologists at Columbia is not as important as the result of this pattern. It’s the experience of many successful entrepreneurs that they found The Right Person for the Job simply by telling their employees, their family, their friends. This holds for many small companies and probably for some large companies as well. If you ask people in your group how they found their current job, I’ll bet many of them will say, "My brother-in-law knew there was an opening and he told me where to send my resume" or "I stop by the coffee shop every day after class and last month the waitress, who’s become a good friend, told me they were looking for someone part-time and thought I might be interested."

I think many savvy employers know this pattern but making a conscious decision to apply it might increase the ability of entrepreneurs to find the Right Person for the Job.

Now that you’ve found him, it seems strange to talk about separation when the connection hasn’t really been made but that’s the essence of Graceful Exit.

People change, businesses change, the world changes. These days, most people may be right for a job for a while but as a result of changes in any of the parameters, things might not be just right any longer. Don’t be afraid of that. Expect that. Prepare for that. If you are the entrepreneur, be open with your new hire and work together to define a graceful exit procedure that will satisfy both of you. If you are the new hire, you will feel better about taking the job, knowing that you are beginning an honest, open relationship that will keep good things going even if you leave.

Let’s close with a look at another surprising pattern—Maximum Performance. No, I don’t like the name, either! The essence of the pattern is that even in these tough times, employees have a choice. They have a choice about where they work. They have a choice about how much of themselves they put into their work. They really are "volunteers" in any sense of the word. To get the best performance from your employees, treat them as volunteers. Realize that you don’t control an employee. It’s your job as manager or leader to create the best possible environment. There must be purpose; there must be vision; there must be objectives. The desirable situation is a working relationship where each employee buys into the objectives and contributes willingly and with enthusiasm.

Writing a collection of patterns for something as startling as a beautiful company will take an enormous amount of work. The quality of the work depends on the good feedback. We are hoping that you, our reader, might contribute to that. And, also, of course, send us a story!

About the Author
http://www.lindarising.org
risingl@acm.org

Linda Rising has a Ph.D. from Arizona State University in the area of object-based design metrics. Her background includes university teaching as well as work in industry in telecommunications, avionics, and strategic weapons systems. She is the author of numerous articles and has published three books: Design Patterns in Communications, The Pattern Almanac 2000, and A Patterns Handbook. She is currently writing a book with Mary Lynn Manns: Introducing Patterns (or any Innovation) into Organizations, to appear in Fall 2002. 

[ Back to Top ]

 

   
DDC-I, Inc. -  USA - Phone: (602) 275-7172