ASSINGMEN-2

19
ASSINGMENT-3 Q-1-What are the basic requirement for the development of embedded software for an embedded system? Software development is the computer programming , documenting , testing , and bug fixing involved in creating and maintaining applications and frameworks involved in a software release life cycle and resulting in a software product . Embedded software is a computer software written to control machines or devices that are not typically thought of as computers. Each embedded system is unique, with specialized hardware and specialized software Modern embedded system are often based on microcontroller(CPU’s with integrated memory or peripheral interfaces) but ordinary microcontroller(using external chips for memory & peripheral interface circuits. Are also still common, especially in more complex system. A common standard class of dedicated processor is the DSP.

description

,bguyu

Transcript of ASSINGMEN-2

Page 1: ASSINGMEN-2

ASSINGMENT-3

Q-1-What are the basic requirement for the development of embedded software for an embedded system?

Software development is the  computer programming, documenting, testing, and bug fixing involved in creating and maintaining applications and frameworks involved in a software release life cycle and resulting in a software product.

Embedded software is a computer software written to control machines or devices that are not typically thought of as computers. Each embedded system is unique, with specialized hardware and specialized software

Modern embedded system are often based on microcontroller(CPU’s with integrated memory or peripheral interfaces) but ordinary microcontroller(using external chips for memory & peripheral interface circuits. Are also still common, especially in more complex system. A common standard class of dedicated processor is the DSP.

Steps involved in preparing embedded software similar to

general programming

Use Spiral Model

Decide on programming language (C)

Know capabilities/limitations of processor/compiler

Main difference is that target hardware platform is unique

Leads to additional software complexity

Page 2: ASSINGMEN-2

1. Reliability- lifetime of the system after buying can it must be reliable. The cost should be reliable to perfectly meet the requiemnt of the embedded system .No bugs shuld be found & provide good service to consumers. Example- smart phonesIt is the ability of a system functions under stated condition for a specified period of time.it also explainsthe consistency or repeatability of research measures.

2. Error handling- It can be possible by humans, the system should be expected to run without the help of humans to run for a longer period. the system should be specific so not to be failed.

3. Cost effective- should be cost effective. A system is said to be technically effective if a product is producing the maximum output from the minimum quantity of inputs, such as labour, capital and technology.

The concept of cost efficiency is related to productive efficiency. Productive efficiency is concerned with producing at th lowest point on the short run average cost curve.

4. Power consumption- power consumption is directly proportional to the cost. The system should be designed like that it must be cost efficient.

5. Efficient use of memory- RAM sizes also directly proportional to the cost. As the memory sizes increases the cost of the system goes on increasing.

6. performance requirement- the performance is the another man factor of the system.

Page 3: ASSINGMEN-2

Q-2- why concurrency is very important for development of embedded system?

Concurrency is when multiple activities occur during the same time interval. It is a natural phenomenon; in the real world many things are happening simultaneously. Such parallelism is especially prevalent in realtime embedded systems, where multiple and potentially independent and non-synchronized external stimuli are common (e.g., multiple users of a telephone system). Each stimulus can result in a concurrent thread of execution (instance of a use case) within the embedded system. For example, multiple telephone calls could be in progress, each of which requires it’s own complex sequence of actions to control the overall call.Software that interacts with the physical world has concurrency as an unavoidable design challenge.

It has the capability to involve physical world where multiple features takes time. If many controller are combined with an embedded system then it must takes time controller must have the capability to control the work. These concurrency problems mainly occur when components access share resources simultaneously and communicate with each other. If these problems are not addressed then a system could lead to sporadic and disastrous failures. During the previous decade one could enhance the system.

Concurrency and distribution can also be used to increase the performance and controllability of systems. Multiple processors can be used to perform tasks in parallel to speed up computational work. Within a single processor, multitasking can increase responsiveness by preventing one activity from blocking another (e.g.,waiting for input). Concurrency can be used to speed up the startup of a system by processing the actions to get each component ready for operation in parallel, rather than initializing each one sequentially.Controllability of the system can also be enhanced by concurrency. For example, a process can be started or stopped

Page 4: ASSINGMEN-2

mid-stream by other concurrent processes. The above capabilities would be difficult to achieve without concurrent software.Q-3-Heterogenity place an important role in embedded system. Defines it?Ans- There are different computation style implementation technology. Means each one is not connected tThe increasing complexity of heterogeneous systems-on-chip, SoC, and distributed embedded systems makes system optimization and exploration a challenging task. Ideally, a designer would try all possible system configurations and choose the best oneregarding specific system requirements. Unfortunately, such an approach is not possible because of the tremendous number of design parameters with sophisticated effects on system properties each other. Example- phonebook A major challenge of heterogeneous system optimization is the lack of coherent models and systematic search techniques. For this reason it is important to evaluate a large number of architectures and implementation alternatives. Ideally, the designer would try all possible alternatives and choose the best regarding specific system requirements. Unfortunately, this is not possible because the high number of design parameters in complex systems leads to avery large design-space, prohibiting an exhaustive search. Consequently, good exploration techniques are needed to find optimal, or at least good, design alternatives. Manual design space exploration heavily reduces design productivity. It is highly desirable to automate at least part of the process. Of course, even automatic exploration cannot search the whole design space in reasonable time. Therefore, it is important to find an appropriate sub search space containing good solutions. Restriction of the search space to crucial system parameters is necessary to allow an efficient search for good design alternatives. task is activated due to an activating event. Activating events can be generated in a multitude of ways, including expiration of a timer, external or internal interrupt, and task chaining. Task communication in SymTA/S is modeled

Page 5: ASSINGMEN-2

either using FIFOs or registers. In the case of FIFO communication, each task is assumed to have one input FIFO. A task reads its activating data from its input FIFO and writes data into the input FIFO of a dependent task. A task may read its input data at any time during one execution. The data is therefore assumed to be available at the input during the whole execution of the task. A task needs to be mapped on a computation or communication resource to execute.When multiple tasks share the same resource, then two or more tasks may request the resource at the same time. In order to arbitrate request conflicts, a resource is associated with a scheduler which selects a task to which it grants the resource out of the set of active tasksaccording to some scheduling policy. Other active tasks have to wait

Q-4-why timeliness is required for an system?

Ans-It is one of the features of embedded system. Timeliness means the reaching of the system to its target is as important as the reaching the target within time. Ex-microwave, washing machine.

Computation takes time1. It deals with the time because with which it

interacts evolve over time.2. Satisfies timing constrains.3. Performance gain is needed, speculative

instruction execution & branch designed for embedded system to compromise the system efficiency & reliability.

Distributed real-time embedded system have stringent requirements for key performance properties, such as end-to-end timeliness and reliability, in order to operate properly. In recent years, with the continuously decreasing feature size and

Page 6: ASSINGMEN-2

increasing demand for computation capabilities of overheating and even thermal failures. As a result, their temperature must be explicitly controlled for improved reliability. While a variety of control algorithms have been proposed for either real-time guarantees or thermal management in an isolated manner.

Q-5-define the term Interface?

Ans- It can combine components by interfacing system can combine components. The interface can refer to either a hardware connection or a user interface. It can alsobe used as averb, describing hoe two devices connect to each other.

A hardware interface is used to connect two or more electronic devices together. For example, a printer typically connects to a computer via a USb interface Therefore the USB port on the compuer is considered the hardware interface. The printer itself also has a USB interface, which is where the other end of the USB cable connects. Several common peripherals connect to a computer via USB, while other devices use a firewire connection or other interface. Ethernet connection are commonly used for networking , which is whymost cable modems and routers have an Ethernet interface.

Many other Electronic devices besides computers use some type of unterface to connect to other equipment. For example, a TV may connect to a Blu-ray player via an HDMI cable and may connect to a cable box using component cables.Audio devices may have either analog or digital audio connections and may

Page 7: ASSINGMEN-2

include a MIDI interface,which is used to transfer MIDI data. Ipod have a proprietary “dock connector” interface, which allows them to connect to a power source and transfer data via USB.

Since there are many different types of electronics devices, there are also a lot of electronic devices, there are also a lot of hardware interfaces. Fortunately, standards like USB, firewire,HDMI , and MIDI have helped consolidate the number of interface into a manageable number. After all, it would be pretty difficult if each digital camera, printer , keyboard, and mouse used a different interface .

There are different types of interfaces:-

1. Hardware interfaces

2. Software interfaces

Hardware interfaces eistsin many of the components such as the various buses, storage devices, other I/O devices, etc.A hardware interface is described by the mechanical, electrical and logical signals at the interface and the protocol for sequencing them. A standard interface, such as SCSI, decouples the design and introduction of computing hardware, such as I/O devices, from the design and introduction of other components of a computing system, thereby allowing user and manufacturers great flexibility in the implementation of computing system.

A software interface may refer to a wide range of different types of interface at diff. “ levels” an operating system may interface with piece of hardware .application or programs running on the operating system may need to interact via

Page 8: ASSINGMEN-2

streams, and in object oriented programs, object within an application may need to interact via methods.

Q-R-6- How a Firm real-time system is different from hard-real time system and soft real time system?

Ans-Real-time is a quantitative notion of time. Real-time is

measured using a physical (real) clock. Whenever we quantify time using a physical clock, we deal with real time. An example use of this quantitative notion of time can be observed in a description of an automated chemical plant. Consider this: when the temperature of the chemical reaction chamber attains

a certain predetermined temperature, say 250oC, the system automatically switches off the heater within a predetermined time interval, say within 30 milliseconds. In this description of a part of the behavior of a chemical plant, the time value that was referred to denotes the readings of some physical clock present in the plant automation system.

In contrast to real time, logical time (also known as virtual time) deals with a qualitative notion of time and is expressed using event ordering relations such as before, after, sometimes, eventually, precedes, succeeds, etc. While dealing with logical time, time readings from a physical clock are not necessary for ordering the events. As an example, consider the following part of the behavior of library automation software used to automate the book-keeping activities of a college library: Hard real time means you must absolutely hit every deadline. Very few system have this requirement. Some example are nuclear systems, some medical application such as pacemaker, a large no. Of defence application , avionics etc.

Firm real-time system can miss some deadlines but eventually performance will degrade of many are missed. A good example is the bits, no big deal, but miss too many &your going to eventually degrade the system. Similar would be seismic

Page 9: ASSINGMEN-2

sensors. If you miss a few data points, no big deal, but you have to catch most of them to make sense of the data. More importantly is going to die if they don’t work correctly.

The line is fuzzy, because even a pacemaker can be off by a small amount without killing the patient, but that’s the general. A system is called a real-time system, when we need quantitative expression of time (i.e. real-time) to describe the behavior of the systemReal-time systems have of late, found applications in wide ranging areas. In the following, we list some of the prominent areas of application of real-time systems and in each identified case, we discuss a few example applications in some detail. As we can imagine, the list would become very vast if we try to exhaustively list all areas of applications of real-time systems. We have therefore restricted our list to only a handful of areas, and out of these we have explained only a few selected applications to conserve space. We have pointed out the quantitative notions of time used in the discussed applications.

Industrial applications constitute a major usage area of real-time systems. A few examples of industrial applications of real-time systems are: process control systems, industrial automation systems, SCADA applications, test and measurement equipments, and robotic equipments.

Example 1: Chemical Plant Control Chemical plant control systems are essentially a type of process control application. In an automated chemical plant, a real-time computer periodically monitors plant conditions. The plant conditions are determined based on current readings of pressure, temperature, and chemical concentration of the reaction chamber

Example 2: Automated Car Assembly Plant An automated car assembly plant is an example of a plant automation system. In an automated car assembly plant, the work product (partially assembled car) moves on a conveyor belt (see Fig. 28.1). By the side of the conveyor belt, several

Page 10: ASSINGMEN-2

workstations are placed. Each workstation performs some specific work on the work product such as fitting engine, fitting door, fitting wheel, and spray painting the car, etc.

A few examples of medical applications of real-time systems are: robots, MRI scanners, radiation therapy equipments, bedside monitors, and computerized axial tomography (CAT).

Example 4: Robot Used in Recovery of Displaced Radioactive Material

Robots have become very popular nowadays and are being used in a wide variety of medical applications. An application that we discuss here is a robot used in retrieving displaced radioactive materials.

Q-7- Each software quality is needed for an embedded software? If yes how?Ans- It is one component of whole embedded system development process. Software analysis is a software engineering activity that brings system requirements closer to software designs. In this activity, system requirement are elaborated into software requirement. The elaboration into software requirement. The elaboration is done by refining, analysing, modelling 7 specifying allocated system requirement into software requirement. Two distinct activities are performed during the specification of software requirements problem analysis & product description. Problem analysis is inactivity where analysis brainstorm ideas interview people & identification all possible constraints on the problem solution. Product description is concerned with the external behaviour of the product. The purpose of the product description activity is to solve the problem that is understand after the problem analysis. A software specification is delivered as a resusult of the requirement analysis. If necessary, it may be jointly prepared with customers because software engineering usually do not

Page 11: ASSINGMEN-2

understand customer problems and domain are a well enough to produce correct requirement.

After the software requirement have been analysed& specified. They need to be verified. Verification ensueres that requirement1-correctly describe behaviour & characteristic of the system.2-are internally consistent.3-are completely high quality.4-provide an adequate basis to proceed with design implementation & testing.

Q-R 8- What are the design steps for development of Embedded software?

Ans- there are various design steps for development of Embedded system those are:-

Determine requirements: A requirement is something that the system must exhibits or a quality the system must have. Requirements are defined at the beginning of the development as a specification of what should be developed. Requirements for a system are typically a

Page 12: ASSINGMEN-2

combination of demands from different people at different level of the developing organisation and from the environment where the syste must operate. Requirements in a system are generally classified as system hardware and software requirements.

Design system architecture:

It represents the structure and organisation of software components, their properties, and connection between them, The architecture enables software engineers to analyse the effectiveness of the design in meeting its requirement. Having a good software architecture doesn’t ensure that the developed product will meets its requirements. On other hand a badly made architecture makes it almost impossible to meet the products requirement. Other quality attributes like testability. Under stability and modifiability can be also implemented in the architectural design.

Selecting Operating system if any:

Choose development platform: development platform becomes costly and complex to switch or even upgrade. So for a start up choosing the development technologies is a permanent decision unless or until matures are need to or can afford to do major technology upgrades.

Page 13: ASSINGMEN-2

On other hand the choice of development platform is very important in terms ofthe overall product development process and operational management of the company.

Code the application: proper code and application is required, code is a collection of computer instruction written using some human readable computer language usuallyas text. The source code is specially designed to facilitate the work of computer programmes. The source code is often transformed by a compiler program into loe-level machine code understood by the computer.

Optimize the code according to the requirement

Verification in the host system.

Verify the software in the target system.