230 likes | 364 Views
SEESCOA. Philips TASS Belgium. General Info. T echnical A pplication S oftware S ervices Contact persons : Bart Mantels Andries Rombouts. Services. Flexible Staffing Project Services Consultancy For internal Philips customers For external market. Development teams.
E N D
SEESCOA Philips TASS Belgium
General Info • Technical • Application • Software • Services • Contact persons : • Bart Mantels • Andries Rombouts
Services • Flexible Staffing • Project Services • Consultancy • For internal Philips customers • For external market
Development teams • Most TASS employees are engineers (ir, ing) with a degree in electronics or computer science • Flexible staffing • TASS employees work in customer teams • Team size depends on customer • Number of TASS employees per team between one and three • Project services • Teams range from three to five TASS employees
Development Cost • Flexible staffing • highly dependent on customer / product • Project services • 95% of development cost is personnel cost • Remaining 5% is for HW and SW tools
Application Domain • TASS is a service provider in the field of technical software development, focusing on embedded software • Application domain depends upon the customer
Battery Management Application • Development effort : 3 to 4 man years • Development time : 7 to 8 months • Estimating remaining capacity of a battery • Main processes • Estimation • Communication with external device • Power management
Battery Management Application (2) • Operational characteristics • reliability • serviceability • Hardware characteristics • 80C51 processor (analyzing low power alternatives) • I2C bus for communication with EEPROM • One-wire RS232 (YBUS) communication with external device • Dedicated one-wire protocol with measurement devices • No RTOS used
Battery Management Application (3) • Mainly soft real-time constraints • slave in communication with external device • master in communication with measuring devices • one wire protocols are very time-sensitive • enabling / disabling interrupts • Memory constraints (size) • Power consumption constraints • Power is what the application is all about
Process • Based upon the TASS Quality Handbook • CMM level 2 compliant • V-model Customer Requirements Specification Acceptance test Software Requirements Specification System test Top-level Design Integration test Module design Module test Coding
Process (2) • Reviews throughout the whole process • Configuration Management • PVCS • Change control • CR/PR mechanism • QCCB • Quality Assurance
Software Requirements • Word document with Visio drawings • Based upon Software Requirements Specification template • General product description • product perspective, user characteristics,... • Functional requirements • processes, objects, system dynamics (FSM) • External interface requirements • user interface, SW interface, HW interface • Non-functional requirements • performance, availability, security, integrity,... • Design constraints
Analysis • Word document with Visio drawings • Structured Analysis • DFD • FSM • Data Dictionary • Visio SASD Template • easy to use • integration with Office • only a drawing tool • consistency • completeness
Architectural Design Module A Module B • Word document with Visio drawings • Drawings describe architecture • layers • modules • interfaces
Detailed Design • Word document with Visio drawings • Based upon Software Design Description template • Functional decomposition • Behavior • Data decomposition (minimal) • Design decisions • Structured Design • Structure charts, flowcharts • PSPECS, CSPECS • FSM
Coding • CodeWright editor • TASKING C compiler for 80C51 • Support • Cost • C compiler ? • Ceibo emulator • problems with reset behavior • ICE-prom EEPROM emulator • easier than writing an EEPROM
Module Testing • Ceibo debugger • Based upon Module Test Specification / Report templates • In practice test reports are made in Excel
Integration Testing • Based upon Integration Test Specification / Report templates • Test environment • Test cases • Precondition • Action • Result
System and acceptance tests • Based upon System Test Specification / Report templates • Performed by system test group • battery knowledge • specialized equipment needed • Test tool to simulate communication with external device
Methodologies • SASD • Suited for technical applications • DFD • FSM • Easy to learn for people without SW education • Disadvantages of top-down development • Encapsulation is not straightforward • Early focus on solution instead of problem
Methodologies (2) • UML • No paradigm shift between development stages • Less straightforward to use in technical context (classes, objects) • OO languages for embedded processors ? • Extend with • Petri Nets (Synchronization) • Memory size and type (Deployment) • Time constraints
Components and reuse • TASS is active in a number of different technical domains • Only generic types of reuse are useful for TASS • Patterns • Plain old experience • Code reuse and component libraries are part of the business of our customer
Problems and expectations • Methodologies and tools should be more than a standard way of communication • They should help the developer to build • correct • efficient • maintainable • … systems