Electronic Design

  
Reprints     Printer-Friendly    Email this Article    RSS        Font Size     What's This?


[Technology Report]
Working Within The Framework
A solid software framework builds in more flexibility for designers, relieving them of otherwise time-consuming tasks.

William Wong  |   ED Online ID #11886  |   January 19, 2006


HIGH-AVAILABILITY FRAMEWORKS:
Interprocess communication is key to HA, but HA frameworks tend to incorporate much more. Enea's Element includes upgrade management, event logging, provisioning, accounting, and shelf management (Fig. 4). Linux vendors such as MontaVista deliver Commercial Grade Linux, an HA version of Linux.

It's easy to see how a framework like HA impacts the design and implementation of applications. Some of the features, such as shelf management and upgrades, typically have little impact on the overall application design. But features like check-pointing, load leveling, and fault tolerance require the application's active participation.

There are two reasons why a framework with these kinds of tight ties to the application must be chosen carefully. First, application developers must know the intimate details of the framework for applications to coexist and take advantage of the framework. Second, once selected and implemented, migration to another platform is almost impossible.

Of course, the reason for working with a framework is to save time in the long run. HA frameworks and operating systems typically provide this by insulating the developer from the underlying hardware. This provides a level of portability for developers as long as the HA framework supports the desired hardware and software platform.

Saving time in both the development and approval process is part of the answer for companies that deliver frameworks like Green Hills Software, Lynux-Works, and Wind River. One area where approvals is important is the military. Approvals such as DO-178B take lots of time and effort to achieve. Developers try to minimize this as much as possible by documenting and checking their own portion of the application.

Security is another growing arena for new frameworks. Systems like .NET and Java include authentication and encryption support, yet they lack the larger management and underlying support for new hardware technologies and key management. Because this area is still evolving, these larger frameworks will play catchup with smaller security-oriented frameworks.

Likewise, embedded applications often will use products like Certicom's Security Builder Middleware. It can handle security devices as well as provide support for a wide range of authentication, encryption, and digital rights management on numerous hardware platforms.

GRAPHICAL FRAMEWORKS:
Frameworks don't have to provide Internet support, high availability, or communication support to be useful. They may just deliver a pretty picture. In fact, some of the earliest frameworks were graphical frameworks.

The Microsoft Foundation Classes (MFC) were delivered mostly to facilitate graphical-application creation for Microsoft Windows. MFC supports a broader array of functions in addition to handling the user interface, but the bulk of it performs window work.

Java has a number of competing graphical interfaces. Two stand out: Abstract Window Toolkit (AWT) and Standard Widget Toolkit (SWT). Like MFC, the GIMP Toolkit, and other graphical frameworks, the job is the same but the application programming interfaces (APIs) and architectures differ.

Eclipse, an open-source integrated development environment (IDE), is built using SWT. That's not surprising, since Eclipse is written in Java. Most IDEs are used to build applications or host application building tools. Of course, IDEs have some common attributes with most user applications.

Strip out the IDE-specific features, and you get the Rich Client Platform (RCP). There's even an embedded version of RCP (see "Eclipse: An Application Framework?" p. 47). Delve deeper into the RCP (the base of Eclipse) and you'll find the OSGi Services Platform. This framework pushes a software component model designed for reusability. It supports dynamic software updates, remote maintenance and diagnostics, security, and horizontal deployment features. Built on Java, it provides a portable platform that can be used by itself.


<-- prev. page     1 [2] 3     next page -->

Reprints   Printer-Friendly  Email this Article  RSS    Font Size   What's This?



POST YOUR COMMENTS HERE
Name:

Email:
Your Comments:

Enter the text from the image below


Please refresh the page if you have trouble reading this text.

Search Electronic Design
     
  
 
Web Seminar
Sponsored By:
Title: Read Pacing: A Performance Enhancing Feature of PCI Express Gen 2 Switch Devices
Speakers: 
Date: 07/01/08
Register: 

Electronic Design Europe Electronic Design China EEPN Power Electronics Auto Electronics Microwaves & RF
Mobile Dev & Design Schematics Find Power Products Military Electronics EE Events Related Resources