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
 



September 2003

Products / Services

 
   
 

Products

 
   
 

 

 
   
 

Custom Services

 
   
 

 

 
 

Customer Spotlight

 
   
 

"I found their engineering and support staff to be extremely responsive and enthusiastic. I received several calls made by their engineers at 5:00 a.m. Arizona time, just so it would match my local time. They provide better visibility than I think any of the other vendors…that I’ve dealt with."

David Farlow,
Lockheed Martin
Mk41 VLS
Staff Engineer

 

 
   
     
DDC-I Online News
Inside this Issue


Embedded C++ Now Supported By DDC-I’s SCORE® IDE

Phoenix, AZ — August 22, 2003 — DDC-I today announced the addition of support for the Embedded C++ programming language to the latest release (v2.4) of the versatile SCORE® (Safety Critical, Object-oriented, Real-time Embedded) multi-language IDE (Integrated Development Environment).

"Embedded C++ is a subset of the full C++ language focusing on support for embedded applications, offering most of the functionality of C++ without the complexities and overhead associated with that language. Adding support for Embedded C++ not only offers more options to our customers developing safety-critical systems, it also complements our C compiler by adding new C++ capabilities," explains David Mosley, DDC-I Engineering Manager and Product Champion for SCORE®.

According to Mosley, omitted from Embedded C++ are multiple inheritance, virtual base classes, run-time type identification, exception handling, namespaces, and dynamic casts. While the Embedded C++ subset also calls for the exclusion of templates, the DDC-I implementers (long familiar with the usefullness of Ada generics) included support for templates. However, in keeping with the spirit of Embedded C++, the complexity of the templates supported is limited and the Standard Template Library from C++ is not supported. Nevertheless, what remains is a fully functional subset which provides the embedded application developer the capabilities they require.

Embedded C++ fits snugly under the SCORE® umbrella with the existing C and Ada compilers, using a single interface to provide multiple-language application development and debugging. Based on Win32 and OSF/Motif, the Windows-oriented "point-and-click" character of the SCORE® GUI incorporates project management tools, online help functions, tool activation and a number of other efficient features, with a command-line interface option always available.

The nature of SCORE's architecture offers the ability to easily retarget legacy applications and fast retargeting to future architectures. Major benefits include: development cost reduction via shorter design cycles, better time-to-market for new and/or redesigned products, fewer total programmer hours per project, automated testing utilities, overall risk reduction through improved code reuse/upgrade ability and simplified migration from Ada 83 to Ada 95, or from Ada to C/Embedded C++.

"DDC-I has broad experience with developers in the safety-critical embedded systems field in projects of every size, and our focus as we continue expanding the capabilities of SCORE® remains getting the best possible application performance out of each target processor at the lowest possible cost to the customer," Mosley concludes.

[ Back to Top ]

3rd Party Update

BAE SYSTEMS Platform Solutions
600 Main Street Room 786
Johnson City, NY 13790
(607) 770-3582
(607) 770-2954 (Fax)

The Real-Time Operating System Buying Decision 

BAE SYSTEMS is a leading developer of complex systems for customers worldwide. As such, we continually evaluate and select real-time operating systems. Our software and systems engineers have years of experience making the same kinds of decisions facing you, the RTOS buyer. We recognize that the needs of every customer and every program are unique. And above all, we know that you need facts, not hype, to make a sound decision.

So let’s discuss the buying decision…

Performance. Some vendors will quote numbers to you that have little relevance to your application. The fact is that the RTOS must have the performance you need for your application. While some of the numbers you will see in the sales literature can sound impressive, typically, the performance you need is related more to system design than it is to those numbers. The RTOS vendor should be able and willing to support your system design for the performance you need.

DO-178B "Level A Certifiability". DO-178B provides guidelines for the production of software for airborne systems and equipment. It discusses those aspects of airworthiness certification that pertain to the production of this software used on aircraft and aircraft engines. When an RTOS has attained "Level A certifiability," it has to have undergone a thorough review by a Federal Aviation Agency-designated engineering representative (DER). The DER follows a disciplined process to ensure that the objectives of Level A of the DO-178B standard have been met.

