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
 



December 2004

Products / Services

 
   
 

Products

 
   
 

 

 
   
 

Custom Services

 
   
 

 

 
 

Customer Spotlight

 
   
 

"While we are on the subject of support I would like to emphasize that Alex and Richard have been superb in their support of our project. We could not have gotten over our initial hurdles without them."

Candice Uhlir, Software Technology Manager, Northrop Grumman

 

 
   
 

 

 
 

Contact the Editor

 
   
 

DDC-I Online News is published by DDC-I, Inc., 400 N. 5th Street #1050; Phoenix, AZ 85004, Editor: Jennifer Sanchez

Comments and submissions of articles are welcome and should be sent to the editor at the above address or by email to editor@ddci.com.

Copyright 2005, DDC-I, Inc. Permission to copy is prohibited. References to other companies and their products use trademarks are owned by the respective companies and are for reference purposes only.

 

 
   
 

 

 
DDC-I Online News
Inside this Issue

SCORE® Integrates VxWorks' ARINC 653 RTOS

DDC-I Increases Flexibility for SCORE Developers using Wind River's Robust, Partitioned VxWorks AE653 RTOS

Phoenix, AZ — December 01, 2004 — Always working to help safety-critical embedded system software developers control costs and compress time to market, DDC-I today announced integration of the versatile SCORE® (Safety Critical, Object-oriented, Real-time Embedded) integrated development environment (IDE) with the Wind River VxWorks® AE653 RTOS, offering complete ARINC 653-1 compliance and DO-178B Level A certification.

"Statistics show the code load of a typical embedded system doubling about every two years and an average of sixty-six percent of projects over budget, while a third fall short functionally," explains DDC-I Engineering Manager and SCORE® Product Champion David Mosley. "Meeting software development goals is getting harder all the time, and we continue to increase the capabilities of SCORE® specifically to help developers keep beating the odds."

According to Mosley, the aerospace and defense industry demands a standardized OS with robust partitioning, which allows uncertified applications to co-exist with fully certified applications. An ARINC 653 compliant OS, such as VxWorks AE653, meets this need.

Already chosen for development, operation and maintenance of the systems driving the fuel boom ACU on the new 767 Global Tanker Transport Aircraft, integration of the VxWorks product increases the functional reach of SCORE for developers already using the AE653 RTOS.

Including a highly reliable compiler, seamlessly integrated multi-language debugger and the integrated AE653 RTOS, SCORE® offers developers with valuable legacy code, especially in Ada and Fortran, a mature means to migrate to the latest targets and technology, as well as the ability to extend existing source with newer embedded code.

"Designed specifically for the development of high-integrity embedded systems, SCORE® provides a unified ARINC 653 solution for the world’s highest performance aerospace applications, while also offering a flexible, integrated turnkey solution for every application where safety and reliability are number one," Mosley concludes.

[ Back to Top ]

SCORE® Version 2.5 Debuts Fortran Compiler

New Fortran 77 Compiler Continues the Ever-expanding Range of DDC-I's Multi-language, Multi-target Migration Options for Legacy Developers 

Phoenix, AZ - November 29, 2004 - In keeping with the ever-increasing importance of legacy code migration among embedded system developers, DDC-I today announced the addition of a native Fortran compiler in version 2.5 of the maturing SCORE® (Safety Critical, Object-oriented, Real-time Embedded) integrated development environment (IDE), in addition to several key component updates.

"Several customer-driven improvements to SCORE® are included in SCORE® 2.5," explains David Mosley, DDC-I Engineering Manager and SCORE® Product Champion, "but number one is direct compilation and debugging of Fortran, which dramatically decreases the complexity of legacy code migration by allowing developers to maintain code in the original Fortran and enabling programmers to move easily between Ada 95, C, Embedded C++, and Fortran source."

According to Mosley, the new Fortran compiler, based on the ANSI X3.9-1978 Fortran(77) standard, supports all current processors, as well as the MIL-STD- 1750A, added to version 2.5. Full support for the popular Dy4-181 PowerPC board and multi-language debugger support for the powerful Abatron JTAG probe are also new.

