Friday 8 August 2014

V-Cycle Development Process in Automotive System

The automotive industry is a wide range of companies and organizations involved in the design, development, manufacture, marketing, and selling of motor vehicles. It is one of the world's most important economic sectors by revenue. The automotive industry does not include industries dedicated to the maintenance of auto-mobiles following delivery to the end-user, such as auto-mobile repair shops and motor fuel filling stations.




In the Automotive industry, many companies follow different development process to improve quality, reduce cost of its product, provide best features like comfort, safety, less fuel consumption, power etc.

One of the best process that many companies have been following till now is V-cycle methodology of development process.

In an Automotive industry everything starts from customer and ends at customer because they are the one going to buy their product. So before developing a new model or product, an automotive industry analyse the market needs and ask for the customer expectations. Based on the customer expectations, industry try to develop a product with its technical competency. It also considers legal regulations into account while developing new product. and finally there should be something new in the product otherwise why will people buy a product which is is already exist in the market.

So, based on all these information and inputs, experts from the industry derive the technical requirements to achieve customer needs, meet legal regulations and add something best into new product.

The requirement derived from the experts or experienced people will have high level features and high level requirements and it does not cover too many technical details.It is complete end to end functionalities of a vehicle. For example customer needs comfort. To have very good comfort in a vehicle, company can introduce leaf suspension or electronically controlled suspension etc.. So Experts will decide which type of suspension to be used in the future vehicle to give off best comfort to the driver and also thinks about cost involved that.
There are advanced safety features like Adaptive Cruise Control, Line Keeping Support, Blind Spot Detection System etc. To realize these features, a vehicle will be having so many on board control unit(ECU) communicating with each other to exchange the  information within them. These high level requirements do not say about number of ECUs involved, module dependency etc.   

The next phase will be the development of decided feature. If the high level requirement just says ECS(Electronically controlled Suspension) to a developer, definitely developer will go mad because without any technical details developer can not implement anything. So vehicle level requirement author will try to capture all technical requirements which are necessarily required for a developer for development. 

The vehicle level requirements will have the complete end to end vehicle(Technical) requirements but, a developer can not develop everything at once. So the developer will capture ECU level requirements from end to end functional requirements . 
For Example consider a requirement of  "If driver presses accelerator pedal then engine speed shall increase". For this complete requirement there would be more than 2 ECUs involved. One ECU might read the accelerator pedal sensor signal and convert it into equivalent percentage level and transmit to other ECU to convert corresponding engine speed. So developer will develop a function to read accelerator pedal signal in one ECU and other developer will develop a function to receive the percentage accelerator value and convert this to engine speed in one more ECU. This phase is called ECU level development.
A developer will derive the ECU level detailed technical requirements from End to End vehicle level requirements(Cross functionality requirements). ECU level requirement will be have complete details about requirements, dependency with other ECUs, CAN or J1939 messages etc.

The next phase of the development cycle will be preparing software design documents from ECU level requirements. Software Design Document will have information about software architecture, modularity, Number of global variables, extern  variables used, number of functions in a module, periodicity of the module(Function)  and algorithm or flow chat design of complete software.

Software implementation will start from Software Design Document. Software implementation can follow MatLab modelling or Hand code.
Hand code can use programming languages like C or C++. It can be assembly language to some extent.

Once the software is ready then developer will perform unit testing. The objective of unit testing is to find out the bugs or issues in each module of software. It can also extends to check for redundancy in a module.
Unit testing is performed by simulating all possible values for parameters of module including boundary values.
Unit testing will also help in determining the code coverage. It can be Manual or Automated testing.

Advantages of Unit testing:

1. Issues are found at early stage. Since unit testing are carried out by developers where they test their individual code before the integration. Hence the issues can be found very early and can be resolved then and there without impacting the other piece of codes.

2. Unit testing helps in maintaining and changing the code. This is possible by making the codes less interdependent so that unit testing can be executed. Hence chances of impact of changes to any other code gets reduced.

3. Since the bugs are found early in unit testing hence it also helps in reducing the cost of bug fixes. Just imagine the cost of bug found during the later stages of development like during system testing or during acceptance testing.

4. Unit testing helps in simplifying the debugging process. If suppose a test fails then only latest changes made in code needs to be debugged.

If there are any issues in Unit testing then developer will work on it and make necessary changes on it to make it work or behave as per the requirements.
The input for unit test will be Software Design Document. The plan for unit test will come in parallel with software development. All test cases in Unit test will independent of software development methodology. 

The next step in development cycle will be Integration. In integration develops integrates all modules and will have the final executable which will be flashed on Electronic Control Unit(ECU). Once integration is done then developer performs integration testing. The objective of integration testing will be finding out issues at functional level. It also enables in finding out issues of module dependencies, data integrity, data flow and timing.
If there are any issues found in Integration testing the developer will work on those issues and make necessary changes  to make it work as per requirements.
The input for Integration test also will be Software Design Document. The plan for integration test will come in parallel with software development. All test cases in Integration test will independent of software development process and methodology.

Once the complete software is ready then developer performs Smoke test on level to check all functionality and deliver it for Component Verification.

Component Verification will be performed by verifiers and will be extensive test carried on the delivered software.
In component verification, verifiers will verify ECU level functionalities by simulating signal from other ECUs.
Component verification will also includes validation of non functional and diagnostics requirements of an ECU.
Component verification can be manual or Automation.
Input for Component verification will be ECU level requirement document. The plan for component verification will come in parallel with preparation of software of design document. All test cases in component verification will independent of software methodology and Process.
If there any issues found in component verification then verifier will report to developer then developer will analyse the issue and will make necessary changes to make it work as per requirements and re deliver the software.

The next phase of  development process will be Integration Testing. In integration testing, system verifiers will integrate all ECUs which are part of vehicle. The objective of integration testing is to validate the end to end vehicle level functionalities and finding issues related to communication between two ECUs, timing issues, Data integrity and Data flow between two or more ECUs.
System integration verification will also include validation of non functional and diagnostic requirements of vehicle.
System level testing can be manual or Automation.
Input for system integration testing will be cross functional requirement documents. Then plan for system integration verification will come in parallel with preparation of ECU level requirements.
If there are any issues found in System integration testing then verifier will report to developer. Developer will analyse the issues and will make necessary changes to make it work as per requirements and re deliver the software.

The next phase of vehicle development will be vehicle level verification. In vehicle level verification , verifier will integrate all ECUs in vehicle and validate the end to end functionalities. The objective of vehicle level verification is to validate the end to end vehicle level functionalities on vehicle, system behaviour on real time environment and finding issues if there are any.
Input for vehicle level verification will be High level functional requirement documents. The plan for vehicle level verification will come in parallel with preparation of cross functional requirements.
If there are any issues found in System integration testing then verifier will report to developer. Developer will analyse the issues and will make necessary changes to make it work as per requirements and re deliver the software.

If everything is fine the vehicle will go for certification. In certification a government official will check for legal requirement ans will assure certificate of clearance.









2 comments:

  1. Useful . Thank you for the info. :)

    ReplyDelete
  2. Love to read it,Waiting For More new Update and I Already Read your Recent Post its Great Thanks. centralina bmw c 650 sport

    ReplyDelete