1.3 Types of Software Components

Broadly, there are two types of software components in a communications system: protocol software, which implements a protocol specification, and systems software (including infrastructure software) which usually includes a real-time operating system (RTOS) and an infrastructure to manage the hardware.

1.3.1 Protocol Software

Protocol software implements the protocol as detailed in a protocol specification. These specifications are usually specified by a standards body such as theInternational Organization for Standardization (ISO), Institution of Electrical and Electronic Engineers (IEEE), or International Telecommunications Union (ITU-T). Example protocols include the Internet Protocol (IP) and IEEE 802.2 Logical Link Control (LLC).

While the protocols are standard, implementation on communications systems varies widely. Small form factor devices such as PDAs (Personal Digital Assistant) and cell phones may limit the size of the protocol software resident on the device. On the other hand, carrier-class systems like edge routers may require that the protocol software be implemented in a distributed fashion.

Using the OSI layering as an abstraction mechanism, the software architecture of a complex communications system can be partitioned into higher and lower layers. For some functions, the higher and lower layers may be other protocols. For example, a device driver may be a lower layer function, while an application may be a higher layer implementation (see xrefparanum).

Protocol implementation is typically based on a state event machine (SEM), also known as a state machine. The state machine is the core of the protocol implementation, typically in the form of the State Event Table (SET), which holds a set of rules specifying the action to be performed based on events. For example, a message is transmitted if a timeout occurs in a specific state.

Some parts of the protocol function may be augmented via hardware. A system implementing MPLS (Multi Protocol Label Switching) switching, for example, will provide the MPLS control protocols like LDP (Label Distribution Protocol) via software and perform the actual MPLS switching in hardware. Consequently, the software needs to be designed such that the interface between the software implementation and hardware implementations are clearly identified.

click to expand
Figure 1.4: Protocol Implementation and Interfaces

1.3.2 Infrastructure and Systems Software

The infrastructure and systems software components form the platform on which the communications system is built. Typically a real-time operating system (RTOS) forms the platform along with other software components such as buffer management, memory management, timer management subsystems, and device drivers. Protocols run on top of the operating system using the buffer management subsystem to exchange data on their interfaces and the timer management subsystem to keep track of timeouts.

In a large distributed architecture, communication systems can include multiple rack- mounted hardware modules. Infrastructure software handles the inter-board or inter- chassis communication and other software modules that monitor and manage the health of some hardware modules. For example, a shelf manager software component can run on one of the cards on the hardware shelf. The shelf manager may poll other cards on the shelf to ensure that they are functioning and that the communications link between the cards is operational. It may report status to an event manager, which forwards status to an external management entity.

start sidebar
The Communications Ecosystem

The communications infrastructure requires a number of participants in the development and deployment process. The final product is sold by equipment vendors for use by end users and enterprises. The engineering effort in building the product requires tools at various levels. xrefparanum details the players in the food chain. They are:

  • Electronic Design Automation (EDA) vendors

  • Semiconductor component vendors

  • RTOS, tools and software vendors

  • Contract Manufacturers (CMs)

  • Equipment Manufacturers (EMs)

  • Home, Enterprise and service-provider users

Semiconductor component vendors supply their chips to the equipment manufacturers. Semiconductor vendors use tools from Electronic Design Automation (EDA) vendors to design chips, which are then supplied to the communications equipment manufacturers. If the EM staff designs some ASICs, these EDA vendors supply the tools to the equipment manufacturers also. The hardware designers on the EM staff design their hardware using these chips—they may include processors, network controllers, switch fabrics, network processors, and so on.

The processors will typically require an RTOS to run on them and may also include other software like third-party protocol stacks, redundancy framework software, and so on. These will be provided by the RTOS and third-party software vendors (or reused from earlier projects). The tool vendors provide the compilation, test and debugging tools for the engineering effort at the EM. The EMs design and develop the communications hardware and software using these tools. They can then sign up with a contract manufacturer (CM) to manufacture the actual equipment. These are then shipped to service- provider, enterprise, or home customers depending upon the distribution model. For example, a DSL service provider may take the complete responsibility and install the DSL modem at the customer premises. In this case, the EM never deals with the end customer.

click to expand
Figure 1.5: Players in the communications infrastructure

end sidebar

The infrastructure components are typically the first pieces of software implemented during system development. These components need to be architected for performance and memory efficiency. In some cases, infrastructure components are available from the real-time operating system vendors in the form of specialized management libraries, while in other cases, they may need to be implemented by the engineers developing the software.



Designing Embedded Communications Software
Designing Embedded Communications Software
ISBN: 157820125X
EAN: 2147483647
Year: 2003
Pages: 126
Authors: T. Sridhar

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net