Recently performance tested head-to-head against its predecessor, DDC-I's mature DACS compiler, at the request of a customer, version 2.5 of the SCORE® compiler generated final code size results on par with DACS. Improvements found during the test process are already being integrated, beginning with support for inlining of non-local programs. Constant recognition has been greatly improved, especially when dealing with complex structured constants, resulting in significantly smaller code and data. Machine code insertions are now context- sensitive.

Based on Win32 and OSF/Motif, the Windows-oriented "point-and-click" character of the SCORE® GUI incorporates project tools, online help, tool activation and other efficient features.

Today, COTS solutions regularly meet project requirements at a fraction of the cost of in-house development, while integrated suites like SCORE® make the next big leap, facilitating flexible migration from different languages and platforms into a uniform future. The process improvements that modern tools and languages make possible reach directly to the bottom line, where thousands of lines of reused code - now including Fortran - can reduce costs and increase programmer productivity. Outdated tools migrated to SCORE® gain multi-language, multi-target capability while placing minimal restrictions on future development.

For customers evaluating SCORE®, DDC-I also offers their popular Migration Assessment Packages, offering on-site needs assessment, evaluation and a comprehensive report describing the complexity and functionality of software migration including: current systems, utilization, capacity and scalability, resource and skills planning, education and training, cost evaluation, risk assessment and any additional recommendations. MAPs are individually shaped and priced, to help customers with complex applications achieve project goals on-time and budget.

[ Back to Top ]



Tech Talk

Using "Force_Reset_On_Quit" in the SCORE®
Multi Language Debugger

By Karl Rehmer
Senior Software Engineer

The debugger supports an invocation line option called "force_reset_on_quit" that will cause the debugger to send a reset command to the board when it quits. Setting this option in the GUI is done in by a check box in the Project | Tool Options | Debug | Communication dialog when communication with a physical target is chosen.

There are several reasons why you may want to reset a target board after debugging an application. These apply specifically to the PowerPC target.

First, when using firmware downloading to download the debugger together with an application for debugging, the force_reset_on_quit will reset the board, thereby removing the debug monitor and putting the board back in its original state. The force_reset_on_quit is also a good way to remove a debug monitor that is not in ROM.

Another important use is when JTAG debugging on the PowerPC. Many of the UCCs (User Configurable Code) provided or written by the user start make assumptions about the initial board state set by some board provided startup code like MDINK. After a program has run to some point in the debugger and the debugger quits, the board may not be in that state. Subsequent debug sessions may have strange behavior because the UCC did not work properly when run with the board in that state. A safe way to get the board back to a known state for the next debugging session is to invoke the debugger with the force_reset_on_quit option.

Note that if you have not invoked the debugger with the force_reset_on_quit option, you can still get the effect by giving the "quit \reset" command in the debugger instead of the "quit" command. To do this when debugging in the GUI, the debugger command window should be used to give this command.

[ Back to Top ]

Why Can’t We All Play Nice?

Ideas for Team Development
Recognize your Differences and Focus on Shared Concerns

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

I don’t know about you, but after the recent U.S. election, I’m worn out. All the political ads, each party trying to out-do the other, digging deep into the American psyche for some touchstone, some area of resonance, trying to grab hearts and minds. As many of you readers know, I’m interested in patterns and influence strategies, in fact, I’m happy to give a shameless promotion for a new book I’ve written with my good friend and colleague, Mary Lynn Manns. The book is called Fearless Change: patterns for introducing new ideas. It’s available on Amazon—check it out!

Sorry, I digress. All during the pre-election activities, I was barraged by e-mails and phone calls, requests for support and donations. Although I have always voted, given a certain number of donations and written a certain number of letters or e-mails, during this campaign I was more involved, as were many Americans. I knocked on doors. I made phone calls. I drove people to the polls on Election Day. Throughout, I was surprised that I continued to wear my "influence strategist" hat. I could see that many powerful techniques were being applied by all parties. I could sense that emotion ruled the day and that logic was out the window. I remembered a horrible story that someone told me about a prisoner in a concentration camp during World War II. The camp residents were forced to listen to Hitler’s speeches and the prisoner reported that it was all he could do, during the emotional tirades for which Hitler was so famous, to keep from raising his arm in salute. We all get carried away. We all respond emotionally, not intellectually, even in the most dire circumstances—think of soldiers in battle, going into a hopeless situation with rallying cries, "Let’s go, guys!" I’ve learned this over and over in my research in influence strategies and I’ve written a few columns for this newsletter. It still surprises me when I see it up close in real life.

