Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
63 views4 pages

EDLC in Embedded Systems Guide

Uploaded by

Yuvraj Dhama
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views4 pages

EDLC in Embedded Systems Guide

Uploaded by

Yuvraj Dhama
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

B.

tech (3rd year) EDLC defines the interaction and activities among variousgroups of a product
development phase. Example: -project management, system design.
Branch: ECE
Subject name: Embedded system
The investment for product development includes initial investment, manpower,
Subject Code: KOE062 infrastructure investment etc.
Unit:3
Topics to be covered are: EDLC has three primary objectives are:
1. EDLC Objectives
2. Different Phases of EDLC
3. Modelling of EDLC 1. Ensure that high-quality products are delivered to the user
4. Types of modeling  Quality in any product development is Return On
5. Hardware & software co-design Investment achieved by the product
6. Fundamental issues in co-design  The expenses incurred for developing the product are:-
7. Computational model  Initial investment
8. Types of the computational model  Developer recruiting
 Training
 Infrastructure requirement related

EDLC Objectives:
EDLC is Embedded Product Development Life Cycle 2.Risk minimization defect prevention in product development through
project management
It is an Analysis – Design – Implementation based problem-solving approach for
embedded systems development.  In which is required for product development ‘loose’ or ‘tight’ project
management
There are three phases to Product development:  ‘project management is essential for ’ predictability co-ordination and risk
1. Analysis minimization
2. Design  Resource allocation is critical and it is having a direct impact on investment
3. Implementation
Example:- Microsoft @ Project Tool
Analysis: Analysis involves understanding what product needs to be developed. 3. Maximize the productivity
Design: Design involves what approach to be used to build the product.  Productivity is a measure of efficiency as well as Return On
Implementation: Implementation is developing the product by realizing the Investment
 This productivity measurement is based on total manpower
design.
efficiency
 Productivity in which when a product is increased then the
investment is fall down
Need for EDLC
 Saving manpower
EDLC is essential for understanding the scope andcomplexity of the work
involved in embedded systems development
It can be used in any development of any embedded product. DIFFERENT PHASES OF EDLC

The following figure depicts the different phases in EDLC: The first step is to clearly define your business idea and transform it into a feasible
concept. Consider and analyze the following points.

The Need
As a rule, the process starts as a response to a particular need (personal, corporate,
or public). It may be necessary to build an entirely new solution or re-engineer one
already available by adding functionality or launching a new version. You should
realize the essence of the need behind your idea.

Target Audience
When the need is clear, you should define your target audience. This step is often
undeservingly overlooked, but it’s crucial to understand who your end users are.
To analyze the market and single out your audience, consider the following points:
 End users of your product
 Characteristics of your end users (gender, age, profession, etc.)
 In what circumstances they will need your product

Step 1. Planning and Analysis  What benefits users will get from your product
Researching these points will help you outline your vision for your future device.

Requirements
Any embedded product aims to solve a particular problem. Thus, a device should
correspond with specific requirements concerning its functionality and appearance.
Work out what these requirements are before you get down to the development.
How can you work out the requirements?
Take the data you’ve collected during the research of your target audience, and use
it to define the purpose of your product, its functional model, and the necessary
hardware and software components.

Competitors
When you go through the planning and analysis phase, we highly recommend you
acquaint yourself with the experience of your potential competitors. Some of them
have already gone through the development life cycle of embedded systems and
achieved certain results.
Looking at their experiences can help you learn from their mistakes, give you some
brilliant ideas, or prompt a better approach for your project. Analyzing your
competitors’ products will enable you to define the price policy and anticipate end
users’ reactions to your output.

he development life cycle of any product is about going from an idea to commercial Additionally, you might even connect with potential collaborators who can probably
production. What’s the first step in creating an embedded or IoT system? help you reach new heights.

The process begins with the creation of the product’s architecture, which should be
based on the requirements collected in the previous (planning and analysis) step. In
architecture, you should reflect software and hardware components that in
Step 2. Designing combination will ensure the performance of target functions.

Technical Resources
Based on the architecture, you need to choose technologies and tools to develop a
proof-of-concept — a small model to prove the feasibility of your idea.
Development Kits
To quickly build embedded and IoT prototypes, you can use development kits or
boards — out-of-the-box hardware platforms that can have integrated software,
such as:
 processor modules
 microcontroller kits
 application processor kits
 breakout boards.
When choosing a development board, pay attention to the following key features:
 Available peripherals
 Connectors for bringing out microcontroller pins
 On-board sensors and communication peripherals (accelerometers, fuel sensors,
Wi-Fi, Bluetooth, etc.)
 The way you can mount the mechanical form factor in a prototype cover
