Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Hichart Development Environment for Embedded Software ○ Takaaki Goto (UEC) Yasunori Shiono (Toyo University) Takeo Yaku (Nihon University) Kensei Tsuchida."— 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 2 2009/12/5

3 WAAP144 3 2009/12/5 1. Introduction 2. Preliminary 3. Hichart Editor 4. Behavioral Specifications table 5. Example 6. Conclusion Contents

4 WAAP144 4 2009/12/5 1. Introduction 1.1 Background 1.2 Motivation 1.3 Purpose

5 WAAP144 5 2009/12/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

6 WAAP144 6 2009/12/5 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  Hichart to Pascal, C, or DXL

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 7 2009/12/5

8 WAAP144 8 2009/12/5 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

9 WAAP144 9 2009/12/5 1.3 Purpose To develop a visual software development environment that support developing embedded system (Target)  LEGO MINDSTORM as the example of embedded system

10 2. Preliminary 2.1 Hichart 2.2 LEGO MINDSTORM WAAP144 10 2009/12/5

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 11 2009/12/5

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

13 WAAP144 13 2009/12/5 2.1 Hichart (cont.) Characteristics of Hichart (1) Diagram is a tree-flowchart with the same flow control lines as a Neumann program flowchart (2) The hierarchy of the data structure and the control flow are displayed on a plane simultaneously

14 2.2 LEGO MINDSTROM 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 14 2009/12/5 Fig. LEGO MINDSTORM RCX (http://www.legoeducation.jp/mindstorms/)

15 2.2 LEGO MINDSTROM (cont.) 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 15 2009/12/5 Fig. ROBOLAB (http://www.mdstorm.com/robolab/index.htm

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 16 2009/12/5

17 2.2 LEGO MINDSTROM (cont.) The step for executing LEGO MINDSTORM is 1. set up the blocks 2. programming 3. transfer the program to RCX 4. run the RCX WAAP144 17 2009/12/5

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

19 WAAP144 19 2009/12/5 Input  Hichart diagrams or NQC source codes Output  NQC source code 3. Hichart Editor (cont.)

20 WAAP144 20 2009/12/5 Fig. System overview NtoH converts NQC source code into Hichart internal data

21 3. Hichart Editor (cont.) WAAP144 21 2009/12/5 Fig. System overview allows users to develop programs on visual editor and to change physical parameter on the Behavioral Specifications table

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

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

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

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

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 26 2009/12/5

27 4. Behavioral Specifications table (cont.) Sensitivity s: 0-3233-4950-100 Recognizes an table edge  ○○ Does not turn in its tracks ○○  WAAP144 27 2009/12/5 Table Behavioral Specifications Table Perfomance is expected Perfomance is not expected indicate the range of parameter

28 4. Behavioral Specifications table (cont.) Sensitivity s: 0-3233-4950-100 Recognizes an table edge  ○○ Does not turn in its tracks ○○  WAAP144 28 2009/12/5 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

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 29 2009/12/5

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

31 5. Example (cont.) 2. After generating NQC code on Hichart editor, and compile and transfer program to RCX by BrixCC. WAAP144 31 2009/12/5 Fig. RCX runs with falling off a desk

32 5. Example (cont.) 3. Users need to change the sensor value to the optimum value WAAP144 32 2009/12/5 Fig. Screenshot of a behavioral specifications table on Hichart editor Behavioral Specifications Table Sensitivity :s Recognizes an table edge Does not turn in its tracks

33 5. Example (cont.) 4. The chosen value is reflected to the Hichart diagram WAAP144 33 2009/12/5 Fig. Screenshot of Hichart after setting optimum value by a behavioral specifications table

34 5. Example (cont.) 5. The RCX can distinguish the edge of the table, moves backwards, and turns WAAP144 34 2009/12/5 Fig. The RCX works on as required.

35 WAAP144 35 2009/12/5 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.

36 WAAP144 36 2009/12/5 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.

37 WAAP144 37 2009/12/5


Download ppt "Hichart Development Environment for Embedded Software ○ Takaaki Goto (UEC) Yasunori Shiono (Toyo University) Takeo Yaku (Nihon University) Kensei Tsuchida."

Similar presentations


Ads by Google