Somehow, being a part of the pre-and post-election furor, I found myself wondering why these techniques are so powerful. I had learned that the patterns that others and I have observed are symptoms of behavior that social psychologists study. Their research provides data that validates the patterns, but was there more? I was looking for a way around what happens in an activity like an election—we take sides. Actually, we do this all day, every day. We say, "We’re <on this side>, and you’re <on that side>." The sides can be: North and South, black and white, Christian and Muslim, Red State and Blue State, Republican and Democrat, tall and short, fat and skinny. The list goes on and on. Do you know what I’m talking about? I know I do it.

I know you can use this tendency to influence others—you can convince me that we’re on the "same side" so then I’ll buy your product or work for your company. But, I keep coming back to my question: "What’s underneath all this?" I’m looking for a way out, some hope. Is there something more than the data from the sociological experiments? And if there is more, what can we learn about helping our country, our organizations, our teams, and, of course, ourselves?

I’m in the midst of a giant upheaval as my husband and I prepare to have new carpeting and tile installed in our house. It’s almost like moving out. I have been using this as an excuse to go through the embarrassing number of books, journals and magazines, and papers I keep. In the process, I get stuck in a particular stack of interesting material and lose track of time reading and re-reading things I had forgotten all about. In this seemingly random process, I just discovered in the last few days an answer to my question. It was in an article from Harvard Business Review, published quite a while ago (in Internet time scale), July-August 1998. The author is Nigel Nicholson and the title, yes, the title speaks volumes: "How Hardwired Is Human Behavior?" The article introduced me (‘way back before my interest in influence strategies) to evolutionary psychology. It gave me an answer to a question I hadn’t asked yet, so I forgot all about it. Re-reading this article led me to more recent research in this area so now I can share my discoveries with you.

To uncover the answer to my question, we have to go back a few years—200,000 of them, to be exact—when human beings or Homo sapiens first appeared on Africa’s Savannah Plain. Our Stone Age hunter-gatherer ancestors were focused on survival. That translates to having food and shelter and a mate to reproduce the species. A lot has happened since then. But scientists who study this kind of thing—evolutionary psychologists—say that we’re still carrying pretty much the same brain that we used ‘way back when. Researchers say that the drivers for evolutionary change have not been present to bring our mental equipment up to date. One way of expressing their view is: You can take the person out of the Stone Age, but you can’t take the Stone Age out of the person!

We humans have spent more than 99% of our evolutionary history living in hunter-gatherer societies—small, nomadic "teams" of a few dozen individuals who got their daily "bread" by gathering plants or hunting. Some might say that our ancestors were on a camping trip that lasted their whole lives. This is how it was for most of the last 10 million years.

Humans have lived as hunter-gatherers 1000 times longer than as anything else. The complicated world that we know today has been around for only a fraction of a second (in the grand scheme of things). The computer age is only a little older than the typical college student, and the industrial revolution is a mere 200 years old. Agriculture first appeared on earth only 10,000 years ago, and it wasn't until about 5,000 years ago that as many as half of the human population engaged in farming rather than hunting and gathering.

Over this time, the human brain developed. The process favored brains that were better at solving day-to-day problems: choosing shelter, hunting animals, gathering plants, negotiating with friends, defending against aggressors, finding mates, raising children, and so on. Those with better brains left more children and ultimately produced us! The key to understanding how our brain works is to realize that it did not develop to solve the day-to-day problems of a modern human. Our brains developed to solve the day-to-day problems of our hunter-gatherer ancestors.