FAA certification. The FAA (acting through certified DERs) certifies systems, not software. To certify a system, the DER reviews process, software and system documentation and test results against FAA guidelines. The software component of this review consists of the documentation of the RTOS, as well as the applications code, including the artifacts created during the development process.

Software maturity. The development steps and documentation suggested in DO-178B closely align with the software engineering processes recognized by the Software Engineering Institute as maturity levels 3 and above. The Capability Maturity Model (CMM) for software is a model for judging the maturity of the software processes of an organization. When making your choice of RTOS, be sure to check on the vendor’s SEI maturity level.

Tools. There is a difference between "one-stop shopping" and getting the right combination of development tools that you need to get the job done. In today’s environment requiring extremely short time-to-market solutions, a software developer does not want to be tied to one solution. Nor do software engineers want to be locked into having experience with only one development environment. Make sure that the RTOS you choose is compatible with multiple vendors’ tools.

Life-cycle costs. It is easy to be swayed by advertising touting "royalty-free" software. As nice as that would be, this doesn’t mean that there is no cost to the customer. More important, each developer should look at overall life-cycle costs, including development license fees, support fees, run-time fees and any add-ons. Other considerations are:

  • The development environment. Does the vendor require you to buy its development environment in order to use their RTOS? If so, you are missing the opportunity to use other, perhaps more productive, better-supported, and less expensive development environments.

  • The RTOS design. Some ARINC-653 RTOS implementations require software in previously tested partitions to be recompiled when new applications are added to new partitions. The testing costs associated with such an approach can be huge — and even higher in safetycritical applications.

  • The certification package. Creating a certification package that will meet rigorous system audits is not a simple task. It should nott be taken lightly, since the failure of the overall system could have catastrophic consequences. The documentation in an RTOS certification package has to support the system certification. Before purchasing a certification package for an RTOS, review its contents and understand the development process used to create it.

Consider the CsLEOS™ Real-Time Operating System

Performance. CsLEOS™ RTOS performance has been proven on the C-17 program and on the Pegasus unmanned air vehicle. The experienced CsLEOS™ RTOS product team is prepared to support you with the performance you need for your application.

DO-178B "Level A Certifiability." Many of you — our customers — were involved with the development of this standard. We recognize this because we also helped to author the DO-178B standard. No other COTS RTOS vendor has this pedigree or experience base.

Many RTOS vendors use standard commercial software development practices to develop and test their products. They are only recently beginning to look at what the DO-178B standard means to them. Consequently, they are trying to force-fit their prior software design methodologies into the DO-178B process.

The CsLEOS™ RTOS product team has followed the software development practices advocated by the DO-178B document since before the document was released, continues to do so, and will do so in the future (after all, as a major systems supplier, the CsLEOS™ RTOS is our own operating system of choice, too). We understand your DO-178B needs better than any other COTS RTOS provider. Because developing systems certified to DO-178B Level A standards is our legacy.

FAA certification. Because we developed the CsLEOS™ RTOS following DO-178B, Level A guidelines, we are able offer a standard certification package covering the entire kernel, the ARINC 653 applications programming interface, and the processor support package. As with any RTOS, the user will need to produce certification artifacts for system-unique software. The CsLEOS™ RTOS certification package has already undergone the DER review, saving our customers the expense. You, the customer, are provided with support for the RTOS components of the artifacts you need for your system certification. The CsLEOS™ RTOS certification package results in lower risk to you and significantly lowers your system certification costs.

Software maturity. BAE SYSTEMS is proud to be one a handful of companies with software teams working at SEI CMM level 5, with more than 60% of our software engineers at Level 4. What does this mean to you? You can be confident that the software behind the CsLEOS™ RTOS was developed using high-quality development processes. You can be confident that the CsLEOS™ RTOS was developed to the highest levels of configuration control and management, independent software quality assurance, and thorough software testing methodologies — all through a rigorous software development process.

