1 / 37

Hichart Development Environment for Embedded Software

Hichart Development Environment for Embedded Software. ○ Takaaki Goto (UEC) Yasunori Shiono (Toyo University) Takeo Yaku (Nihon University) Kensei Tsuchida (Toyo University) Tetsuro Nishino (UEC). 本発表について.

noura
Download Presentation

Hichart Development Environment for Embedded Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hichart Development Environment for Embedded Software ○Takaaki Goto (UEC) Yasunori Shiono (Toyo University) Takeo Yaku (Nihon University) Kensei Tsuchida (Toyo University) Tetsuro Nishino (UEC)

  2. 本発表について • 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

  3. Contents • Introduction • Preliminary • Hichart Editor • Behavioral Specifications table • Example • Conclusion WAAP144

  4. 1. Introduction 1.1 Background 1.2 Motivation 1.3 Purpose WAAP144

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 2. Preliminary 2.1 Hichart 2.2 LEGO MINDSTORM WAAP144

  11. 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

  12. 2.1 Hichart (cont.) Fig. Example of “Hanoi Tower” program written in Hichart WAAP144

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 3. Hichart Editor Hichart Editor • Supports visual editing on diagram • Supports behavioral specifications table especially useful for development of the embedded software WAAP144

  19. 3. Hichart Editor (cont.) • Input • Hichart diagrams or NQC source codes • Output • NQC source code WAAP144

  20. 3. Hichart Editor (cont.) Fig. System overview NtoH converts NQC source code into Hichart internal data WAAP144

  21. 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

  22. 3. Hichart Editor (cont.) Fig. System overview HtoN converts Hichart internal data into NQC source code WAAP144

  23. 3. Hichart Editor (cont.) Fig. System overview BricxCC can compile and transfer the generated NQC source code to an RCX WAAP144

  24. 3. Hichart Editor (cont.) Fig. Screenshot of Hichart diagram on the Hichart editor WAAP144

  25. 3. Hichart Editor (cont.) Fig. Screenshot of NQC code generated by Hichart Editor WAAP144

  26. 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

  27. 4. Behavioral Specifications table (cont.) indicate the range of parameter Table Behavioral Specifications Table Perfomance is expected Perfomance is not expected WAAP144

  28. 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

  29. 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

  30. 5. Example (cont.) 1. Users develop the Hichart diagrams Fig. Screenshot of Hichart editor WAAP144

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. WAAP144

More Related