Before we proceed, let’s stop to consider that scientists are not saying that we all think in exactly the same way. Psychologists of any flavor would be the first to point out that their experiments are valid for populations—there are always exceptional individuals (in any sense). Clearly there are different traits due to familial genetics and culture. What we hope to learn by looking at this research is the characteristics that have been shown by these studies that can help us uncover traits shared by large populations.

Let’s now look at those drivers for evolutionary change that I mentioned a couple of paragraphs ago. We know that the world changed radically with the invention of agriculture approximately 10,000 years ago. Human beings were freed from hand-to-mouth subsistence. After this point, a series of rapid developments brought us to modern civilization. Surely, we’re now better equipped to face a much more complex environment. Unfortunately there are three considerations that result in our brains pretty much remaining the same as they were in the Stone Age. (1) By around 50,000 years ago, human populations had scattered across the globe so that genetic mental mutations could not possibly spread. (2) There haven’t been any consistent new environmental pressures on humans that would produce further evolution. (3) 10,000 years seems like a long time but it’s not nearly enough for significant genetic modifications to become established across the population. Thus, evolutionary psychologists argue that although the world has changed, human beings have not.

Here’s what we know about life on that African Plain all those years ago. Life was short and hazardous. Food, clothing, and shelter were unreliable and varied in quality. Life-threatening dangers abounded. Survival for early humans meant dependence on their brains. The behaviors that served them best became hardwired and continue to drive human behavior today.

I was able to find the behavior I was particularly interested in—the one that will help answer my question. Here it is: Stone Age hunter-gatherers constantly faced new puzzles. Which plants can be eaten without becoming sick or dying? Where is good hunting to be found? How can we tell whether someone can be trusted?

To provide structure to an uncertain world, our ancestors developed an impressive talent for sorting and classifying information. Researchers have found that even in some existing nonliterate tribes there is complete taxonomic knowledge of the animals and plants in their environment. We humans are great at creating categories for everything in our lives.

In the Stone Age, of course, these capabilities were not limited to the natural environment. To prosper in their clan, human beings had to become expert at making the correct alliances. They had to know whom to share food with—someone who would return the favor if needed. They had to know what untrustworthy individuals generally looked like, because it would be unwise to deal with them.

Human beings became hardwired to stereotype people based on very small pieces of evidence, mainly their appearance and a few readily apparent behaviors.

Whether it was sorting plants or people, both worked to the same end. Classification made life simpler and saved time and energy. When you had food to share, you didn’t have to waste time deciding who could and couldn’t be trusted. Your classification system told you instantly. When a new group entered your territory, you could pick out the high-status members not to alienate. The faster you made decisions like these, the more likely you were to survive. Sitting around analyzing options and next steps, following a complex decision-making process, was not a recipe for a long and fertile life.

The power of classification remains with us today. People naturally sort others into in-groups and out-groups, just by their appearance and actions. We continuously subconsciously (and sometimes consciously) label other people: "She’s a snob," or "He’s a bozo." Research has shown that managers sort their employees into winners and losers as early as three weeks after starting to work with them.

People are complex and many sided. It is interesting, yet frightening, to know that we are programmed not to see them as such. This helps to explain why some groups in organizations have trouble getting along. The battle between marketing and manufacturing is as old as—well, as old as marketing and manufacturing. Techies in IT departments have difficulty getting along with the groups they are supposed to support, and vice versa. We are all too busy labeling others as outsiders and dismissing them in the process.

Our programming for classification, sorting people into in-groups and out-groups, can make us harshly judge those we decide are in the out-group. We will focus on and exaggerate the differences we perceive. We may wish that human beings were more rational, but our brains, created for a different time and place, get in the way. We need a better approach now more than ever. The world is increasingly complex and we must make tougher decisions faster. We are incurring enormous costs by exercising our Stone Age decision-making process in complex information-based environments.