Tools. Since the CsLEOS™ RTOS was designed to be independent of any specific development tool, our customers decide which development environment to use. Of course, we have alliances with tool vendors to help them provide even better products, but our customers buy a vendor’s toolset because it is their tool of choice, not ours.

Life-cycle costs. BAE SYSTEMS Platform Solutions has developed scores of safety-critical systems requiring FAA certifications, for Boeing and Airbus civil aircraft as well as for General Electric, Rolls Royce, Snecma and CFM International aircraft engines. We have developed flight controls and avionics for virtually every aircraft flown. Our development processes have met the tough standards of the Department of Defense as well as the United Kingdom’s Ministry of Defense.

When it comes to understanding safety-critical aircraft hardware and software systems, BAE SYSTEMS has no peer. What this means to you, as an RTOS buyer, is that we understand all the issues you face in having your product certified, not just those related to the RTOS. 

The approach taken in the development of the CsLEOS™ RTOS reduces your overall life-cycle costs. The CsLEOS™ RTOS approach to implementing the ARINC-653 open operating system standard reduces your testing costs and decreases your software development costs. The CsLEOS™ RTOS employs multiple scheduling modes, multiple partition durations, separately loadable images, and real-time extensions that add design flexibility not offered by any other COTS RTOS.

Our tremendous legacy supporting safety and flight critical systems gives the CsLEOS™ RTOS product team the capability to provide you with both software and systems support for the life of your product — at a level of competence unparalleled by anyone in the COTS RTOS industry!

The CsLEOS™ RTOS is in it for the long haul … and for you.

Trademarks referred to in this paper are the property of the identified trademark owners.

For more information about the CsLEOS™ RTOS, see our web site at http://www.csleos.com, contact us at 607-770-3082 or e-mail csleos-support@baesystems.com.

© Copyright 2003, BAE SYSTEMS Platform Solutions, All Rights Reserved.

[ Back to Top ]

DDC-I Offers Current TADS-68xxx Customers A Budget-Conscious Windows Migration Package

Phoenix, AZ — August 15, 2003 — Streamlining the transition from VAX or UNIX-hosted development systems for their existing TADS user base, DDC-I today announced the availability of their Windows™ (NT/2000/XP) migration package, now also available for TADS-68xxx customers. Fully customizable, it offers current TADS (68xxx, 1750A & i960) customers a direct, affordable migration path to the most popular PC-based network and enterprise computing platform.

"Allowing customers to define which tools and support they require, rather than handing them a rigid list of tiered options, is why we created a flexible TADS for Windows migration package," explains Harold "Bud" Blum, DDC-I Senior Software Engineer and Product Champion for the TADS product line.

Customers dictate their package parameters to create a least-cost migration path with DDC-I’s expert guidance. To keep recurring costs level, software support from any current license agreement carries over, and the customer has complete freedom to select the quantity of seats to rehost and whether to upgrade their software versions during the migration. All necessary license transfers and keys to replace current TADS licenses are included.

Two days of onsite consulting are also included in the package — at no additional charge — to assist with rescripting, tool adaption, memory and segment set up, related Ethernet work, board support packages and a final project report with detailed recommendations.

"Our customers safety-critical software development tools have to keep pace with the latest development environments, and upgrading the TADS products to the Windows platform gives them the ability to handle such taxing upgrades with minimal disruption to the development environment they depend on," concludes Blum.

[ Back to Top ]

Keeping the Customer Happy

By Linda Rising
risingl@acm.org
www.lindarising.org

