We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byEdgardo Agate
Modified over 2 years ago
1 © NOKIA 18-10-2005 A Process Model of Developing Micro- code for a Network Processor 18.10.2005 Jani Koski Author: Jani Koski Supervisor: Prof. Raimo Kantola Instructor: M.Sc Marko Lohjala
2 © NOKIA 18-10-2005 Contents Introduction to the study Network device Network Processor (NP) Micro code for NP Why research was made Research problem How to make micro code? Micro code SW process? Research method Search best SW model from literature Let’s take to account the nature of Micro code, environment, etc => case study Case study Project analysis NP analysis Micro code analysis The result
3 © NOKIA 18-10-2005 Network device Network Processor (NP)
4 © NOKIA 18-10-2005 Network Processor (NP) Micro code
5 © NOKIA 18-10-2005 Why research was made Previously micro code was done by Agere Systems But also the Nokia had knowledge to produce the micro code Faster SW integration if Nokia produce the micro code it selves? Nokia did not have any process for producing APP550 specific micro code
6 © NOKIA 18-10-2005 Research problem QIn what level “micro code SW process” should be investigated? QSchedule of micro code SW process? When to implement micro code? QHow to implement micro code to support HW-test? QThe nature of micro code? How does it differ from traditional coding? QHow do we test micro code? What tools do we have? QCan we reuse some generic SW process models using literature?
7 © NOKIA 18-10-2005 Answers (Q1) QIn what level should question “micro code SW process?” be investigated? AThe level is Generic micro code SW process model. AIt means that we will find different generic SW process models (e.g. Spiral model, Water Fall model) from literature and approach our question from academic point of view. AWe avoid “copy-paste” method and existing Nokia SW process models are not used ATo choose best model from literature we need information about nature of Micro code.
8 © NOKIA 18-10-2005 Answers (Q2) QSchedule of micro code SW process? When to implement micro code? Somewhere middle of HW and SW schedule? AHW must get some preliminary version from micro code to make their HW tests (HW MT). Without micro code it is not possible. ASchedule is most likely following: simulation Test board (e.g. Hydra) Test version to support HW test Final version
9 © NOKIA 18-10-2005 Answers (Q2) cont. QHow to map the micro code SW process to our HW milestone? AWe have different kind of SW to be integrated: OS, SW, Micro code AFor micro code at least four different “versions” can be identified: 1. Preliminary micro code version 1 test with simulator 2. Preliminary micro code version 2 test with test board 3. Preliminary micro code version 3 to support HW test 4. Final micro code version 4 with all feature support simulation Test board (e.g. Hydra) Test version to support HW test Final version
10 © NOKIA 18-10-2005 Answers (Q3) QHow to implement micro code to support HW-test? AWe need some input from HW group to make sufficient first version from micro code to HW group. AAfter knowing requirements we can implements micro code.
11 © NOKIA 18-10-2005 Answers (Q4) QThe nature of Micro code? How does it differ from traditional coding (like C, C++, Java) or does it differ at all? AYes, micro code differs from traditional coding. If we compare e.g. to C language and SW done with that, micro code is: o Usually less code lines than in C => no big resources needed o Available memory is usually small Big micro code software not possible Available memory can not be used as in C (we have no pointers). o Instruction set smaller than in C o Same code editors can be used (emacs, UltraEdit) o Micro code can be simulated with simulator (SPA if APP is used) o Note that there are different versions of APP and simulators! o Debugging is different (and difficult) in micro code ( printf(“Hello world”); is not possible).
12 © NOKIA 18-10-2005 Answers (Q4) cont. QThe nature of Micro code? How does it differ from traditional coding (like C, C++, Java) or does it differ at all? AYes, micro code differs from traditional coding. If we compare e.g. to C language and SW done with that, micro code is (APP): o Real time programming o In micro code we have only very limited time to use per received cell or PDU o In micro code we may have dynamic changing code (using searching trees). Trees are usually modified by some host processor. o Micro code compiler gives similar kind of warning and error than e.g. gcc.
13 © NOKIA 18-10-2005 Answers (Q5) QHow do we test micro code? What tools do we have? AHW can not be ready if it is not verified by HW MT (HardWare Module Testing). HW MT needs some preliminary micro code for testing. But how do we create micro code if we can not test that in some HW? Chicken-Egg problem ABecause we do not have HW ready for testing we need simulator. Usually manufacturer can offer a simulator for their NP (e.g. SPA for APP). But simulator may have some SW bugs and we can not be 100% sure that micro code is really working. We could use also “test boards” that include the real NP (delivered by manufacturer). E.g Agere’s Hydra. AWhen our HW is ready we will continue testing with that. Testing equipment needed! (e.g. packet generator etc.) Simulator can be still used.
14 © NOKIA 18-10-2005 Answers (Q6) QCan we reuse some generic SW process models using literature? AGeneric SW process models from literature AOther SW process models. AAgility methods in SW process models.
15 © NOKIA 18-10-2005 Choosing the SW process AGeneric SW process models from literature : 1. Water fall model is too heavy process model for micro code. It produce lot of documentation and it’s applicable for big process 2. Evolution model is a good model for producing complex SW. SW is produced iterative but that will cause lot of updates to documentation. The biggest disadvantage is poor SW architecture caused by this model. 3. Component model uses old SW as much as possible. This leads SW design where SW components are very generic. However, the result is usually big SW because code is not optimized.
16 © NOKIA 18-10-2005 Choosing the SW process AOther SW process models: 1. Prototyping is very useful model for example finding out critical capacity questions 2. RUP (Rational Unified Process) is a combination of Water fall, Evolution Component models 3. Formal models is based on mathematical forms 4. 4 GT models are higher level tools for generating code 5. “Code and fix” –model is a poor model 6. Spiral model is a model for minimizing risks
17 © NOKIA 18-10-2005 Choosing the SW process AAgility methods in SW process models: 1. XP (Extreme Programming) was used as a main model for micro code 2. RAD (Rapid Application Development) is developed from 4 GT models
18 © NOKIA 18-10-2005 XP-model Based on iteration Pair programming For small projects (e.g. about 2-12 programmers) Promotes team work Stresses customer satisfaction (e.g. other project) Customer is part of the process Developers, managers and customers are working together Design unit test case before coding Automatic testing
19 © NOKIA 18-10-2005 The Micro code SW process documentation DB Micro code design documentation Micro code requirement documentation Host processor interface specification HW test specificationProduct requirement specification
20 © NOKIA 18-10-2005 Detailed micro code SW process
21 © NOKIA 18-10-2005 Conclusion Feature IP QoS was implemented by using the micro code SW process Micro code SW process works but is it efficient? Requires measurements later (out of this thesis) Component model was used but XP model is dominating Pair programming in XP model may face some problems. E.g cultural and behavioural problems
22 © NOKIA 18-10-2005 Questions? Comments? Any new ideas? Thank you!
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition 1’s to 20.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Chapter 11 Software Evolution
25 seconds left…...
We will resume in: 25 Minutes.
Systems Development Project Management Chapter Extension 15.
Testing Workflow Purpose
0 - 0.
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
CIS 321—IS Analysis & Design
Test B, 100 Subtraction Facts
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Introduction to Software Development. Systems Life Cycle Analysis Collect and examine data Analyze current system and data flow Design Plan your.
Chapter 1 Introduction to the Programmable Logic Controllers.
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
main idea and supporting details
Electric Bus Management System
By Rick Clements Software Testing 101 By Rick Clements
Chapter 10 Software Testing
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
1 CMPT 275 Software Engineering Software life cycle.
Chapter 14 Intranets & Extranets. Awad –Electronic Commerce 1/e © 2002 Prentice Hall 2 OBJECTIVES Introduction Technical Infrastructure Planning an Intranet.
© Copyright 2006 FPT Software 1 © FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 How to work in Fsoft project Authors: KienNT.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
1 4 Square Questions B A D C Look carefully to the diagram Now I will ask you 4 questions about this square. Are you ready?
Jump to first page One-gigabit Router Oskar E. Bruening and Cemal Akcaba Advisor: Prof. Agarwal.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering Software Engineering.
Lecture 6: Software Design (Part I)
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
© 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper.
System Development MIS Chapter 6 Jack G. Zheng May 28 th 2008.
Lecture 22, Revision 1 Lecture notes Java code – CodeFromLectures folder* Example class sheets – 4 of these plus solutions Extra examples (quicksort) Lab.
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
1 Unit 1 Kinematics Chapter 1 Day
Reporting Systems and OLAP Chapter Extension 13. ce13-2 Study Questions Q1: How do reporting systems enable people to create information? Q2: What are.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Software Life Cycle and Models
Supervisor: Prof. Jyri Hämäläinen Instructor: Jari Simolin (M.Sc), Nokia Siemens Networks Espoo, Jyri Ilama.
1 PART 1 ILLUSTRATION OF DOCUMENTS Brief introduction to the documents contained in the envelope Detailed clarification of the documents content.
© 2017 SlidePlayer.com Inc. All rights reserved.