Toradex is a reliable provider of hardware modules for creating embedded and IoT
solutions.
Software Development Tools
Apart from hardware, you should also choose from a range of embedded software
development tools. You will need:
 operating systems (Linux, RTOS)
 languages (C, C++, Python, JavaScript, etc.)
 IDEs, SDKs (PyCharm, WebStorm, Qt Creator), compilers, debuggers, and more.

Architecture Development Team


It goes without saying that you should assemble a development team. There are two
ways:
 Hire employees with the appropriate skills and do the work on-site.
Alpha Prototype
 Outsource software development to a reliable provider.
The complexity of a project influences the number of technical specialists you will When you fully integrate your device’s hardware components on a PCB (printed
need. Generally, an embedded product development team consists of: circuit board), you get an alpha prototype. This is a raw product that reveals
functional issues and requires certain adjustments.
 an embedded software engineer
 a hardware engineer Beta Prototype
 a PCB layout engineer
By addressing issues and extending the product by new features, you get a beta
 a mechanical engineer.
prototype — a version that is ready for production.
A software engineer is responsible for the code and software architecture. A
hardware engineer deals with hardware architecture, components and schematics. A End users can test this version and provide feedback to help enhance the quality.
PCB layout engineer builds the Gerber files according to the schematics necessary Moreover, you can apply a range of other tests to ensure your solution operates as
to manufacture the product. Actually, a hardware engineer can perform this role in expected.
small teams. A mechanical engineer designs the product body and creates the At this point of the embedded product development life cycle, software engineers
industrial design for further manufacturing. should check that the application meets regulatory standards, and ensure its
Additionally, you may need to use specialists experienced in cloud-based software security, scalability, and maintainability. The question of updating your product when
development, security management and team management. it is in operation should also be considered.

Hiring all these experts to develop a product on-premises can be a rather expensive
and risky activity for a company. In most cases, it is more reasonable to work with a Step 4. Commercial Launch
technology partner that specializes in embedded software development.

Step 3. Implementation

Once the concept is proven to be viable, it’s time to turn it into reality. At this phase,
you create a prototype — a working model of your IoT or embedded product that can
be tested and extended by new features. The implementation phase is also about
 At this point, you have a real-life product that can be launched to mass
improving the quality of your solution and preparing it for production.
production. The commercial launch phase is also quite complicated.

 You can’t start the production immediately. It may take time to procure the Advantages
spare parts and set up the manufacturing process, which is why you should
plan to go to market in plenty of time, up to three months. Product development is rich in terms of:
 Don’t forget about post-manufacturing testing to reveal any defects in the  Documentation
production process and prevent defective products from going to customers.  Easy project management
 Good control over cost & Schedule
 Once produced boards have been tried and tested, you can assemble them
into their cover and deliver them to users. Drawbacks
 Post-production support and maintenance is a necessary activity during the  It assumes all the analysis can be done without doing any design or
embedded product development life cycle.
implementation
 The risk analysis is performed only once.
 The working product is available only at the end of the development phase
 Bug fixes and corrections are performed only at the maintenance/support
EDLC MODELS phase of the life cycle.

1. 1. Waterfall or Linear Model


2. 2. Iterative/ Incremental or Fountain Model
3. 3. Prototyping Model
4. 4. Spiral Model

1.WATERFALL MODEL

Linear or waterfall model is the one adopted in most of the olden systems.
In this approach each phase of EDLC (Embedded Development Product
Lifecycle) is executed in sequence.

 It establishes analysis and design with highly structured development


phases.
 The execution flow is unidirectional.
 The output of one phase serves as the input of the next phase
 All activities involved in each phase are well planned so that what should
be done in the next phase and how it can be done.
 The feedback of each phase is available only after they are executed.
 It implements extensive review systems to ensure the process flow is going
in the right direction.
2.ITERATIVE/ INCREMENTAL OR FOUNTAIN MODEL
 One significant feature of this model is that even if you identify bugs in the
current design the development process proceeds with the design. Iterative and Incremental development is at the heart of a cyclic software
 The fixes for the bug are postponed till the support phase.
development process developed in response to the weaknesses of the waterfall
model.

The iterative model is the repetitive process in which the Waterfall model is  Provides working product model with at least minimum features at the
repeated over and over to correct the ambiguities observed in each iteration. first cycle.
 Minimized Risk
 Project management and testing is much simpler compared to a linear
model.
 Product development can be stopped at any stage with a bare minimum
working product.

Disadvantages

 Extensive review requirement each cycle.


 Impact on operations due to new releases.
 Training requirements for each new deployment at the end of each
