Eindhoven University of Technology MASTER Interactive Printer
Total Page:16
File Type:pdf, Size:1020Kb
Eindhoven University of Technology MASTER Interactive printer simulation visualization Li, S.H. Award date: 2010 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain Interactive Printer Simulation Visualization Siu Hong Li June 2010 Abstract For developing and testing embedded control software at Oc´e,Software-in-the-Loop simulations are used to allow testing in earlier phases of development. These produce large logfiles in an unstructured format, which have to be examined to analyze the behavior of the control software and to test the control software itself. In a previous project, a toolbox for visualization of the simulation data has been developed. In this project, we go beyond visualization only, and propose a computational steering application. This makes it possible to manipulate the simulation from the visualization environment. This thesis describes the architecture and design of the visualization, which is extended with the ability for the user to instantly send feedback back to the simulation and thus creating a computational steering environment. While computational steering is generally used for computational intensive and distributed systems, we will now apply this to embedded software testing. We will demonstrate the effectiveness of our approach by a number of realistic scenarios. The Software-In-the-Loop simulations can be manipulated, in real time, using an interactive visual- ization of the simulation. This results in a visual responsive way of testing embedded software, which is applicable in early phases of embedded software development. This also shows how computational steering can be used for embedded software testing. 2 Oc´eTechnologies BV { Technische Universiteit Eindhoven Acknowledgements I would like to thank my project supervisors Michel Westenberg and Lou Somers for their input, guidance and support during this project. I would also like to thank Klemens Schindler and Amar Kalloe for their input during the project. Furthermore I would like to thank the following persons for help and expertise offered during this project: Werner de Kort, Ruud Jacobs, Hank van Bekkem, Harald Schwindt, Joost Janse, Christian Lamit, Dennis Ebben and Sander Hulsenboom. Siu Hong Li Oc´eTechnologies BV { Technische Universiteit Eindhoven 3 Contents 1 Introduction 6 2 Analysis 7 2.1 Domain Analysis . .7 2.1.1 About Oc´eTechnologies R&D . .7 2.1.2 Printer development . .7 2.2 Current Situation . 10 2.3 Software Environment . 10 2.3.1 Software In the Loop (SIL) . 11 2.3.2 Embedded software (ESW) . 11 2.3.3 Remote Control (RC) . 11 2.3.4 Test Executor (TE) . 11 2.3.5 Universal Tester (UT) . 11 2.3.6 MoBasE Data Model . 11 2.3.7 Visualization . 12 2.3.8 High Bandwidth Logger . 12 2.4 Stake Holders . 12 2.4.1 Embedded Software Engineer . 12 2.4.2 Integrator . 12 2.4.3 Test Engineer . 13 2.4.4 Timing designer . 13 2.4.5 Machine Architect . 13 2.4.6 Physical Model designer . 14 2.5 Previous work . 14 2.5.1 Computational Steering Environment . 14 2.5.2 SILVis . 14 2.6 Goal . 15 3 Requirements 16 3.1 Functional requirements . 16 3.1.1 Time-related requirements . 16 3.1.2 Part-related requirements . 16 3.1.3 Simulated Concept requirements . 17 3.1.4 Configuration/storage requirements . 17 3.2 Non-functional requirements . 18 4 Architecture 19 4.1 Used technology . 19 4.2 Components . 19 4.2.1 Recorder . 19 4.2.2 Data Model . 20 4.2.3 VisualizationHandlerCollection . 20 4 Oc´eTechnologies BV { Technische Universiteit Eindhoven Interactive Printer Simulation Visualization 4.2.4 VisualizationMainFrame . 21 4.2.5 CEGUIHandlerCollection . 21 4.2.6 Feedback . 21 4.2.7 Configuration . 21 4.3 Architectural Design Decisions . 22 4.3.1 Dynamic data in the data model . 22 4.3.2 Picking Mechanism . 22 5 Design 24 5.1 Graphical User Interface . 24 5.1.1 Views . 24 5.1.2 wxWidgets Layer . 25 5.1.3 CEGUI Layer . 25 5.1.4 3D scene Layer . 28 5.1.5 Graphical User Interface Design Decisions . 28 6 Results 32 6.1 Use cases . 32 6.1.1 Starting the visualization with simulation and tool environment . 34 6.1.2 Configuration of selectable/viewable items and GUI . 34 6.1.3 Heat model testing . 34 6.1.4 Error handling test . 35 6.1.5 Error recovery test . 35 6.2 Verification . 36 6.2.1 Functional requirements verification . 36 6.2.2 Non-functional requirements verification . 38 7 Conclusion 39 8 Future Work 40 8.1 Recording and replaying saved sessions . 40 8.2 Extend the interface with ability to send feedback to the steering interface of the process simulation . 40 8.3 Add an edit modus that allows the user to change the simulated machine configuration 40 8.4 Create a more direct mechanism to communicate with the Test Executor and load/save test cases . 40 8.5 POI management system for more complex scenarios . 41 Oc´eTechnologies BV { Technische Universiteit Eindhoven 5 Chapter 1 Introduction Oc´eis a company where high performance printing systems are developed and manufactured. These systems consist of both embedded software and hardware. Both are developed concurrently when a design has been made. It is desirable to be able to test the software during development, but the hardware on which it should run is not always available for testing. Therefore, the testing platforms called "Software in the Loop" and "Hardware in the Loop" have been developed for testing the software. These platforms provide a virtual machine(the part called "plant" in control theory) for communication with the software. For "Software in the Loop" the "plant" is simulated in software whereas for "Hardware in the Loop" this is done in hardware. The state of the plant is not represented in a way that is easy to understand. During tests the states of elements of the platform are dumped in long log files that are hard to read. For better understanding of what is happening during a simulation, a visualization framework is being developed which visualizes directly the state of the plant while the simulation is running. By adding the ability to manipulate the state of the plant simulations can be done more efficiently. In Software-in-the-Loop simulation used at Oc´e,this has been partially implemented in an interface which allows an external party to change certain variables in the Software-in- the-Loop simulation. The interface for this is currently a not so user friendly command based interface. The goal of this project is to design and implement a rich graphical user interface for this interface and extend the visualization framework for this purpose. In the following chapters we will describe the current situation and domain in more detail. We will describe the stake holders and goals. From that we will work out requirements. Furthermore we will describe the architecture, design and design decisions made during this project. Also the final implementation will be discussed. We will discuss the result of this project and provide some points for future work. 6 Oc´eTechnologies BV { Technische Universiteit Eindhoven Chapter 2 Analysis 2.1 Domain Analysis 2.1.1 About Oc´eTechnologies R&D The activities of Oc´eR&D are to research and develop new products that are used in document systems. These products are primarily printers and copiers and may consist of multiple modules like an external PIM (paper input), a printing module and a finisher(post processing like folding or stapling) as can be seen in Fig 2.1. Oc´eis specialized in high end, durable machines. Most of the equipment is high speed, high volume and therefore has to last for many prints. Due to the high quality and reliability requirements, developing the products is an intensive process where speed of development is of importance. Designing these printers and copiers requires expertise in many disciplines including computer science. 2.1.2 Printer development Printer and copiers have development cycles like any other software intensive system. A typical development cycle comprises of requirements acquisition and analysis, design, implementation and testing until the requirements are validated and the product is ready for release. This is done for both hardware and software which are integrated during implementation. The development of hardware and software is further decomposed into smaller components or processes. A printing device is decomposed into a paper handling part and a printing/fusing part we call process where toner images are formed and are actually pressed onto the paper. Paper handling The paper handling transfers the paper from the paper tray to the warm process for printing and transfers printed papers out of the system. If necessary it also flips printed papers and transfers it to the warm process again for duplex printing.