EXPERT'S EDGE


"The greatest barrier to success is the fear of failure"

by:Sven Goran Eriksson

Monday, February 1, 2010

In-Vehicle Networking(Information Technology Seminar Topics)

Today's vehicles contain hundreds of circuits, sensors, and many other electrical components. Communication is needed among the many circuits and functions of the vehicle. For example, when the driver presses the headlights switch on the dashboard, the headlights react. For this to occur, communication is needed between the dashboard switch and the front of the vehicle. In current vehicle systems this type of communication is handled via a dedicated wire through point-to-point connections. If all possible combinations of switches, sensors, motors, and other electrical devices in fully featured vehicles are accumulated, the resulting number of connections and dedicated wiring is enormous. Networking provides a more efficient method for today's complex in-vehicle communications.

In-vehicle networking, also known as multiplexing, is a method for transferring data among distributed electronic modules via a serial data bus. Without serial networking, inter-module communication requires dedicated, point-to-point wiring resulting in bulky, expensive, complex, and difficult to install wiring harnesses. Applying a serial data bus reduces the number of wires by combining the signals on a single wire through time division multiplexing. Information is sent to individual control modules that control each function, such as anti-lock braking, turn ignals, and dashboard displays (see figure 1).

As the electrical content of today's vehicles continues to increase the need for networking is even more evident. For example, some high-end luxury cars contain more than three miles and nearly 200 pounds of wiring. The resulting number of connectors creates a reliability nightmare.

BENEFITS OF NETWORKING

In-vehicle networking provides many system-level benefits, many of which are only beginning to be realized.
" A decreased number of dedicated wires is required for each function, and thus reduces the size of the wiring harness. System cost, weight, reliability, serviceability, and installation are improved.
" Common sensor data, such as vehicle speed, engine temperature, etc. are available on the network, so data can be shared, thus eliminating the need for redundant sensors.
" Networking allows greater vehicle content flexibility because functions can be added through software changes. Existing systems require an additional module or additional I/O pins for each function added.
" Car manufacturers are discovering new features that are enabled by networking. For example, the 1996 Lincoln Continental's Memory Profile System stores each driver's preference for ride firmness, seat positions, steering assist effort, mirror positions, and even radio station presets.

However, for networking to expand into higher volume economy class vehicles, the overall system benefits need to outweigh the costs. Standardized protocols will enable this expansion. Automotive manufacturers and various automotive industry standards organizations have been working for many years to develop standards for in-vehicle networking. Many standards such as VAN, ABUS, CAN, and SAE J1850 have been developed, but SAE J1850 and CAN 2.0 (Controller Area Network) are the predominant standards.

The early days of networking involved proprietary serial buses using generic UART (Universal Asynchronous Receiver/Transmitter) or custom devices. This was acceptable in the US because the Big Three (Ford, GM, Chrysler) were vertically integrated and were not highly dependent on external suppliers.

Dynamic Languages(Information Technology Seminar Topics)

There is a category of programming languages, which share the properties of being high-level, dynamically typed and open source. These languages have been referred to in the past by some as "scripting languages", and by others as "general-purpose programming languages". Neither moniker accurately represents the true strengths of these languages. We propose the term "dynamic languages" as a compact term, which evokes both the technical strengths of the languages and the social strengths of their communities of contributors and users.

This paper will argue that many of the pressures on software systems, such as the push for standards-compliant open systems and the competitive advantages granted to customizable systems, combined with a shift from CPU-bound systems to network-bound systems, have propelled dynamic languages into a new, critical role. In addition to their traditional role in support of scripting tasks, these programming languages have demonstrated an unequaled ability to build a diverse set of important software systems.

We believe this shift in importance warrants replacing the term "scripting language" with one that better describes the languages' nature and impact, and suggest the use of the term "dynamic languages". The choice of the word "dynamic" over "scripting" is a pragmatic one-the original term has tended to minimize the broad range of applicability of the languages in question. The new term reflects the belief that the real-world value of these languages derives more from their dynamics (technical and social) than their approachability.

In what follows, I present the essential characteristics of dynamic languages as they contrast with other language categories. Popular dynamic languages are briefly surveyed, followed by an analysis of their emergent properties in current technical, social, economic, and legal contexts. We suggest software environments where they are most and least appropriate.

LANGUAGE AND LANGUAGE CATEGORIES

2.1 LANGUAGE

A language is a media to communicate. One of the definitions of the language is as follows:

"A language is a systematic means of communicating by the use of sounds or conventional symbols"

2.2 LANGUAGE CATEGORIES

Languages can be classified into two: natural languages and formal languages.

2.2.1 Natural Languages

Natural languages are the languages that people speak, such as English, Malayalam, Spanish, and French. They were not designed by people (although people try to impose some order on them); they evolved naturally.

2.2.2 Formal Languages

Formal languages are languages that are designed by people for specific applications. For example, the notation that mathematicians use is a formal language that is particularly good at denoting relationships among numbers and symbols. Chemists use a formal language to represent the chemical structure of molecules.

Programming languages are formal languages that have been designed to express computations.