To bring this home, I thought I would share some examples from retrospectives I’ve facilitated at companies all over the world (just so you won’t think this is a problem specific to the U.S.). In one company, an enormous amount of time was spent (both on the project and in the retrospective) addressing the concerns of one sub-team whose members did not get a t-shirt, while all other teams working on the project did! The have-not sub-team initially raised the issue at the retrospective. We captured it on a card and moved on, but the have-not sub-team kept coming back to it. Each new issue was somehow tied to the t-shirts! How did this team lose out? It was an honest mistake. A new project lead intended to buy t-shirts for members of all the teams, but somehow overlooked the have-not sub-team—probably because it was not co-located (see the next story).

Research has shown that clothing is a strong identifier for groups. (Why do you think the military provides uniforms?) In Fearless Change, Mary Lynn and I describe a pattern we call Group Identity. When a name, slogan, symbol, or t-shirt is adopted by a group, there is a clear call to the hardwired "us against them" behavior we all share. Managers, leaders, be aware of the power of identity! Yes, it helps to "jell" a team. Yes, it can give lagging team spirits a boost. But it also causes a division between the team and the rest of the organization. All teams nowadays need to work and play well with others: support groups, external testers, and, of course, clients, users, and customers! If you must have names, slogans, symbols, or t-shirts, disseminate them widely to involve as many others as possible.

Here’s another story. A project team grew rapidly in a short time (lots of interesting material there!). The software folks ended up sitting in cubicles on either side of the hardware guys. During the retrospective we learned that both groups of software developers got along just fine with the hardware guys, but not with each other. The two software "camps" rarely spoke. Out of this "us against them" created by the separation in cubicle space, two architecture leaders emerged, each with a different vision for the product. There was so little understanding by each software group of the architecture of the other software group that when the time came, the software pieces wouldn’t integrate. The end result was a lot of blaming and finger pointing, and, ultimately, an effort that produced nothing.

In product development, as in real estate, what counts is location, location, location (another pattern in Fearless!). Meaningful communication decreases as distance increases. When team members sit close together, communication goes up. Those who are not close are automatically in the out-group. Without meaningful communication, misunderstandings arise, motives are assigned, and assumptions raised. It doesn’t take long for "wars" to break out. To overcome this strong tendency to see others who are separated by distance as "outsiders," find ways of gathering all people who are on a project. A Friday afternoon pizza party will work. Get everyone in the same room with the freedom to walk around and share ideas.

Evolutionary psychologists say that our primitive brains, so well adapted to the precarious life of hunter-gathers, will continue to dictate our behavior. In the choices businesspeople make, one can expect the hidden agendas of categorical thinking to prevail. I know I’ve learned how important it is for us to have a better understanding of our biased natures so that we can be aware and take appropriate measures to better meet our daily challenges. I hope you agree that it’s time to recognize our developmental history and use this information to live in harmony with our hardwiring.

The bottom line is: yes, we are hardwired; no, we can’t do anything about that; yes, being aware will help us be proactive and do what we can to counteract these inborn traits. At the national level, instead of saying, "I’m green and you’re blue," (fill in your favorite color), we can start by looking for a common vocabulary. Words that reflect shared concerns will be evidence that we’re on the "same side." Let’s have conversations about: jobs, health care, education, and, especially in our troubled world, peace. Anyone remember Dave Garroway? He was the first host of the Today Show. He always ended the show by holding up his hand and saying one word, "Peace."
http://people.uncw.edu/rohlerl/rohler/clc.htm#garroway

The Iroquois Indians had a masterful way of negotiating conflict. Each person had to struggle to get to the point where he could articulate the other’s position. This enhances collegiality instead of escalating the tendency of teammates who disagree to think of themselves as being on opposite sides. In other words, it changes the dynamic from our hardwired "us against them" to see ourselves as working to resolve an issue together.

I quoted Red Green (www.redgreen.com) in my last column and I think it’s appropriate here: Remember, I’m pullin’ for you. We’re all in this together!

 

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: Fearless: Introducing New Ideas into Organizations, to appear in September 2004.

[ Back to Top ]

 

 

Vol. 5 Issue 12

News Update

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

Archives

Customer Success Stories

 


SCORE-653

ARINC-653 Compliant

Certifiable to DO-178B/Level A

One IDE for All Embedded C++, C, Ada and Fortran Applications

Check out DDC-I's

Support Program

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