development cycle.
 Structured and well-documented interface definition across modules to
accommodate changes

The above figure illustrates the repetitive nature of the Iterative model.
4 PROTOTYPING MODEL
 The core set of functions for each group is identified in the first cycle, it is
then built, deployed and release. This release is called as the first release.  It is similar to the iterative model and the product is developed in multiple
 Bug fixes and modification for first cycle carried out in second cycle. cycles.
 Process is repeated until all functionalities are implemented meeting the  The only difference is that the Prototyping model produces a refined
requirements. prototype of the product at the end of each cycle instead of
functionality/feature addition in each cycle as performed by the iterative
model.
 There won’t be any commercial deployment of the prototype of the
product at each cycle’s end.
 The shortcomings of the proto-model after each cycle are evaluated and
it is fixed in the next cycle.
Advantages
 After the initial requirement analysis, the design for the first prototype is
 Good development cycle feedback at each function/feature made, the development process is started.
implementation  On finishing the prototype, it is sent to the customer for evaluation.
 Data can be used as reference for similar product development in future.  The customer evaluates the product for the set of requirements and gives
 More responsive to changing user needs. his/her feedback to the developer in terms of shortcomings and
improvements needed.
 The developer refines the product according to the customer’s exact The activities involved are:
expectations and repeats the proto-development process.
1. Determine objectives, alternatives, constraints
 After a finite number of iterations, the final product is delivered to the
2. Evaluate alternatives, and identify and resolve risks
customer and launched in the market/operational environment
3. Develop and test
 In this approach, the product undergoes significant evolution as a result
4. Plan
of periodic shuttling of product information between the customer and
developer It combines the concept of the Linear Model and the iterative nature of the
Prototyping Model.
The prototyping model follows the approach-
 Requirement definition
 Proto-type development Prototyping Model
 Proto-type evaluation
In prototyping after the requirement analysis, the design for the prototype is
 Requirements refining
made and the development process is started.
On finishing the prototype it is sent to the customer for evaluation ie. Judgment.
After customer evaluation of the product, feedback is taken from the customer
in terms of what improvement is needed.
Then developer refines the product according to the customer’s expectations.

Linear Model
Spiral Model contains the concept of a linear model, having the following type.
 Requirement
 Analysis
 Design
 Implementation

5.SPIRAL MODEL
Spiral model is developed by Barry Boehm in 1988.
The Product development starts with project definition and traverse through all
phases of EDLC (Embedded Product Development Life Cycle).

 In this product modifications are implemented & product is made


operational in a production environment.

Hardware and Software Co-Design :


Digital systems designs consists of hardware components and software
programs that execute on the hardware platforms. Hardware and software co-
design can be defined as meeting System level objectives by exploiting the
cooperation between hardware and software through their concurrent design.
In Traditional Co-design, both hardware and software are designed by
independent groups of experts. But in concurrent design, both hardware and
software are designed by the same group of experts with cooperation. design.

Fundamental issues are as follows:


1) Selecting the model: In hardware-software co-design,
Requirement:
models are used for capturing and describing the system
This process is focused specifically on embedded software, to understand the characteristics. A model is a formal system consisting of
nature of the software to be build and what are the requirement for the objects and composition rules. It is hard to choose which
software. model should be followed in a particular design. Most often,
And the requirement for both the system & the software is documented & designers switch between a variety of models from
viewed by the customer. requirement specifications, as the objective varies with each
phase.
Analysis: 2) Selecting the architecture: specifies how a system is going to
The analysis is performed to develop a detailed functional module under implement in terms of a number of types of different
consideration. components and the interconnection between them.
Common classifications of architecture are as follows:
The product is defined in detail with respect to the input, processing & output. a) Application Specific Architecture Class (Controller
This phase emphasizes on determining ‘what function must be performed by Architecture)
the product’ & how to perform those functions. b) General purpose class (CISC, RISC)
c) Parallel processing class(VLIW,SIMD, MIMD)
Design:
1. The Controller Architecture implements the finite state
Product design deals with the entire design of the product taking the machine model using a state register and combinational
requirement into consideration. circuits. The state register holds the present state and the
The design phase translates requirements into representation. combinational circuits implement the logic for the next state
and output. The Datapath Architecture implements the data
Implementation: flow graph model where the output is generated as a result
 In this process, the launching of a first fully functional model of the of a set of predefined computations on the input data.
product in the market is done or handing over the model is to an end 2 .A datapath represents a channel between the input and
user/client. output. In datapath Architecture, datapath may contain