When I teach a class on Customer Interaction Patterns, I always emphasize the "root" pattern, which I believe is the key to all customer interaction. This pattern is called "It’s a Relationship, Not a Sale." I described this pattern in a previous article [http://www.ddci.com/news_vol3num2.shtml#Customer]. However, the pattern that usually generates the most discussion in the class is called "Customer Relief," the pattern that addresses the challenge of dealing with an angry customer.

We all know that it costs more to attract new customers than to keep the old ones. All the investment in attracting and keeping customers can be lost in a single moment—when the customer has a problem. How customer problems are handled and how your customer feels during the process are critical in your customer relationship management. If customers cannot get the help they need, or the process is laborious and frustrating, there is a good chance you will lose them.

No one likes to get a complaint from a customer, but it’s worse when customers don’t complain. If some customers are walking away unhappy without letting you know, then you’re in trouble. The damage they can do to your business is a lot worse than if they let you know they’re dissatisfied. What they don’t tell you, they’ll tell other people—a lot of other people. An unhappy customer spreads a virus of negativity about your business [Abrams02].

A customer who never tells you about a problem doesn’t give you a chance to correct it. If a salesperson is unpleasant to me and I don’t let the manager know, I allow that person to continue to do more harm. If I complain, then the manager can train, counsel, or if necessary, fire the person.

In the long run, profits depend on your company’s ability to satisfy your customers. The following findings from a summary of recent studies conducted by Technical Assistance Research Programs, Inc. (TARP) of Arlington, Virginia, should be sobering to any business owner:

  • About 50% of the time, customers who have a problem with a product or service are not likely to tell a company about it.

  • 50% to 90% of these "silent critics" will probably take their future business to a competitor.

  • Even when a customer does complain, one out of every two will not be thoroughly satisfied with the company’s efforts to solve the problem.

  • Dissatisfied customers typically tell between eight to 16 other people when they have had an unsatisfactory experience with a company.

  • Negative information has twice the impact of positive information on purchasing decisions.

  • Word-of-mouth is one of the most important factors influencing a customer’s decision to buy from a company.

  • It costs between two to 20 times as much to win a new customer as to retain an existing one who has a complaint.

As the TARP studies show, complaints are one of your most important business opportunities; often returning five dollars in revenue for every one dollar spent on complaint handling. See a complaint for what it is: an opportunity and not a confrontation. Customers who complain are giving you a chance to improve your company and create a stronger relationship with them. If you handle the complaint well, you can turn a dissatisfied customer into a customer for life. [Abrams02]

I guess too many of us have had something like the following experience:

You’re at a trade show, wearing a badge that clearly identifies you as an employee of a given company. There are some customers who feel that this clear association means you are fair game for resolving their latest complaint about any product your company might produce. One of these disgruntled customers spies you standing in the aisle and strides up to buttonhole you angrily and regale you with the details of his latest frustration with a particular product. Let’s listen in to one angry exchange.

Customer: Hey! Do you know I’ve been trying to get through to you for months!

You: Huh?

Customer: I’ve been having problems with the gizmos on that latest Framitz your so-called development team dumped on me!

You: Framitz? I work in the Whatists division. I really don’t know anything about the Framitz area.

Customer: Let me tell you, that Framitz is a piece of garbage. It not only won’t install properly but I can’t connect with the database and our best people can’t seem to come up with a workaround! What are you going to do about it? I’ve been thinking about buying a Framitz from Microhard instead of you guys! What do you think about that?

You: Well, er, I don’t know what I can do. I’ve only been with the company a few months and I’m not even sure who the Framitz people are. Maybe you could go talk to one of the guys at the booth? It’s a couple of aisles over (pointing vaguely).

Customer: That’s it! Shirk responsibility! That’s the way you people always treat your best customers! That’s why I can never get through to your so-called help desk! I never get any help from you people! I’m going to tell my boss about this! He’ll have something to say about it! What’s your name?

OK. You’ve got the picture Sound familiar? You’re caught. It’s not your fault that this guy’s Framitz doesn’t work. What’s a person supposed to do?

It’s easy in some situations to write off a belligerent customer. This guy is unreasonable! He’s angry and isn’t making sense! He didn’t even hear that you don’t know anything about the Framitz! How do you help someone like that? Someone who doesn’t even hear what you say?

The answer—the solution in the pattern "Customer Relief"—recommends something like the following substitute scenario.

Customer: Hey! Do you know I’ve been trying to get through to you for months!

You: I’m sorry? What did you say? You’ve been trying to get through to me?

Customer: I’ve been having problems with the gizmos on that latest Framitz your so-called development team dumped on me!

You: I’m very sorry to hear that! I work in the Whatists division, but I’m concerned about the quality of all our products. I promise to help you in any way I can. I’m Dudley Affable. Please tell me your name and company. What seems to be your problem?

Customer: I’m Querulous, Henry Querulous from Case Sensitive. OK. Now we’re getting somewhere! Let me tell you, that Framitz is a piece of garbage. It not only won’t install properly but I can’t connect with the database and our best people can’t seem to come up with a workaround!

You: I’m glad to meet you, Henry. Let’s walk over to the booth. The Framitz product manager is there and I’m sure he can help you. By the way, here’s my card. I’ve only been with the company a few months, but regardless of division, we all know that customer concerns on any product concern all of us.

Customer: OK. Well, thanks, Dudley. I hope this guy can help.

You: Here we are. Fred, this is Henry Querulous from Case Sensitive. He’s having some problems with our Framitz and I thought you would be able to help him out.

Let’s hope that Fred understands the pattern, too.

For both Dudley and Fred, it’s important to stay calm, no matter how heated the customer’s attacks become. When you remain calm, you keep the discussion from escalating. Focus on the clear difference between your role in the company and you. It keeps the customer’s attacks from being taken personally. Focus on the service or the product and not on personalities.

Don’t panic. No one knows all the answers and customers know that. If you are asked a question you can’t answer then take down the question and promise a response later. You now own that question and must be sure to honor that commitment. Never lie to a customer.

When you’re calm and clearly listening and responding honestly and with concern, "I understand. That must be very upsetting. I can see how you would be worried about that," the customer may respond by matching your tone and demeanor. Apologize. Saying you’re sorry is an important first step and lets customers know that you care about their problem. Always use tact, courtesy, and a professional manner.

Don’t give excuses like, "It’s company policy." The only company policy you should have is: "We do our best to solve every problem. We want our customers to be completely satisfied." Don’t blame the customer, "You ordered the wrong item. You didn’t follow directions." The customer is not always right, but they always believe they are. When you blame a customer, they see it as a personal attack and will ask themselves, "Why go back to a company for insults?" [Abrams02]

Admit your errors and solve the problem. Every business makes mistakes. Don’t take complaints as personal attacks. Just be determined to get to the root of the problem and make things better for the customer. If something is wrong, fix it.

In some situations, exchanging names and cards gives you something to do to keep the customer busy. We all like to deal with people we know, so exchanging this small amount of information is a step in that direction. Be sure to remember the name and use it to reassure the customer that a solution will be found.

In some cases, if possible, consider taking the customer to a private area or office so the customer can voice his concerns without upsetting others near-by.

Listen, listen, listen. Try to understand what the problem is. Show consideration for the customer. Be sensitive to what the customer is saying and the feelings behind the words. Showing respect quickly, especially when dealing with an irate customer, can in many cases, help diffuse the situation.

However, you can only empathize to a point. Everyone has a different level of tolerance. When someone crosses your personal line, escalate the problem—take it to your manager. Do it before you lose your temper!

Until you’ve identified the real problem, you can’t solve it. It's easy to just weigh in and start telling the customer what to do. Often we hear part of a customer’s problem and then quickly respond with a solution that does not work. Ask questions. Get the customer to say what is happening. The customer may change the story a few times or focus on different aspects but continue to ask questions until you can state the problem from the customer’s point of view with confirmation from the customer that you understand the problem. Listen to what’s being said and then say it back to them. You may have to iterate through this several times to finally isolate the real problem.

If the customer has ideas, take suggestions and discuss possible solutions. Be sure to describe the cost of each proposed solution and any effect on the next release of the product. Don’t hide any information; that will only cause dissatisfaction later. Sometimes it’s difficult to see what the customer really wants, even when the problem has been identified. Sometimes customers can surprise you with how little it will take to make them happy.

Even when the customer remains stubborn, focus on what can be done instead of resisting every suggestion by focusing on what you can’t do. Sometimes there will be a personality clash – if you’re smart enough to recognize this – call in someone else who is more compatible to resolve the customer’s issue.

Be sure you and the customer both have the same understanding of what the solution will be. Repeat it and get a favorable response from the customer. Yes, we both agree that this will happen by this date. After the problem has been solved, follow-up with the customer to make sure the solution was satisfactory.

Never overpromise. Customers always want their problems solved yesterday but when you can’t deliver on an empty promise, you’ll add fuel to the fire. "Trust Account" is another important pattern. Your job in developing a relationship with the customer is to build that relationship on trust. Nothing destroys trust faster than failing to fulfill a promise made to solve an unhappy customer’s problem. It’s strike two and you’re out!

Stephen Covey [Covey89] sees customer complaints as opportunities to build the customer relationship. He tells the story of a department store chain that has created a loyal customer base. Any time a customer comes into the store with a problem, no matter how small, the clerks immediately see it as an opportunity to build the relationship with the customer. They respond in a cheerful, positive way to solve the problem and make the customer happy. They treat the customer with respect, giving such second-mile service that many of the customers wouldn’t dream of going anywhere else.

This principle is also true in sales. An effective sales person first seeks to understand the needs, the concerns, and the situation of the customer. The amateur salesman sells products; the professional sells solutions to needs and problems. It’s a totally different approach. The professional learns how to diagnose and how to understand. He learns how to relate potential customer’s needs to his products and services. And, he has to have the integrity to say, "My product or service will not meet that need," if it will not.

It’s important for you to listen to what your customers do not like—and to show that you have heard them. Problems with a product or purchase do not necessarily drive customers away. Poorly handled problems do.

Sometimes, even small concessions can make a big difference in customer satisfaction. Here’s an interesting story from an interesting book [Greene98] about a customer interaction guideline: If it means essentially no effort and it makes your customer happy, do it—make the change, add the feature, re-word the document, whatever the customer wants.

Winston Churchill was an amateur artist, and after World War II his paintings became collector’s items. The American publisher Henry Luce, creator of Time and Life magazines, kept one of Churchill’s landscapes hanging in his private office in New York. On a tour through the United States, Churchill visited Luce in his office, and the two men looked at the painting together. The publisher remarked, "It’s a good picture, but I think it needs something in the foreground—a sheep, perhaps." Much to Luce’s horror, Churchill’s secretary called the publisher the next day and asked him to have the painting sent to England. Luce did so; mortified that he had perhaps offended the former prime minister. A few days later, however, the painting was shipped back, but slightly altered: a single sheep now grazed peacefully in the foreground.

"If it makes 'em feel better, do it!" said a co-worker, when asked why he added some information to a new trouble report form our team was developing. When the team began to discuss whether the information should have been added, my colleague pointed out that as long as it didn't hurt, he thought just doing it would make the requestor feel better and mean a better acceptance for the new document, so we made the change.

The way to be successful in solving customer problems is to have a customer-centric mentality throughout your organization. There must be a continuing effort on the part of all employees to constantly improve. It’s impossible to get it right the first time. The important thing is to continue to learn and improve.

It’s really all about treating others as you would want to be treated, accepting responsibility, and understanding that your customers are your business. The customer isn’t always right, but it’s your job to make them feel that they are always important. 

References

[Abrams02] Abrams, R., "Silent Dissatisfaction can be bad for business," The Arizona Republic, June 24, 2002, D2.

[Covey89] Covey, S.R., The 7 Habits of Highly Effective People, Simon & Schuster, 1989.

[Greene98] Greene, R., The 48 Laws of Power, Penguin Books, 1998.

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 2003. 

[ Back to Top ]

 

 

Vol. 4 Issue 6

News Update

Subscribe to DDC-I Online News
and receive monthly updates automatically.

Archives

Customer Success Stories

 



For Developers of Safety Critical Software

Check out DDC-I's

Support Program

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