Wednesday, July 6, 2011

TVS and Embitel Collaboration


Software testing and hardware verification provider TVS opens office in India and takes part in a UK trade mission to the country.

UK company TVS, a supplier of software testing and hardware verification solutions, has opened an office in BangaloreIndia. The office, which is a joint business venture with local company Embitel, aims to bring chip verification and validation services to the Indian market, but also offers TVS’s UK and European customers a safe route to off-shore development in chip design and verification.

TVS specialises in providing software testing and hardware verification solutions to customers in the software and electronics industry either by providing highly-qualified and experienced verification engineers for an in-house project, or by organising off-shore chip verification services through a blended delivery model.

A number of companies recognise the benefits that off-shore development brings - mainly access to large numbers of highly educated, professional engineers - but find it difficult to find the right partners and then execute on their projects,” says Mike Bartley, CEO of TVS. “Managing off-shore development can be a challenging process, but at TVS we have many years experience of handling such projects for our clients. Now with our new Indian office we are validating our long-standing relationship with the country and our confidence in the skills and expertise of its engineers. Our blended delivery model provides the local support to companies in Europe along with access to the talent pool in India.”

The company is already executing projects in Bangalore and Embitel has a good reputation in bringing embedded software development services to that market.  

“This joint venture will benefit the customers of both companies,” said Sharad Bairathi, managing partner at Embitel. “Our joint partnership provides a fuller range of expertise and gives us the ability to take on full product testing through use of hardware and software expertise as well as complete product development.”

TVS recently identified several major opportunities in the European market and is now recruiting into its Indian office to service those opportunities.


For more information, please contact:
Mike Bartley, CEO, Test and Verification Solutions (TVS)
Tel: +44 (0)7796 307958; mike@tandvsolns.co.uk


About TVS: TVS (BristolUK) delivers an independent testing service that not only reduces costs and time-to-market, but also improves product quality. TVS combines skills and experience in software testing, hardware verification and outsourcing to provide customers with an efficient, well-managed, quality assurance service. The company provides both consultancy and execution services using experienced engineering resources in several locations around the world. TVS customers include ARM, Panasonic, Dialog, DisplayLink, Icera, ClearSpeed, XMOS and Gnodal. Its technology partners include Cadence and Mentor Graphics.


About Embitel: Embitel has extensive experience in full lifecycle of embedded development and testing of real time complex solutions for global customers. Its technology partners include Texas Instruments, ARM, Samtec, CMD, Comlet, escrypt and Microchip. Embitel is also rated among TOP 21 innovators in India by NASSCOM.

Friday, July 1, 2011

Porting Embedded Software


Porting Embedded Software


At embitel, we have extensive experience in embedded software posting to various flavors controller architectures and platforms. We offer complete software stack porting and last mile services for software porting requirements.

Objectives of Porting

A porting project has one for combination of following objective:
  • Migration of software stack to a different processor architecture
  • Migration of software stack to a different operating system
  • Migration of software to a different technology platform

Requirements for Porting

To begin with any porting project, we would normally require all the available documentation and source code. For example:
  • Original design document, interface documents, test specifications
  • Details of tool chain used for source system
  • Details of tool chain of target system if already identified

In case the current system under port does not have sufficient documentation, we would start the porting activity with preparation of code flow diagram, interface diagram and hardware and software integration documents.

3P Framework for Porting

We follow 3P strategy (three phases) with distinct objective at every phase:    
1.    Feasibility analysis phase
2.    Implementation phase
3.    Testing and validation phase

The objective in feasibility analysis phase is to bring out all dependencies and detailed statement of work. This phase also helps in verifying suitability of target system for software stack under port.

The objective in Implementation phase is to progress as per outlines tasks in statement of work. The involved detailed design study, source code walk through, tracing portable and not portable code, looking for performance optimization issues, HW and SW integration requirement, communication channel requirements, and operating system and hardware abstraction layers and re-writing of non-portable code.

The Testing and validation phase starts in parallel to porting phase and ends after the porting phase. During this period, the test strategy is decided. All test plans, test data, test code are written in this phase. The basic objective of testing are to ensure that software functionality of the system is not after porting to new target system and also to ensure performance requirements.

Feasibility Analysis Phase

We do a feasibility study to ensure porting objective and features of existing system.
The feasibility phase includes following decision point:
  • Understanding the source system
  • This includes studying the original design documentation or user documentation to know about the s/w functionality and behavior in details. If the supporting documents are not available, knowledge transfer from customer is expected.
  • Deciding Target Development Tools
  • Deciding upon the suitable target development tools can be a critical step for simplifying the task of porting. These are finalized with mutual discussions with customer.
  • Deciding About Porting Strategies
  • Porting strategy includes identification of portable and non-portable code. Non-portable architectural differences include moving among 8-, 16-, and 32-bit architectures; support for different controllers and peripherals etc
  • Testing strategy
  • Before starting the port, we determine what test cases and procedures are in place or need to be developed. Possibility to apply the test vectors and measure the results on both the source and the destination systems for comparison are also ensured. 
     

Implementation Phase

The implementation strategy varies based on the porting objective. The strategy followed here is “A step at a time” that is to get the basic main framework of the software stack, with bare minimum functionalities, on the target platform, at the earliest.

A typical work-flow for migration to new processor architecture is,
  • Get the OS up and running on the target hardware.
  • Port the Hardware and operating system abstraction layer
  • Port all required component driver, protocol stacks etc
  • Port the application software module by module
  • After a functional port is ready, optimize the software modules
  • Do a system validation against predefined system vectors
  • Complete the process by updating relevant documentation

Testing and Validation Phase

We perform standard Quality assurance practices to ensure quality of deliverables.
Our Testing Strategy Includes:
  • Automated testing - Code coverage, memory leak detection, performance profiling and UML tracing
  • Unit testing – Module level testing to validate individual units of code
  • Functional testing – Validation against functional requirements
  • System testing - Verification of total software system for all of its functional, quality attribute and operational requirements