registers, counters, register files, memories and ports along systems communicates through mechanisms like shared
with a high-speed arithmetic unit. memory and message passing.
3. The Finite State Machine Datapath (FSMD) architecture
combines the controller architecture with datapath 3) Selecting the language: A programming language captures a
architecture. It implements a controllerwith datapath. The Computational model and maps it into architecture. A model
controller generates the control inputs whereas the can be captured using multiple programming languages like
datapath process the data. The datapath has two type of I/O C, C++, C#, Java, etc. for software implementation and
ports, one acts as a control port for receiving/ sending the languages like VHDL, System C, Verilog, etc. for hardware
control inputs and second one interfaces the datapath with implementations. C++ is a good candidate for capturing an
external world for data input and output. object-oriented model.
4. The Complex Instruction Set Computing (CISC)
architecture uses an instruction set representing complex 4) Partitioning System Requirements into Hardware and
operations. It is possible for a CISC instruction set to perform Software: From an implementing perspective, it may be
a large complex operation with a single instruction. The use possible to implement the system requirements in either
of single instruction greatly reduces the program memory hardware or software. It is a tough decision-making task to
access and program memory size requirement. figure out which one to opt. Various hardware and software
5 The Reduced Instruction Set Computing (RISC) uses trade-offs are used for making a decision on hardware-
instruction set representing simple operations and it requires software partitioning.
the execution of multiple RISC instruction to perform
complex instructions. The datapath of RISC architecture
Computational Models: commonly used computational models are:
contains a large register file for storing operand and output. 1. Data Flow Graph (DFG) model,
It supports extensive pipelining. 2. State Machine model,
6 The Very Long Instruction Word (VLIW) architecture 3. Concurrent Process model,
implements multiple functional units in the datapath. The
VLIW instruction packages one standard instruction per
4. Sequence Program Model,
functional units of the datapath. Parallel processing architect 5. Object Oriented Model
7.Parallel processing architecture implements multiple
concurrent processing elements (PE) and each processing
element may associate a datapath containing register and 1. Data Flow Graph:
local memory.  Translates the data processing requirement into a data flow graph.
8.In Single Instruction Multiple Data (SIMD), a single  Data-driven model in which program execution is determined by data.
instruction is executed in parallel with the help of the  Emphasizes on data and operation on data which transforms the input
processing element (PE). The scheduling of instruction data to output.
execution and controlling of each PE is performed by single  Translates the program as a single sequential process execution.
controller.  Visual model in which operation on data is represented in a circle and
9.In Multiple Instruction Multiple Data (MIMD), the data flow is represented by a directed arrow.
processing elements executes different instruction at a given  An inward arrow to the circle represents the input data and an outward
point of time. The MIMD architecture forms the basis of arrow from the circle represents the output data in DFG.
multiprocessing systems. The PE’s in the multiprocessing  A datapath is the data flow path from input to output.
 A DFG model is said to be acyclic DFG, if it doesn’t have multiple values
for input variables and output variables .
3. State Machine Model : The state machine is used for modelling reactive
or event-driven system for processing behavior are dependent on state
transitions. The state machine describes the system behavior with States,
Events, Actions and Transitions. State is a representation of a current
situation. An event is an input to state. The event act as stimuli for state
transition. Transition is the movement from one state to another. Action
is the activity to be performed by the state machine.

2.Control Data Flow Graph :


 The control data flow graph model is used for modelling applications
involving conditional program execution.
 CDFG models contains both data operations and control operations.
 CDFG uses Data Flow Graphs as element and conditional as decision
makers.
 CDFG contain both data flow nodes and decision nodes.
4.Sequential programming model,: In the sequential programming
 Control node is represented by diamond block which is the decision-
model, the functions or processing requirements are executed in
making element in normal flow chart design.
sequence. It is same as the conventional procedural programming. Here
 CDFG translates the requirement to a concurrent process model. the program instruction are iterated and executed conditionally and the
data gets transformed through a series of operations. FSM’s are good
choice for sequential program modelling. Another important tool used for
modelling sequential program is Flow charts. The FSM represents states,
events, transitions and actions, whereas Flow charts models the
execution flow. Figure illustrate the flow chart approach:

5.Concurrent/Communicating Process Model: The concurrent or


communicating process model models concurrently executing task/process. It is easier
to implement certain requirements in a concurrent processing model than in
conventional sequential execution. Sequential execution leads to a single sequential
execution of the task and thereby leads to poor processor utilization, when the task
involves I/O waiting, sleeping for a specific duration, etc. If the task is split into
multiple subtasks, it is possible to tackle the CPU usage effectively. The concurrent
processing model requires additional overheads in task scheduling, task
synchronization, and communication.

You might also like