Post on 14-Jan-2016
description
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 22009/12/5
WAAP144 32009/12/5
1. Introduction2. Preliminary3. Hichart Editor4. Behavioral Specifications table5. Example6. Conclusion
Contents
WAAP144 42009/12/5
1. Introduction
1.1 Background1.2 Motivation1.3 Purpose
WAAP144 52009/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
WAAP144 62009/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
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 72009/12/5
WAAP144 82009/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
WAAP144 92009/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
2. Preliminary
2.1 Hichart2.2 LEGO MINDSTORM
WAAP144 102009/12/5
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 112009/12/5
WAAP144 122009/12/5
2.1 Hichart (cont.)
Fig. Example of “Hanoi Tower” program written in Hichart
WAAP144 132009/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
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 142009/12/5
Fig. LEGO MINDSTORM RCX(http://www.legoeducation.jp/mindstorms/)
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 152009/12/5
Fig. ROBOLAB(http://www.mdstorm.com/robolab/index.htm
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 162009/12/5
2.2 LEGO MINDSTROM (cont.)
The step for executing LEGO MINDSTORM is
1. set up the blocks2. programming3. transfer the program to RCX4. run the RCX
WAAP144 172009/12/5
WAAP144 182009/12/5
3. Hichart Editor
Hichart Editor Supports visual editing on diagram Supports behavioral specifications table especially useful for development of the
embedded software
WAAP144 192009/12/5
Input Hichart diagrams or NQC source codes
Output NQC source code
3. Hichart Editor (cont.)
3. Hichart Editor (cont.)
WAAP144 202009/12/5
Fig. System overview
NtoH converts NQC source code into Hichart internal data
3. Hichart Editor (cont.)
WAAP144 212009/12/5
Fig. System overview
allows users to develop programs on visual editor and to change physical parameter on
the Behavioral Specifications table
3. Hichart Editor (cont.)
WAAP144 222009/12/5
Fig. System overview
HtoN converts Hichart internal data into NQC source code
3. Hichart Editor (cont.)
WAAP144 232009/12/5
Fig. System overview
BricxCC can compile and transfer the generated NQC source code to an RCX
3. Hichart Editor (cont.)
WAAP144 242009/12/5
Fig. Screenshot of Hichart diagram on the Hichart editor
3. Hichart Editor (cont.)
WAAP144 252009/12/5
Fig. Screenshot of NQC code generated by Hichart Editor
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 262009/12/5
4. Behavioral Specifications table (cont.)
Sensitivity s:
0-32 33-49 50-100
Recognizes an table edge
○ ○
Does not turn in its
tracks
○ ○
WAAP144 272009/12/5
Table Behavioral Specifications Table
Perfomance is expected
Perfomance is not expected
indicate the range of parameter
4. Behavioral Specifications table (cont.)
Sensitivity s:
0-32 33-49 50-100
Recognizes an table edge
○ ○
Does not turn in its
tracks
○ ○
WAAP144 282009/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
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 292009/12/5
5. Example (cont.)
WAAP144 302009/12/5
Fig. Screenshot of Hichart editor
1. Users develop the Hichart diagrams
5. Example (cont.)2. After generating NQC code on Hichart
editor, and compile and transfer program to RCX by BrixCC.
WAAP144 312009/12/5
Fig. RCX runs with falling off a desk
5. Example (cont.)3. Users need to change the sensor value to
the optimum value
WAAP144 322009/12/5
Fig. Screenshot of a behavioral specifications table on Hichart editor
Behavioral Specifications Table
Sensitivity :sRecognizes an table edge
Does not turn in its tracks
5. Example (cont.)
4. The chosen value is reflected to the Hichart diagram
WAAP144 332009/12/5
Fig. Screenshot of Hichart after setting optimum value by a behavioral specifications table
5. Example (cont.)5. The RCX can distinguish the edge of the
table, moves backwards, and turns
WAAP144 342009/12/5
Fig. The RCX works on as required.
WAAP144 352009/12/5
6. ConclusionSummary
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 362009/12/5
6. Conclusion (cont.)
Future workWe 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 372009/12/5