EDLC in Embedded Systems Guide
EDLC in Embedded Systems Guide
tech (3rd year) EDLC defines the interaction and activities among variousgroups 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 andcomplexity 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.
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.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.
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
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).
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.