Introduction


Before moving on to the core of the assignment I firmly believe that there are certain things to explain first, for it would be – not useless, but a real waste if we went on without explaining these terms. So please bear with us for a while as it will certainly help you during your journey as you move further along this blog. So without wasting any more of your time let’s get started.

Software Engineering

As you can see this term consists of 2 distinct words : Software and Engineering. So what is Software and what’s Engineering?

Software

In very simple words, software is defined as computer applications and associated documentation. It refers to the intangible parts of the computer system and is the interface that links the end user to the hardware. For non IT people consider the following case. Say that you have a car and you are the driver. In this case the car is the hardware and you are the end user. So where’s the software? We can say that it is your ACTIONS i.e. what you do is what will drive the car. Similarly, keeping this in mind, software is what will drive the hardware and make it react to the end user.

Engineering : Is a discipline that completely englobes and deals with a particular object in practice.

Software Engineering : Can be defined as a discipline that deals with all aspects of software production - from its design to its implemetation stage.


Monday, October 1, 2007

Realtime Software

The best way to define this definition is to try to define each word separately. By now you have already understood the meaning of software. So now comes the concept of realtime.

What’s Realtime?

Realtime refers to the situation where something is happening at a particular instant.

So what does that have to do with IT? Infact you will be amazed at the numerous instances where realtime is being used in the IT domain. But before moving on to these examples it is crucial that you understand what is a realtime system and thus realtime software.

According to me, a Realtime system can be defined as any system which has to respond very quickly within a specific timeframe to produce a change in the system taking into account the situation at that particular time and what has been input into the system.

Real time systems can be categorised into 2 types : Soft realtime and Hard realtime.

1. A Soft Realtime system is one which can still accept some lateness in producing change in the system without any damage to the system.

2. A Hard Realtime system is a system which has been designed in a such a way that if it doesn’t respond to a particular situation in a predefined amount then the system crashes and there might be considerable damage if something like that happens.

Realtime software

Is nothing but a software that has been designed to work with a real time system. In other words, a software that must cater for the needs of the system and produce change in the system as required.

Applications of Realtime software are :

1. A nuclear power plant
2. An airline booking system

Issues in Real-time System Design are :

1. Realtime Response
2. Recovering from Failures
3. Working with Distributed Architectures
4. Asynchronous Communication
5. Race Conditions and Timing

References :

http://en.wikipedia.org/wiki/Real-time_computing
http://www.eventhelix.com/RealtimeMantra/IssuesInRealtimeSystemDesign.htm

No comments: