370 likes | 528 Views
Hichart Development Environment for Embedded Software. ○ Takaaki Goto (UEC) Yasunori Shiono (Toyo University) Takeo Yaku (Nihon University) Kensei Tsuchida (Toyo University) Tetsuro Nishino (UEC). 本発表について.
E N D
Hichart Development Environment for Embedded Software ○Takaaki Goto (UEC) Yasunori Shiono (Toyo University) Takeo Yaku (Nihon University) Kensei Tsuchida (Toyo University) Tetsuro Nishino (UEC)
本発表について • 2009年10月28日~30日に、電通大で行われたTriangle Symposium on Advanced ICT 2009 (TriSAI 2009) にて発表した内容 • TriSAIは、電通大、北京郵電大、KAIST(韓国科学技術院)が2006年から毎年行っているシンポジウム • Takaaki Goto, Yasunori Shiono, Takeo Yaku,Kensei Tsuchida, Tetsuro Nishino, "Hichart Development Environment for Embedded Software", Proceedings of Triangle Symposium on Advanced ICT 2009, pp. 17-20, (2009). WAAP144
Contents • Introduction • Preliminary • Hichart Editor • Behavioral Specifications table • Example • Conclusion WAAP144
1. Introduction 1.1 Background 1.2 Motivation 1.3 Purpose WAAP144
1.1 Background • Embedded systems are becoming increasingly large and complicated • Development methodologies and efficient testing systems for embedded systems are highly desirable • Checking behavioral specification of upstream operations is especially important WAAP144
1.1 Background (cont.) • The program diagram called Hichart (HIerachical flowCHART description language) in this environment is treated • We have already developed bidirectional translators that translate • Pascal, C, or DXL to Hichart • Hichartto Pascal, C, or DXL WAAP144
1.1 Background (cont.) • We have already developed visual software development environment with below function • parser, • Drawing aesthetic Hichart diagrams, • Generating a SVG file WAAP144
1.2 Motivation • We want to • expand our visual software development environment to support developing embedded system, • provide the functions that enables to treat logical part and physical part, separately on the environment WAAP144
1.3 Purpose • To develop a visual software development environment that support developing embedded system (Target) • LEGO MINDSTORM as the example of embedded system WAAP144
2. Preliminary 2.1 Hichart 2.2 LEGO MINDSTORM WAAP144
2.1 Hichart From the 1970, many program diagram languages have been proposed such as NSD, HCP, SPD, PAD, and so on. Hichart (HIerarchical flowCHART description language) was introduced by Yaku and Futatsugi in 1978. WAAP144
2.1 Hichart (cont.) Fig. Example of “Hanoi Tower” program written in Hichart WAAP144
2.1 Hichart (cont.) • Characteristics of Hichart • Diagram is a tree-flowchartwiththe same flow control lines as a Neumann program flowchart • The hierarchy of the data structure and the control flow are displayed on a plane simultaneously WAAP144
2.2 LEGO MINDSTROM Fig. LEGO MINDSTORM RCX (http://www.legoeducation.jp/mindstorms/) • LEGO MINDSTORM has been developed jointly by LEGO and MIT in 1998 • RCX is a microprocessor with • touch sensor, • humidity sensor, • photodetector, • motor, • lamp WAAP144
2.2 LEGO MINDSTROM (cont.) Fig. ROBOLAB (http://www.mdstorm.com/robolab/index.htm ROBOLAB is the programming software for LEGO MINDSTORM Users can program by click on the icon and drag and drop it → However users can not program on ROBOLAB in detail WAAP144
2.2 LEGO MINDSTROM (cont.) • NQC (Not Quite C) • is the C like programming language for RCX • is developed by Dave Baum • does not support pointer • supports function specialized for RCX • Turn on the motor, check the touch sensor value → NQC is our target of visual software development environment for embedded software WAAP144
2.2 LEGO MINDSTROM (cont.) The step for executing LEGO MINDSTORM is set up the blocks programming transfer the program to RCX run the RCX WAAP144
3. Hichart Editor Hichart Editor • Supports visual editing on diagram • Supports behavioral specifications table especially useful for development of the embedded software WAAP144
3. Hichart Editor (cont.) • Input • Hichart diagrams or NQC source codes • Output • NQC source code WAAP144
3. Hichart Editor (cont.) Fig. System overview NtoH converts NQC source code into Hichart internal data WAAP144
3. Hichart Editor (cont.) allows users to develop programs on visual editor and to change physical parameter on the Behavioral Specifications table Fig. System overview WAAP144
3. Hichart Editor (cont.) Fig. System overview HtoN converts Hichart internal data into NQC source code WAAP144
3. Hichart Editor (cont.) Fig. System overview BricxCC can compile and transfer the generated NQC source code to an RCX WAAP144
3. Hichart Editor (cont.) Fig. Screenshot of Hichart diagram on the Hichart editor WAAP144
3. Hichart Editor (cont.) Fig. Screenshot of NQC code generated by Hichart Editor WAAP144
4. Behavioral Specifications table A behavioral specifications table indicates a spreadsheet containing information of specifications for behavior by some parameters of physical units is produced by demonstration experiments WAAP144
4. Behavioral Specifications table (cont.) indicate the range of parameter Table Behavioral Specifications Table Perfomance is expected Perfomance is not expected WAAP144
4. Behavioral Specifications table (cont.) Fig. Behavioral Specifications Table the RCX does not recognize a table edge, and “does not turn in its tracks” is met the specifications of “recognizes a table edge” and “does not turn in its tracks” are met WAAP144
5. Example • Specification • an RCX runs without falling off a desk →when a photodetector on the RCX recognizes the edge of the desk, RCX moves backwards and turns. WAAP144
5. Example (cont.) 1. Users develop the Hichart diagrams Fig. Screenshot of Hichart editor WAAP144
5. Example (cont.) Fig. RCX runs with falling off a desk 2. After generating NQC code on Hichart editor, and compile and transfer program to RCX by BrixCC. WAAP144
5. Example (cont.) Behavioral Specifications Table Sensitivity :s Recognizes an table edge Does not turn in its tracks Fig. Screenshot of a behavioral specifications table on Hichart editor 3. Users need to change the sensor value to the optimum value WAAP144
5. Example (cont.) Fig. Screenshot of Hichart after setting optimum value by a behavioral specifications table 4. The chosen value is reflected to the Hichart diagram WAAP144
5. Example (cont.) Fig. The RCX works on as required. 5. The RCX can distinguish the edge of the table, moves backwards, and turns WAAP144
6. Conclusion • Summary • We developed a visual software development system for embedded system • can treat source codes for embedded Software as Hichart diagrams • support for setting appropriate physical parameters through behavioral specifications tables. WAAP144
6. Conclusion (cont.) • Future work We will • Improve the development environment of Hichart for flexible and appropriate setting. • Adopt a method for checking behavior in Hichart development environments by using model checking tool SPIN for logically checking whether a given behavior specification is fulfilled. WAAP144