JP5511704B2 - Apparatus, method, and program for supporting creation of software - Google Patents
Apparatus, method, and program for supporting creation of software Download PDFInfo
- Publication number
- JP5511704B2 JP5511704B2 JP2011021119A JP2011021119A JP5511704B2 JP 5511704 B2 JP5511704 B2 JP 5511704B2 JP 2011021119 A JP2011021119 A JP 2011021119A JP 2011021119 A JP2011021119 A JP 2011021119A JP 5511704 B2 JP5511704 B2 JP 5511704B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- event
- frame section
- constraint
- animation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 61
- 230000007704 transition Effects 0.000 claims description 136
- 230000003068 static effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 claims 16
- 238000013500 data storage Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 42
- 238000012545 processing Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 15
- 238000013461 design Methods 0.000 description 12
- 238000011161 development Methods 0.000 description 9
- 239000000284 extract Substances 0.000 description 9
- 101150034941 AURKB gene Proteins 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソフトウェアの作成を支援するための技術に関する。 The present invention relates to a technique for supporting creation of software.
近年、カーナビゲーション(以下「カーナビ」)等のGUI(Graphical User Interface)では、アニメーション(以下「アニメ」)を用いた動的な視覚効果が重視されている。そこで、GUIで表示される部品又は画面の切り替えにはアニメが使用される。例えば、ユーザが画面に表示されたボタンを押下すると、ボタンが押下される様子がアニメを用いて連続的に表現される。 In recent years, GUI (Graphical User Interface) such as car navigation (hereinafter referred to as “car navigation”) emphasizes dynamic visual effects using animation (hereinafter referred to as “animation”). Therefore, animation is used to switch between components displayed on the GUI or the screen. For example, when the user presses a button displayed on the screen, the state in which the button is pressed is continuously expressed using animation.
アニメを含むGUIのデザイン設計は、デザイナーが行うことが多い。しかし、デザイナーは、スクリプトプログラムを書けないことが多い。そこで、例えば、特許文献1は、画面に表示される部品のアニメ状態をタイムラインに沿って表示することにより、デザイナーがGUIのデザインを簡単に編集できるようにする方法を開示している。
Designers often design GUIs including animation. However, designers often cannot write script programs. Thus, for example,
しかし、カーナビは、ユーザの操作又は車の走行状況に応じて、様々な割り込み処理が発生する。例えば、CD(Compact Disk)の取り出し、及び誘導ルートのリルートなどが発生する。したがって、カーナビのGUIの開発においては、これらの割り込み処理を考慮しなければならず、設計及び開発が難しい。そこで、デザイナー及びソフトウェア作成者(以下「開発者」)の設計及び開発の負荷を軽減するために、様々な開発支援ツールが提案されている。例えば、特許文献2は、割り込み画面を表示させる際、画面をまとめた画面グループと、複数の割り込み表示ルール及びその例外表示データとに基づき、矛盾なく画面を表示する表示制御情報を生成して画面の表示内容を制御する方法を開示している。
However, in the car navigation system, various interruption processes occur according to the user's operation or the driving situation of the car. For example, removal of a CD (Compact Disk), reroute of a guidance route, and the like occur. Therefore, in the development of a car navigation GUI, these interrupt processes must be taken into account, and design and development are difficult. Therefore, various development support tools have been proposed in order to reduce the design and development load of designers and software creators (hereinafter “developers”). For example, when displaying an interrupt screen,
特許文献1によれば、GUIを設計するデザイナーは、画面内のアニメを設計する際、タイムライン型編集ツールにおいて、タイムラインの特定の時間を指定することで、その指定した時間における画面内のアニメの状態を視覚的に確認することができる。しかし、タイムラインは複数のアニメの画面を連続的に表現するため、画面単位でスクリプトを記述する開発者にとっては、スクリプトを埋め込む位置を特定しにくい。また、開発者は、アプリケーション全体の画面構成及び画面遷移が把握しにくいため、開発及びデバッグが困難となってしまう。
According to
特許文献2では、割り込みイベントが発生した際に割り込み画面を表示させるためのルールの作成、ルールの修正、及びルールをチェックするための方法を開示している。しかし、特許文献2では、カーナビの装置内部の状態(例えば、CPU使用率、メモリ使用率等)、又はカーナビが外部の装置から受け取った情報(例えば、車の速度、ブレーキの状態等)などに基づき、GUIの動作が制限されるソフトウェアの作成(例えば設計及び/又は開発)は困難である。
以上の問題は、カーナビで実行されるソフトウェアの作成に限らず、時間の経過に伴い画面が遷移するGUIを表示する他種のソフトウェアの作成についてもあり得る。 The above problems are not limited to the creation of software executed by a car navigation system, but may also be related to creation of other types of software that display a GUI whose screen changes with the passage of time.
そこで、本発明の目的は、GUIを表示するソフトウェアの作成を容易にすることである。 Accordingly, an object of the present invention is to facilitate creation of software for displaying a GUI.
時間の経過に伴い遷移する複数の連続するフレームからなるフレーム区間を含む画面データを基に、前記フレーム区間の表示中に発生したイベントに応じて遷移するフレーム区間を定義した遷移管理情報を生成し、前記遷移管理情報を基にソフトウェアの作成が支援される。具体的には、例えば、ユーザが遷移管理情報を基にソフトウェアを作成する。各フレーム区間は、連続した1以上のフレームで構成されている。画面データにおける複数のフレームは、前記GUIにおいて表示されるオブジェクトである表示部品が配置された1以上のフレームを含んでいる。画面データは、どのフレームに配置されている表示部品が実行された場合に表示がどのフレームに遷移するかを表す情報を含んだ定義情報を含んでいる。画面データを基に特定されたイベントを表す情報が、遷移管理情報に含まれている。 Based on the screen data including a frame section consisting of a plurality of continuous frames that transition with time, it generates transition management information that defines a frame section that transitions according to an event that occurred during the display of the frame section. The creation of software is supported based on the transition management information. Specifically, for example, the user creates software based on the transition management information. Each frame section is composed of one or more consecutive frames. The plurality of frames in the screen data include one or more frames in which display components that are objects displayed in the GUI are arranged. The screen data includes definition information including information indicating which frame the display transitions to when the display component arranged in which frame is executed. Information representing an event identified based on the screen data is included in the transition management information.
本発明によれば、GUIを表示するソフトウェアの作成が容易になる。 According to the present invention, creation of software for displaying a GUI is facilitated.
以下、図面を参照して、本発明の一実施形態を説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
なお、以下の説明では「xxx表」の表現にて各種情報を説明することがあるが、各種情報は、表以外のデータ構造で表現されていても良い。データ構造に依存しないことを示すために「xxx表」を「xxx情報」と言うことができる。 In the following description, various types of information may be described using the expression “xxx table”, but the various types of information may be expressed using a data structure other than the table. In order to show that it does not depend on the data structure, the “xxx table” can be referred to as “xxx information”.
また、以下の説明では、要素を特定するために名称又は番号が使用されるが、名称又は番号に代えて又は加えて、他種の識別情報が使用されて良い。 In the following description, a name or number is used to identify an element, but other types of identification information may be used instead of or in addition to the name or number.
また、以下の説明では、プログラムがプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで発揮される「機能」(又はプログラム)を主語にして処理を説明することがあるが、この「機能」は、プロセッサが定められた処理を適宜に記憶資源(例えばメモリ)及び/又は通信インタフェース装置(例えば通信ポート)を用いながら行われるものであるため、処理の主語は「プロセッサ」とされても良い。なお、この「プロセッサ」は、一つの物理的なプロセッサに限定されず、機能の処理の一部又は全部を行う、プロセッサとは別のハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。 Further, in the following description, the process may be described using a “function” (or program) that is exhibited when the program is executed by a processor (for example, a CPU (Central Processing Unit)) as a subject. “Function” is a process in which the processor determines a process appropriately using a storage resource (for example, a memory) and / or a communication interface device (for example, a communication port). Therefore, the subject of the process is “processor”. Also good. The “processor” is not limited to one physical processor, and may include a hardware circuit different from the processor that performs part or all of the processing of functions. The computer program may be installed on each computer from a program source. The program source may be, for example, a program distribution server or a storage medium.
図1は、本発明の一実施形態に係るソフトウェア作成支援装置の画面表示例を示す。 FIG. 1 shows a screen display example of a software creation support apparatus according to an embodiment of the present invention.
タイムライン型画面設計ツールの画面100は、部品配置エリア130、部品メニューエリア110、部品編集エリア120、及びタイムライン記述エリア140を有している。
The
部品配置エリア130は、表示部品を配置して画面を構成するエリアである。本実施形態の説明において、「表示部品」とは、開発対象のソフトウェアが提供する画面に表示されるオブジェクトである。表示部品としては、例えば、「戻る」ボタン131、「データ更新」ボタン132、「表示切替」ボタン133、及び、吹き出し134がある。ボタン131〜133のいずれが指定されてもボタン押下イベントが発生する。吹き出し134には、様々なメッセージが表示される。
The
部品メニューエリア110には、部品配置エリア130に配置された表示部品の加工メニューが表示される。例えば、「拡大・縮小」メニューが選択されると、表示部品のサイズの変更が可能となる。
In the
部品編集エリア120には、部品配置エリア130で選択された表示部品に関する属性情報が表示される。このエリア120に表示された属性情報が変更されると、表示部品の動作及び機能の変更が可能となる。例えば、同図に示すように、部品配置エリア130において「データ更新」ボタン132が選択されると、部品編集エリア120には「データ更新」ボタン132の属性情報が表示される。ここで、「ID」は、表示部品を一意に識別する識別子であり、「Update」という識別子が付与されている。「種類」は、その表示部品が有する機能を示しており、「ボタン」という種類が付与されている。したがって、「データ更新」ボタン132が選択されると、「Update」という識別子に対応づけられた処理が実行されることとなる。
In the
タイムライン記述エリア140には、フレームと、そのフレームで実行されるプログラムとを対応づけものが、時間軸142に沿って並べられる。ここで、「フレーム」とは、一つの画面のデータである。また、時間軸142は、左から右に進むにつれて時間が経過するものとする。この時間軸142に沿って並べられたフレーム及びそのフレームに対応する様々なデータをまとめて「タイムライン」と呼ぶ。原則として、複数のフレームで一つのアニメが構成される。したがって、フレーム内の時間を進めることで、アニメが実行される。
In the
フレーム番号144は、フレームを識別する番号である。時間軸142に並べられた先頭のフレームから番号の小さい順に、連続した番号が、フレーム番号144として、各フレームに付与される。
The frame number 144 is a number for identifying a frame. A consecutive number is assigned to each frame as a frame number 144 in ascending order from the first frame arranged on the
時間軸142上に、表示時間143が表示される。表示時間143は、時間軸142における、部品配置エリア130に表示されているフレームの番号に対応した箇所、に位置する。表示時間143は、ユーザ(例えばデザイナー)からの操作に応答して時間軸142上を移動するスライダーであって良い。
A
ラベル名145は、フレーム区間を識別するための文字列である。ラベル名145は、プログラムにおいて、特定のフレームへジャンプする場合などに使用される。なお、「フレーム区間」とは、時間の経過に伴い順次に連続して表示される1以上のフレームのフレーム番号範囲(先頭のフレームの番号から後端のフレームの番号までの範囲)を意味する。また、本実施形態の説明において、「ジャンプ」とは、プログラムの実行により、典型的には、表示中のフレームの次に表示されるフレームが、表示中のフレームの番号に連続した次の番号のフレームではなく、表示中のフレームの番号とは非連続の番号のフレームになることを意味する。しかし、表示中のフレームの次に表示されるフレームの番号が、表示中のフレームの番号に連続した次の番号でも表示中のフレームの番号とは非連続の番号でも良い場合にも、「ジャンプ」という言葉が使用されることがある。
The
スクリプト有無マーク146は、フレームに対応するスクリプトプログラム(以下「スクリプト」)が存在するか否かを示す記号である。スクリプトは、フレーム内の表示部品等を制御する際に使用される。スクリプト言語としては、例えば、ActionScript、Python、Ruby、JavaScript(登録商標)等がある。
The script presence /
レイヤ141は、表示部品が重なったときの画面表示における前後関係を示す。表示部品が重なったとき、列の上の方に記載の表示部品が前面に表示される。
A
表示部品リスト147には、開発中のソフトウェアで使用される全ての表示部品の名称のリストである。
The
表示部品リスト147に表示されている表示部品名称毎に、部品表示区間148と部品非表示区間149との少なくとも一方がある。部品表示区間148は、同図において破線の矢印が記されている区間であり、表示部品が部品配置エリア130に表示される時区間を示す。一方、部品非表示区間149は、同図において黒色の斜線が記されている区間であり、表示部品が部品配置エリア130に表示されない区間を示す。例えば、同図の吹き出し134は、フレーム「1」(フレーム番号「1」のフレーム)からフレーム「17」のそれぞれに含まれている。故に、フレーム「1」からフレーム番号の小さい順に複数のフレームが表示される場合、フレーム「17」まで吹き出し134が表示され、表示されるフレームがフレーム「17」からフレーム「18」に変わった場合に、吹き出し134が非表示となることがわかる。
For each display component name displayed in the
図2は、図1において「表示切替」ボタン133が押下された場合に表示対象フレームがフレーム「17」からフレーム「45」にジャンプする処理の一例を示す。
FIG. 2 shows an example of a process in which the display target frame jumps from the frame “17” to the frame “45” when the “display switching”
同図において、フレーム「15」には、画面切り替え用のスクリプトが埋め込まれている。スクリプト202は、ボタンの押下によって、フレーム番号「45」のフレームである「menu_list」にジャンプするスクリプトの例である。スクリプト202には、「表示切替」ボタン133が押下されると、ボタン押下イベントが発生し、関数「pressChangeViewButton」が呼ばれ、関数内に記載されている「goto(”menu_list”)」が実行される旨記載されている。したがって、スクリプト202が実行されると、ラベル名「menu_list」が付与されているフレーム「45」へジャンプし、行き先メニュー201(フレーム「menu_list」)が部品配置エリア130に表示される。なお、スクリプト202において、「戻る」ボタン131が押下された場合は、関数「pressReturnButton」が呼ばれ、関数内に記されている「goto(”anime2”)」が実行される。
In the figure, a screen switching script is embedded in frame “15”. The
図3は、本実施形態に係るソフトウェア作成支援装置の機能ブロックの一例を示す。 FIG. 3 shows an example of functional blocks of the software creation support apparatus according to the present embodiment.
ソフトウェア作成支援装置300は、主にデザイナーが画面の設計を行うことに使用する画面設計プログラム340と、主に開発者がプログラムの開発時に使用する画面遷移生成プログラム350とを有する。なお、画面設計プログラム340と画面遷移生成プログラム350は、一つの装置に備えられてもよいし、別々の装置に備えられてもよい。また、ソフトウェア作成支援装置300は、CPU(Central Processing Unit)、記憶資源、入力装置及び表示装置を備えている。装置300が有するプログラム340及び350は、記憶資源(例えばメモリ)に記憶され、CPUにて実行される。プログラム340が実行されることで、遷移表生成部302及び画面雛形生成部304という機能が発揮される。プログラム350が実行されることで、複雑度判定部317、コード雛形生成部318、コード結合部319及びモジュール生成部323という機能が発揮される。記憶部316は、記憶資源により実現される。
The software
ソフトウェア作成支援装置300は、必ずしも表示装置及び入力装置を備えていなくても良い。例えば、装置300は、サーバクライアントシステムのサーバであって、表示装置及び入力装置は、そのサーバクライアントシステムのクライアントにあっても良い。
The software
ターゲット機器330は、ソフトウェア作成支援装置300で開発されたソフトウェアを実行する電子機器である。例えば、ターゲット機器330は、画面表示プログラム331を実行する機器であり、OS334、ネイティブモジュール333、及び画面表示プログラム331を有している。また、ターゲット機器330は、CPU、記憶資源(例えばメモリ)、入力装置及び表示装置を備えており、OS334及び画面表示プログラム331等の各種プログラムは、記憶資源に記憶され、CPUにて実行される。これにより、画面表示プログラム331によって表示装置に画面が表示される。表示される画面は、タイムライン型画面設計ツールを利用して設計された画面である。ターゲット機器330は、例えば、カーナビゲーション装置(カーナビ)である。カーナビの機種として、複数種類の機種がある。本実施形態に係るソフトウェア作成支援装置300によれば、カーナビの機種に適したソフトウェア(例えば、そのカーナビの機種に応じたGUI表示を行うソフトウェア)を開発することができる。なお、ターゲット機器330は、カーナビに代えて又は加えて、他種の電子機器(例えばモバイル型の情報処理端末)であっても良い。
The
図3において、画面データ301、イベント制約定義表500、ドキュメント314、コード雛形表700、コード付画面データ320及びモジュール324のうちの少なくとも1つは、ソフトウェア作成支援装置300が有する記憶資源に記憶されて良い。また、画面データ301、イベント制約定義表500、ドキュメント314、コード雛形表700、コード付画面データ320及びモジュール324のうちの少なくとも1つは、ソフトウェア作成支援装置300に入力装置を通じて入力された情報であって良い。
In FIG. 3, at least one of the
次に、各機能及び処理の概要について説明する。 Next, an overview of each function and process will be described.
まず、ユーザ(例えばデザイナー)は、画面設計プログラム340が提供する画面デザイン設計ツール(図1参照)を用いて画面データ301を作成する。画面データ301は、ターゲット機器330で表示される画面(GUI)に関するデータである。画面データ301は、例えば、下記の情報、
(*)複数のフレームに関する情報(例えば、フレームが有する表示部品に関する情報と、フレームにおける表示部品の動作を制御するための定義情報(例えばスクリプト)とをフレーム毎に含んだ情報)、
(*)フレーム区間情報(例えば、フレーム区間毎のラベル名と、フレーム区間毎に、フレーム区間の先頭のフレームの番号と終端のフレームの番号とを含んだ情報)、
(*)タイムラインを表す情報(例えば、フレームの並びを表す情報)、
を含んでいる。フレームに配置された表示部品に関するスクリプトは、例えば、前述したように、その表示部品が実行されたときに表示がそのフレームからどのフレームにジャンプするかを表す情報を含んで良い。
First, a user (for example, a designer) creates
(*) Information about a plurality of frames (for example, information including information about display components included in the frame and definition information (for example, script) for controlling the operation of the display components in the frame)
(*) Frame section information (for example, information including the label name for each frame section and the number of the first frame and the number of the end frame for each frame section),
(*) Information representing a timeline (for example, information representing a sequence of frames),
Is included. For example, as described above, the script related to the display component arranged in the frame may include information indicating to which frame the display jumps from the frame when the display component is executed.
次に、遷移表生成部302は、画面データ301を解析して、フレーム区間毎のラベル名を特定する。また、遷移表生成部302は、フレーム区間毎に、発生する可能性のあるイベントを特定し、特定したイベントを識別可能なイベント名をそのイベントに対して付与する。例えば、遷移表生成部302は、どのフレームにどんな表示部品が配置されているかを特定し、特定された表示部品の種類(例えばID)を基にイベントを特定し、そのイベントに、特定したイベントを識別可能なイベント名を付与する。そして、遷移表生成部302は、特定したラベル名と付与したイベント名との表(マトリックス)である画面遷移表を生成する。また、遷移表生成部302は、生成した画面遷移表における、フレーム名とイベント名の組み合わせから一義的に定まるセルに、イベント名に対応するイベントの動作を制約する制約条件を記載する。遷移表生成部302は、生成した画面遷移表を記憶部316に記憶する。なお、制約条件は、ソフトウェアが実行されるターゲット機器毎に異なる。ターゲット機器とイベントの組合せ毎の制約条件を表すイベント制約定義表500がある。ユーザ(例えばオペレーター)からターゲット機器のIDが入力され、入力されたターゲット機器IDに対応する制約条件が特定されて良い。
Next, the transition
ここで、ターゲット機器330で実行される画面表示プログラム331がスクリプトで記述されていると、画面遷移が複雑な場合、実行速度が遅くなってしまう。そこで、複雑度判定部317は、画面遷移表を参照し、下記のうちの少なくとも1つ、
(*)画面遷移表を構成するセルの数、
(*)フレームからそのフレームと非連続のフレームへのジャンプが発生するイベントの数、
(*)各セルに記載されている制約条件の数、
に基づき複雑度(例えば画面データ301の複雑度)を計算し、その複雑度に従って適切なコードを判定する。具体的には、複雑度判定部317は、記憶部316に記憶されている画面遷移表を解析し、画面遷移の複雑度が所定の閾値以下か否かを判定する。
Here, if the
(*) Number of cells constituting the screen transition table,
(*) Number of events that cause a jump from a frame to that frame and a non-contiguous frame,
(*) Number of constraints described in each cell,
The complexity (for example, the complexity of the screen data 301) is calculated based on the above, and an appropriate code is determined according to the complexity. Specifically, the
ここで、複雑度判定部317の判定結果が肯定的であれば(複雑度が閾値以下ならば)、コード雛形生成部318は、画面遷移に関するコードの雛形であるコード雛形をスクリプトで生成する。次に、コード結合部319は、画面データ301とコード雛形表700から、コード付画面データ320を生成する。ここで、コード付画面データ320は、画面データ301を、コード雛形を呼び出せるように書き換えたものである(コード雛形表700及びコード雛形については、後述する)。次に、ユーザ(例えば開発者)は、コード付画面データ320に、必要なコードを追記する。最後に、画面表示プログラム生成部322は、コード付画面データ320から、画面表示プログラム331を生成する。生成された画面表示プログラム331は、ターゲット機器330で実行可能である。
Here, if the determination result of the
一方、複雑度判定部317の判定結果が否定的であれば(複雑度が閾値を超えていれば)、モジュール生成部323は、GUIにおいて画面(フレーム)の遷移を行うモジュール(ネイティブコード)324を生成する。次に、コード結合部319は、モジュール324を呼び出せるようなコード付画面データを生成する。次に、画面表示プログラム生成部322は、画面表示プログラム331を生成する。この処理の結果、ネイティブコードで実行可能なモジュール324及びスクリプトで実行可能な画面表示プログラム331が生成される。次に、モジュール324及び画面表示プログラム331をターゲット機器330に組み込む。これにより、ターゲット機器330では、モジュール324と画面表示プログラム331が連携して動作する。モジュール324と画面表示プログラム331の少なくとも一方が作成されて良い。また、モジュール324と画面表示プログラム331は、それぞれ、作成されるソフトウェアそれ自体であっても良いし、作成されるソフトウェアの一要素であっても良い。
On the other hand, if the determination result of the
なお、ドキュメント生成部313において、記憶部316に記憶されている画面遷移表のデータから、ドキュメント(例えば、画面遷移表をユーザが読み易い形式に編集することにより得られた画面遷移図)314を生成してもよい。また、そのドキュメント314の生成において、アニメの処理負荷が高い部分の色が変更されたり、画面が遷移する階層が所定の値よりも深い部分の色が変更されたりしてもよい。
In the
記憶部316内の画面遷移表の各セルは、アニメフラグを有する。画面雛形生成部304は、記憶部316内の画面遷移表を参照し、アニメフラグがtrueに対応するフレーム区間として、アニメフラグがfalseに対応するフレーム区間より長いフレーム区間設定する。そして、画面雛形生成部304は、セルが制約条件を保持しているとき、そのセルに対応するイベント名のイベントには制約条件が存在することを、タイムライン型画面設計ツールの画面(図1参照)にて明示的に表示することができる。この処理については、後に図10を用いて説明する。
Each cell of the screen transition table in the
図4は、画面遷移表の一例を示す。なお、この表において、特定の行と列を選択したときに一意に決定される一マスを「セル」と言う。各「セル」は情報を保持することができる。 FIG. 4 shows an example of the screen transition table. In this table, one cell uniquely determined when a specific row and column is selected is referred to as a “cell”. Each “cell” can hold information.
ここで、セルは、そのセルに対応するフレームがアニメフレーム(アニメ動作を含むフレーム)であるか否かを表すアニメフラグを保持する。そして、アニメフラグがtrueのセルは、アニメ動作に関する制約条件を保持し、アニメフラグがfalseのセルは、画面の遷移先に関する制約条件を保持する。 Here, the cell holds an animation flag indicating whether or not the frame corresponding to the cell is an animation frame (a frame including an animation operation). A cell whose animation flag is “true” holds a constraint condition related to the animation operation, and a cell whose animation flag is “false” holds a constraint condition related to the screen transition destination.
アニメフラグ「true」を有するセルに、アニメ動作に関する制約条件として、例えば、ユーザ(オペレーター又は開発者)の過去の操作に基づき、そのセルに対応するフレームのアニメ動作を省略するか否かを設定することができる。 Set whether or not to omit the animation operation of the frame corresponding to the cell based on the past operation of the user (operator or developer), for example, as a constraint condition for the animation operation in the cell having the animation flag “true” can do.
また、アニメフラグ「false」を有するセルに、画面(フレーム)の遷移先に関する制約条件として、ソフトウェアが実行されるターゲット機器の状態に基づき遷移先のアニメ動作を省略するか否かを設定することができる。 In addition, in a cell having the animation flag “false”, as a restriction condition regarding the transition destination of the screen (frame), whether to omit the animation operation at the transition destination based on the state of the target device on which the software is executed is set. Can do.
以下、上述の動作について、図4を用いて詳細に説明する。 Hereinafter, the above-described operation will be described in detail with reference to FIG.
イベント名403は、画面遷移のきっかけとなるイベント名のリストである。イベントの種類としては、例えば、「finish(フレーム再生完了)」、「pressMapButton(地図ボタン押下)」等がある。
An
ラベル名404は、各フレームに付与されたラベル名のリストである。
The
画面遷移表400において、ラベル名とイベント名から一意にセルが決定される。セルには、このセルに対応するラベル名が付与されたフレームにおいて、このセルに対応するイベント名に記載のイベントが発生したときに、所定のフレームにジャンプするという処理が記載されている。さらに、そのセルには、ジャンプ処理を実行するための各種条件及びジャンプ先のラベル名などが記載されている。 In the screen transition table 400, a cell is uniquely determined from a label name and an event name. The cell describes a process of jumping to a predetermined frame when an event described in the event name corresponding to the cell occurs in a frame to which the label name corresponding to the cell is assigned. Further, in the cell, various conditions for executing the jump process, a jump destination label name, and the like are described.
セルとしては、アニメフラグ「true」を有するセルであるアニメセルと、アニメフラグ「false」を有するセルである通常セルとがある。 As the cell, there are an animation cell that is a cell having an animation flag “true” and a normal cell that is a cell having an animation flag “false”.
アニメセルは、アニメフレームに対応するセルであり、イベント名403に記載のイベントが発生したときの処理を表す情報を有する。アニメセルは、例えば、アニメフラグ411の他に、ジャンプ先422、及びアニメ省略423という情報(パラメータ)を有する。アニメフラグ421には、アニメフレームがアニメセルか否かが設定される。同図において、セル401はアニメセルであるので、アニメフラグ411は「true」である。ジャンプ先422は、ジャンプ先のラベル名である。セル401では、ジャンプ先422として「menu_list」が設定されているため、セル401に対応するアニメフレームの実行後、表示されるフレームとして、実行が終了したアニメフレームからラベル名「menu_list」のフレームにジャンプする。アニメ省略423は、アニメを実行中にユーザが特定のキー操作を行ったとき(例えばボタン連打)、以後アニメを省略するか否かを表す。セル401では、アニメ省略423が「true」であるため、アニメ省略機能が有効となっている。
The animation cell is a cell corresponding to the animation frame, and has information indicating processing when the event described in the
通常セルは、アニメを含まないフレームに対応するセルであり、イベント名403に記載のイベントが発生したときの処理を表す情報を有する。通常セルは、アニメフラグ411の他に、例えば、遷移後アニメ制限412、ジャンプ先(アニメ許可)413、及びジャンプ先(アニメ禁止)414という情報(パラメータ)を有する。同図において、セル402はアニメを含まないフレームであるので、アニメフラグ411は「false」である。遷移後アニメ制限412は、アニメの実行を許可する条件及び/又はアニメの実行を禁止する条件を表す情報である。セル402には、遷移後アニメ制限412として「CPU負荷50%以上アニメ禁止」が設定されているため、ターゲット機器330のCPU負荷が50%以上のときはアニメが禁止される。ジャンプ先(アニメ許可)413は、遷移後アニメ制限412においてアニメが許可されたときのジャンプ先のラベル名である。セル402には、ジャンプ先(アニメ許可)413として「Anime1」が設定されている。したがって、セル402において、ラベル名「init」のフレーム実行時、「pressMapButton」イベントが発生すると、表示が、ラベル名「Anime1」のフレームにジャンプする。なお、ジャンプ先(アニメ禁止)414は、遷移後アニメ制限412においてアニメが禁止されたときのジャンプ先のラベル名である。セル402には、ジャンプ先(アニメ禁止)414に「menu_map」が設定されている。したがって、ラベル名「init」のフレーム実行時、「pressMapButton」イベントが発生すると、表示が、ラベル名「menu_map」のフレームにジャンプする。
A normal cell is a cell corresponding to a frame that does not include animation, and has information indicating processing when an event described in the
図5は、イベント制約定義表の一例を示す。 FIG. 5 shows an example of the event constraint definition table.
イベント制約定義表500には、ターゲット機器毎に、画面遷移のイベントが発生した時の制約条件が記載されている。複数のターゲット機器は、異なるスペックを有している。例えば、性能の高いCPUを搭載しているターゲット機器もあれば、性能の低いCPUを搭載しているターゲット機器もある。 The event constraint definition table 500 describes the constraint conditions when a screen transition event occurs for each target device. The plurality of target devices have different specifications. For example, some target devices have high performance CPUs, and some target devices have low performance CPUs.
イベント制約定義表500には、ターゲット機器毎に、ターゲット機器ID502を有する。ターゲット機器ID502は、各ターゲット機器を一意に識別可能な識別子である。
The event constraint definition table 500 has a
イベント制約定義表500の各列は、ターゲット機器IDに対応しており、各行は、イベント名に対応している。ターゲット機器IDとイベント名とから一義的に定まるセルに、制約条件510が記述されている。
Each column of the event constraint definition table 500 corresponds to a target device ID, and each row corresponds to an event name. A
イベント制約定義表500には、ターゲット機器ID502及びイベント名503の組み合わせ毎に、異なる制約条件510を設定できる。また、制約条件510には、静的制約条件511及び動的制約条件512を設定できる、
In the event constraint definition table 500,
静的制約条件510は、静的制約条件を表す情報である。「静的制約条件」は、ターゲット機器の使用(例えば、ターゲット機器のソフトウェア及び/又はハードウェアの仕様)が定まると一意に定まり、ターゲット機器の動作状況(例えば、イベント実行の際の動作状況)に依存しない、種類の制約条件である。条件510は、画面遷移表を生成する際、アニメセルが当該静的制約条件に違反していないかを判定するために使用される。静的制約条件510は、例えば、以下の情報、
(*)同時にアニメ可能な表示部品の最大数を表すアニメ要素数513、
(*)アニメ可能な表示部品のサイズの最大値を表すアニメ要素サイズ514、
(*)アニメを連続再生可能な時間の最大値を表すアニメ期間515、
を含む。
The
(*) Number of
(*)
(*) An
including.
動的制約条件512は、動的制約条件を表す情報である。「動的制約条件」は、ターゲット機器の動作状況(例えば、イベント実行の際の動作状況)に応じて適用される制約条件である。条件512は、画面遷移表を生成する際、通常セルに当該動的制約条件を記載するために使用される。そして、動的制約条件512は、ターゲット機器において、画面表示プログラム331を実行する際の制約条件として使用される。動的制約条件512は、例えば、以下の情報、
(*)アニメを禁止するCPU負荷率の閾値であるアニメ禁止CPU負荷率516、
(*)アニメを禁止するメモリ使用率の閾値であるアニメ禁止メモリ使用率517、
(*)車両走行時の操作を許可するか否かを表す車両走行時操作518、
を含む。どの動的制約条件をどの通常セルに記載すべきかの判断は、そのセルと対応しているフレームのデータの内容、及びそのフレームに存在する表示部品の属性等に依存する。例えば、走行中の操作が禁止されているボタンがフレームに存在する場合、車両走行時操作518が「No」の動的制約条件が通常セルに記載される。なお、CPU負荷率の閾値は、実際にテスト用コンテンツをターゲット機器上で実行させた上で決定されてよい。また、各種制約条件は、道路交通法など定義文章からカーナビに関する各種規制を解析し、自動的に生成されてもよい。
The dynamic constraint condition 512 is information representing the dynamic constraint condition. The “dynamic constraint condition” is a constraint condition applied according to the operation status of the target device (for example, the operation status at the time of event execution). The condition 512 is used to describe the dynamic constraint condition in a normal cell when generating the screen transition table. The dynamic constraint condition 512 is used as a constraint condition when the
(*) Animation prohibition
(*) Animation prohibition memory usage rate 517, which is a threshold of memory usage rate that prohibits animation.
(*) A
including. The determination of which dynamic constraint condition should be described in which normal cell depends on the data content of the frame corresponding to the cell, the attribute of the display component existing in the frame, and the like. For example, when there is a button on the frame that is prohibited from being operated during traveling, a dynamic constraint condition in which the
図6は、画面遷移処理に関するコード雛形の一例を示す。 FIG. 6 shows an example of a code template for screen transition processing.
画面遷移に関するコード雛形600は、所定の言語、例えばjavascript言語で記述されている。コード記述エリア601には、ユーザが独自に実行させたい処理を記述することができる。
The
図7は、画面遷移に関するイベントのコード雛形表700及びコード雛形の一例を示す。 FIG. 7 shows an example of a code template table 700 of events related to screen transitions and a code template.
コード雛形表700には、ターゲット機器毎に、画面遷移のイベントが発生した時に実行されるコード雛形が記載されている。コード雛形は、コード結合部319において、画面データ301と結合される。
The code template table 700 describes a code template that is executed when a screen transition event occurs for each target device. The code template is combined with the
コード雛形表700は、ターゲット機器毎に、ターゲット機器ID703を有する。各列は、ターゲット機器IDに対応しており、各行は、イベント名に対応している。ターゲット機器IDとイベント名とから一義的に定まるセルに、コード雛形が記述される。 The code template table 700 has a target device ID 703 for each target device. Each column corresponds to a target device ID, and each row corresponds to an event name. A code template is described in a cell that is uniquely determined from the target device ID and the event name.
或るコード雛形710には、「pressListButton」のイベントが発生した時、画面遷移のメソッド「onEvent」を呼び出す処理が記載されている。コード雛形710において、「//」から始まる行はコメント文であり、ユーザが独自に処理を記述する際に参考となる情報が記載されている。なお、複雑度判定部317における判定の結果、ネイティブモジュール333と判定された場合、コード雛形710には画面遷移のメソッド「onEvent」の代わりに、ネイティブモジュールを呼び出すコード「onNativeEvent」711が記載される。
A
別のコード雛形720は、フレーム遷移完了イベントである「finish」が発生したときの処理の雛形である。コード雛形720には、データ読み込みメソッド「dataLoad」と画面遷移のメソッド「onEvent」を呼び出す処理が記載されている。
Another
図8は、画面データから画面遷移表を生成する処理のフローチャートの一例である。 FIG. 8 is an example of a flowchart of processing for generating a screen transition table from screen data.
まず、遷移表生成部302は、空の画面遷移表を新規に作成する(S801)。
First, the transition
次に、遷移表生成部302は、画面データのフレームをフレーム番号順に検索し、ラベル名を抽出し、画面遷移表の列のタイトルとして、そのラベル名を設定する(S802)。
Next, the transition
次に、遷移表生成部302は、ラベル名に「anime」という文字列を含むか否かを判定し、判定結果が「YES」の場合、当該ラベル名のフレームをアニメフレームと判定し、当該ラベル名の列に属するセルのアニメフラグを「true」に設定する(S803)。なお、本実施形態では、アニメフレームを識別するための方法として、ラベル名に「anime」という文字列が含まれているか否かを判定する方法が採用されている。しかし、アニメフレームの識別は、他の方法で行われても良い。例えば、ラベル名に「anime」以外の文字列が含まれているか否かを判定することが採用されても良い。また、フレーム内のスクリプトにコメントとしてアニメフレームを示す文字列が記載されているか否かを判定する方法が採用されてもよい。
Next, the transition
次に、遷移表生成部302は、ラベル名に「menu」という文字列を含むか否かを判定し、判定結果が「YES」の場合、当該ラベル名のフレームを通常フレーム(アニメが動作しないフレーム)と判断し、当該ラベル名の列に属するセルのアニメフラグを「false」に設定する(S804)。なお、本実施形態では、通常フレームの識別は、他の方法で行われても良い。例えば、ラベル名に「menu」以外の文字列が含まれているか否かを判定することが採用されても良い。また、フレーム内のスクリプトにコメントとして通常フレームを示す文字列が記載されているか否かを判定する方法が採用されてもよい。
Next, the transition
次に、遷移表生成部302は、フレーム番号を決定するフレームカウンタを0にセットする(S805)。
Next, the transition
次に、遷移表生成部302は、フレームカウンタが表す値と一致するフレーム番号が付与されているフレームにスクリプト記述があるか否かを判定する(S806)。ここで、フレームにスクリプト記述がある場合は(S806:Yes)、ステップS807へ進む。一方、フレームにスクリプト記述がない場合は(S806:No)、ステップS810へ進む。以下、ステップS807からの処理を説明する。
Next, the transition
次に、遷移表生成部302は、スクリプト内にジャンプ命令(goto文)が存在するか否かを判定する(S807)。ここで、ジャンプ命令が存在する場合は(S807:Yes)、ステップS808へ進む。一方、ジャンプ命令が存在しない場合は(S807:No)、ステップS810へ進む。以下、ステップS808からの処理を説明する。
Next, the transition
次に、遷移表生成部302は、ジャンプ命令が記載されているメソッド名と、ジャンプ命令に記載されているジャンプ先のラベル名とを抽出する(S808)。
Next, the transition
次に、遷移表生成部302は、画面遷移表の行のタイトルにイベント名として、ステップS808で抽出したメソッド名を設定する。そして、遷移表生成部302は、このメソッド名の行とステップS806で判定されたフレームの列とが交差するセルにおいて、セルが保持するジャンプ先413、414及び422に、ステップS808で抽出したジャンプ先のラベル名を記載する(S809)。
Next, the transition
次に、遷移表生成部302は、フレームカウンタに1を加算する(S810)。
Next, the transition
次に、遷移表生成部302は、フレームカウンタの値と一致するフレーム番号が最終のフレームの番号か否かを判定する(S811)。ここで、最終フレーム番号の場合は(S811:Yes)、ステップ812へ進む。一方、最終フレーム番号でない場合は(S811:No)、ステップ806へ戻る。以下、ステップS812からの処理を説明する。
Next, the transition
次に、遷移表生成部302は、制約条件に基づき画面遷移表を修正する(S812)。
Next, the transition
図9は、図8のステップS812のフローチャートの一例である。 FIG. 9 is an example of a flowchart of step S812 in FIG.
まず、遷移表生成部302は、画面遷移表から、「アニメフラグ」が「true」のセル(以下、「アニメセル」と言うことがある)を表の最初から順番に探し、最初にマッチしたセルを抽出する(S901)。ここで抽出したセルを、図9の説明において「セルA」と言う。
First, the transition
次に、遷移表生成部302は、画面遷移表から、ステップS901で抽出したセルAに対応するフレーム区間をジャンプ先として指定しているセルを表の最初から順番に探し、マッチしたセルを抽出する(S902)。ここで抽出したセルを、図9の説明において「セルB」と言う。セルBが複数存在する場合は、すべてのセルBを抽出し、それら全てのセルBに対して、以降のセルBに関する処理が実行される。
Next, the transition
次に、遷移表生成部302は、ターゲット機器ID及びイベント名を検索キーとして、イベント制約定義表500から、その検索キーに対応する静的制約条件を抽出する。そして、遷移表生成部302は、その静的制約条件を、セルBの「遷移後アニメ制限」に設定する(S903)。すなわち、このS903では、セルBからセルAへ遷移した後のセルAのアニメ制限が設定される。なお、検索キーにおけるイベント名は、セルAに遷移されるために発生するイベントのイベント名である。
Next, the transition
次に、遷移表生成部302は、セルAに対応するラベル名を基に、当該ラベル名が付与されたフレームをチェックする(S904)。
Next, based on the label name corresponding to the cell A, the transition
次に、遷移表生成部302は、ステップS904においてチェックしたフレームが、静的制約条件に記載されている複数の制約条件(例えば、「アニメ要素数」、「アニメ要素サイズ」及び「アニメ再生期間」)のうちの少なくとも1つの制約条件に違反しているか否かを判定する(S905)。ここで、制約条件に違反している場合は(S905:Yes)、ステップS906へ進む。一方、制約条件に違反していない場合は(S905:No)、ステップS910へ進む。以下、ステップS906からの処理を説明する。
Next, the transition
次に、遷移表生成部302は、セルAに記載されている、フレーム再生完了後のジャンプ先のフレーム区間のラベル名を、抽出する(S906)。
Next, the transition
次に、遷移表生成部302は、セルBに記載されているジャンプ先414のラベル名を、ステップS906で抽出した、フレーム再生完了後のジャンプ先のフレーム区間のラベル名に、置換する(S907)。すなわち、セルBに対応する通常フレームが静的制約条件に違反している場合、その通常フレームがアニメフレームにジャンプしないような設定が行われる。
Next, the transition
次に、遷移表生成部302は、アニメが省略される旨の警告をツールの画面に表示する(S908)。なお、ステップS906の処理において、ジャンプ先のラベル名が見つからない場合は、画面遷移自体がそこで中断してしまうので、その旨の警告がツール(図1を参照して説明したツール)の画面に表示されてもよい。
Next, the transition
次に、遷移表生成部302は、未処理のアニメセルがあるか否かを判定する(S909)。ここで、未処理のアニメセルがある場合は(S909:Yes)、ステップS901へ戻る。一方、未処理のアニメセルがない場合は(S909:No)、ステップS910へ進む。以下、ステップS910からの処理を説明する。
Next, the transition
次に、遷移表生成部302は、画面遷移表から、アニメセルAに対応するアニメフレームへの遷移が記載された、通常フレームに対応するセル(以下、「通常セル」と言うことがある)Bを再び抽出する(S910)。
Next, the transition
次に、遷移表生成部302は、通常セルBの属する行からイベント名を抽出する(S911)。
Next, the transition
次に、遷移表生成部302は、ステップS912にて、ステップS911で抽出したイベント名を検索キーとして、イベント制約定義表500から動的制約条件を抽出し、その動的制約条件を、遷移後アニメ制限412としてセルBに追記する(S912)。
Next, in step S912, the transition
次に、遷移表生成部302は、未処理セルがあるか否かを判定する(S913)。ここで、未処理セルがある場合は(S913:Yes)、ステップS910へ戻る。一方、未処理セルがない場合は(S913:No)、処理を終了する。
Next, the transition
図10は、画面遷移表から画面雛形を生成する処理のフローチャートの一例である。 FIG. 10 is an example of a flowchart of processing for generating a screen template from the screen transition table.
まず、画面雛形生成部304は、フレームカウンタを0に設定する(S1001)。
First, the screen
次に、画面雛形生成部304は、画面遷移表の列のタイトルからラベル名を抽出する(S1002)。図10の説明において、その列を、「対象列」と言う。
Next, the screen
次に、画面雛形生成部304は、フレームカウンタからフレーム番号を生成する。生成されたフレーム番号は、例えば、フレームカウンタが示す値と一致する番号である。そして、画面雛形生成部304は、空の新規フレームを生成し、その新規フレームに、上記生成したフレーム番号と、ステップS1002で抽出したラベル名とを付与する(S1003)。
Next, the screen
次に、画面雛形生成部304は、対象列(付与されたラベル名の列)からイベント名を全て抽出する(S1004)。抽出された各イベント名について、後述のS1005が行われる。以下、1つのイベント名(図10の説明において「対象イベント名」と言う)を例に取る。
Next, the screen
次に、画面雛形生成部304は、抽出された対象イベント名がボタン押下イベントを表すイベント名か否かを判定する(S1005)。ここで、ボタン押下イベントの場合は(S1005:Yes)、ステップS1006へ進む。一方、ボタン押下イベントでない場合は(S1005:No)、ステップS1011へ進む。以下、ステップ1006からの処理を説明する。
Next, the screen
次に、画面雛形生成部304は、ボタン押下イベントを発生可能とするために、この新規フレームに、表示部品としてボタン雛形を配置する(S1006)。
Next, the screen
次に、画面雛形生成部304は、コード雛形表700を参照して、ステップS1006で配置したボタン雛形に対応する対象イベント(対象イベント名から識別されるイベント)のコード雛形を生成し、生成したコード雛形を、新規フレームのスクリプト記載エリアに記載する(S1007)。
Next, the screen
次に、画面雛形生成部304は、対象イベントに制約条件があるか否かを判定する(S1008)。ここで、制約条件がある場合は(S1008)、ステップS1009へ進む。一方、制約条件がない場合(S1008:No)、ステップS1013へ進む。以下、ステップS1009からの処理を説明する。
Next, the screen
次に、画面雛形生成部304は、新規フレームに配置されたボタン雛形の色を変更する(S1009)。これにより、生成後の画面データにおいて、制約がある表示部品は異なる色で表示されるので、視覚的に判別できるようになる。色の変更以外の種類の表示態様変更(強調表示)が採用されて良い。表示態様は、例えば、線の太さ、フォントなどである。
Next, the screen
次に、画面雛形生成部304は、対象イベント名に対応するセル(画面遷移表におけるセル)に記載されている制約条件を、コメントとしてコードに追記する(S1010)。
Next, the screen
次に、画面雛形生成部304は、ステップS1004で抽出された1以上のイベント名にステップS1005が未処理のイベント名があるか否かを判定する(S1013)。ここで、未処理のイベント名がある場合(S1013:Yes)、ステップS1005へ戻る。一方、未処理のイベントがない場合(S1013:No)、ステップS1014へ進む。以下、ステップS1014からの処理を説明する。
Next, the screen
次に、画面雛形生成部304は、対象列に属する全てのセルにおいて「アニメフラグ」が「ture」か否かを判定する(S1014)。ここで、「アニメフラグ」が「true」の場合は(S1014:Yes)、ステップS1015へ進む。一方、「アニメフラグ」が「false」の場合は(S1014:No)、ステップS1016へ進む。以下、ステップS1015からの処理を説明する。
Next, the screen
「アニメフラグ」が「true」の場合(S1014:Yes)、画面雛形生成部304は、フレームカウンタに5を加算する(S1015)。フレームカウンタに5を加算する理由は、このフレーム区間にアニメのフレームを挿入するためである。一方、「アニメフラグ」が「false」の場合(S1014:No)、画面雛形生成部304は、フレームカウンタに1を加算する。
When the “animation flag” is “true” (S1014: Yes), the screen
次に、画面雛形生成部304は、画面遷移表で未処理の列が残っているか否かを判定する(S1017)。ここで、未処理の列が残っている場合は(S1017:Yes)、ステップS1002へ戻る。一方、未処理の列が残っていない場合は(S1017:No)、処理を終了する。
Next, the screen
ところで、ステップS1005において、ボタン押下イベントでない場合(S1005:No)、画面雛形生成部304は、コード雛形をスクリプト記載エリア挿入する(S1011)。
In step S1005, if the event is not a button press event (S1005: No), the screen
次に、画面雛形生成部304は、対象イベント名に対応するセル(画面遷移表におけるセル)に記載されている制約条件を、コメントとしてコードに追記し(S1012)、ステップS1013に進む。以降の処理は、上記と同様である。
Next, the screen
この図10に示す一連の処理により、画面データの雛形303が生成される。
A
以上が、本実施形態についての説明である。 The above is the description of the present embodiment.
本実施形態によれば、開発者は、画面遷移表を基にGUIにおけるフレームの遷移の流れを簡単に把握することができる。 According to this embodiment, the developer can easily grasp the flow of frame transition in the GUI based on the screen transition table.
また、本実施形態によれば、ターゲット機器のスペックに応じた適切な制約条件(静的制約条件及び動的制約条件)がソフトウェア(例えばコード)に反映される。このため、開発者による開発の負荷が軽減される。 Further, according to the present embodiment, appropriate constraint conditions (static constraint conditions and dynamic constraint conditions) according to the specifications of the target device are reflected in the software (for example, code). For this reason, the development load by the developer is reduced.
また、本実施形態によれば、ターゲット機器のCPU使用率等に応じて、アニメ等の動作を制約する制約条件がソフトウェア(例えばコード)に反映される。このため、開発者は、ユーザフレンドリーなソフトウェアを開発することができる。 Further, according to the present embodiment, the constraint condition that restricts the operation of animation or the like is reflected in the software (for example, code) according to the CPU usage rate of the target device. For this reason, the developer can develop user-friendly software.
また、本実施形態によれば、画面データ301の複雑度が低い場合はスクリプトコードを生成し、画面データ301の複雑度が高い場合はネイティブコードが生成される。これにより、拡張性と実行速度のバランスがとれたソフトウェアを作成することができる。
Further, according to the present embodiment, a script code is generated when the complexity of the
なお、上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。 In addition, embodiment of this invention mentioned above is an illustration for description of this invention, and is not the meaning which limits the scope of the present invention only to those embodiment. Those skilled in the art can implement the present invention in various other modes without departing from the gist of the present invention.
例えば、ボタン操作時に音を出す必要がある場合は、音に対する制約条件を定めて、画面遷移表に制約条件として記載してもよい。また、本実施形態では、タイムライン型画面設計ツール自体に機能を内蔵したが、プラグインとして既存のツールに機能が追加されてもよい。 For example, when it is necessary to make a sound when a button is operated, a restriction condition for sound may be determined and described as a restriction condition in the screen transition table. In the present embodiment, the function is built in the timeline type screen design tool itself, but the function may be added to an existing tool as a plug-in.
また、上述したソフトウェア作成支援装置300は、デザイナーと開発者の連携に有効である。このため、例えば、装置300は、デザイナー用の認証情報(例えばログインID)と開発者用の認証情報(例えばログインID)とを管理していて、ユーザから入力された認証情報がデザイナー用であるか開発者用であるかによって、そのユーザに対して提供するサービス(実行するプログラム)を選択して良い。例えば、入力された認証情報がデザイナー用の認証情報であれば、プログラム340が実行されプログラム350は実行されず、一方、入力された認証情報が開発者用の認証情報であれば、プログラム350が実行されてプログラム340は実行されないで良い。
Further, the above-described software
また、例えば、ターゲット機器IDは、ターゲット機器の種類のIDであっても良い。 Further, for example, the target device ID may be an ID of the target device type.
100 ソフトウェア作成支援装置の画面表示例
300 ソフトウェア作成支援装置
302 遷移表生成部
313 ドキュメント生成部
316 記憶部
317 複雑度判定部
318 コード雛形生成部
319 コード結合部
322 画面表示プログラム生成部
323 モジュール生成部
340 画面設計プログラム
350 画面遷移生成プログラム
400 画面遷移表
500 イベント制約定義表
700 コード雛形表
100 Screen display example of software
Claims (10)
時間の経過に伴い遷移する複数の連続するフレームからなるフレーム区間を含む画面データを記憶する画面データ記憶部と
イベントにおいて前記電子機器の動作の制約を表す情報であるイベント制約定義情報であって、前記イベント制約定義情報及び前記画面データに基づいて前記フレーム区間の表示中に発生したイベントに応じて遷移するフレーム区間を定義した遷移管理情報を生成する遷移管理情報生成部と、
前記イベント制約定義情報及び前記遷移管理情報を記憶する管理情報記憶部と、
を有することを特徴とするソフトウェア作成支援装置。 A software creation support apparatus that supports creation of software for displaying a GUI (Graphical User Interface) on an electronic device,
A screen data storage unit for storing screen data including a frame section composed of a plurality of continuous frames that transition with the passage of time;
Event constraint definition information, which is information representing an operation restriction of the electronic device in an event, and a frame that transitions according to an event that occurs during display of the frame section based on the event constraint definition information and the screen data A transition management information generation unit for generating transition management information defining a section;
A management information storage unit for storing the event constraint definition information and the transition management information;
A software creation support apparatus characterized by comprising:
前記複数のフレーム区間は、アニメーションが動作するフレームを含んだフレーム区間である1以上のアニメフレーム区間と、アニメーションが動作しないフレームで構成されたフレーム区間である1以上の通常フレーム区間とを含み、
前記イベント制約定義情報は、少なくとも1つのイベントについて、前記電子機器の動作状況に依存しない制約である静的制約を表す情報を含んでおり、
前記遷移管理情報生成部は、
(a)第1のアニメフレーム区間を特定し、
(b)イベントの発生により前記第1のアニメフレーム区間が遷移先とされる第2のフレーム区間を特定し、
(c)前記第2のフレーム区間においての前記イベントに対応する静的制約が満たされているか否かを判断し、
(d)前記(c)の判断の結果が否定的であれば、前記第1のアニメフレーム区間の遷移先である第3のフレーム区間を特定し、
前記遷移管理情報は、
(X)前記(c)の判断の結果が肯定的であれば、前記第2のフレーム区間の遷移先として、前記第1のアニメフレーム区間を表す情報を有しており、
(Y)前記(c)の判断の結果が否定的であれば、前記第2のフレーム区間の遷移先として、前記第1のアニメフレーム区間を表す情報と、前記第3のフレーム区間を表す情報とを有しており、
前記第2のフレーム区間の遷移先として前記第1のアニメフレーム区間と前記第3のフレーム区間とが指定されている前記遷移管理情報に基づいて作成されたソフトウェアは、前記GUIにおいて、前記第2のフレーム区間からの遷移先として前記第1のアニメフレーム区間を優先的に選択する、
ソフトウェア作成支援装置。 The software creation support apparatus according to claim 1 ,
The plurality of frame sections include one or more animation frame sections that are frames including a frame in which the animation operates, and one or more normal frame sections that are frame sections configured by a frame in which the animation does not operate,
The event constraint definition information includes information representing a static constraint that is a constraint that does not depend on an operation state of the electronic device for at least one event,
The transition management information generation unit
(A) Specify the first animation frame section,
(B) specifying a second frame section in which the first animation frame section is a transition destination by the occurrence of an event;
(C) determine whether a static constraint corresponding to the event in the second frame interval is satisfied;
(D) If the result of the determination in (c) is negative, specify the third frame section that is the transition destination of the first animation frame section;
The transition management information is
(X) If the result of the determination in (c) is affirmative, it has information representing the first animation frame section as a transition destination of the second frame section;
(Y) If the result of the determination in (c) is negative, information representing the first animation frame section and information representing the third frame section as the transition destination of the second frame section And
The software created based on the transition management information in which the first animation frame section and the third frame section are designated as the transition destination of the second frame section is the second software in the GUI. Preferentially select the first animation frame section as a transition destination from the frame section of
Software creation support device.
前記イベント制約定義情報は、前記少なくとも1つのイベントについて、前記電子機器の動作状況に関する制約である動的制約を表す情報を更に含んでおり、
前記遷移管理情報生成部は、前記第2のフレーム区間においての前記イベントに対応する動的制約を特定し、
前記遷移管理情報は、前記第2のフレーム区間についての制約として、前記特定された動的制約を表す情報を有しており、
前記第2のフレーム区間の遷移先として前記第1のアニメフレーム区間と前記第3のフレーム区間とが指定されており且つ前記動的制約を表す情報を含んでいる前記遷移管理情報に基づいて作成されたソフトウェアは、前記電子機器の動作状況が前記動作制約を満たしていない場合、前記GUIにおいて、前記第2のフレーム区間からの遷移先として前記第3のフレーム区間を選択する、
ソフトウェア作成支援装置。 A software creation support apparatus according to claim 2 ,
The event constraint definition information further includes information representing a dynamic constraint that is a constraint related to an operation state of the electronic device with respect to the at least one event.
The transition management information generation unit identifies a dynamic constraint corresponding to the event in the second frame section,
The transition management information includes information representing the identified dynamic constraint as a constraint on the second frame section,
Created based on the transition management information that includes the first animation frame section and the third frame section as transition destinations of the second frame section and includes information representing the dynamic constraint When the operation state of the electronic device does not satisfy the operation constraint, the software that has been selected selects the third frame section as a transition destination from the second frame section in the GUI.
Software creation support device.
前記第3のフレーム区間は、前記通常フレーム区間である、
ソフトウェア作成支援装置。 A software creation support apparatus according to claim 3 ,
The third frame section is the normal frame section.
Software creation support device.
前記イベント制約定義情報は、イベントにおいて前記電子機器の動作の制約があるかを表す情報を、電子機器毎、又は、電子機器の種類毎に有しており、
前記遷移管理情報生成部は、前記イベント制約定義情報のうちの、入力された電子機器識別情報に対応する制約に基づいて、前記遷移管理情報を生成し、
前記電子機器識別情報は、電子機器又は電子機器の種類の識別情報である、
ソフトウェア作成支援装置。 The software creation support apparatus according to claim 1 ,
The event constraint definition information has information indicating whether there is a restriction on the operation of the electronic device in an event for each electronic device or each type of electronic device,
The transition management information generation unit generates the transition management information based on the constraint corresponding to the input electronic device identification information in the event constraint definition information,
The electronic device identification information is identification information of the type of electronic device or electronic device.
Software creation support device.
前記制約は、前記電子機器の動作状況が所定の状況の場合に遷移先のアニメーションの実行を省略することができるか否かを表す制約である、
ソフトウェア作成支援装置。 The software creation support apparatus according to claim 1 ,
The constraint is a constraint that represents whether or not the execution of the transition destination animation can be omitted when the operation status of the electronic device is a predetermined status.
Software creation support device.
前記制約は、ユーザが所定の操作を行った場合にアニメーションの実行を省略することができるか否かを表す制約である、
ソフトウェア作成支援装置。 The software creation support apparatus according to claim 1 ,
The constraint is a constraint indicating whether or not the execution of the animation can be omitted when the user performs a predetermined operation.
Software creation support device.
前記複数のフレーム区間は、アニメーションが動作するフレームを含んだフレーム区間である1以上のアニメフレーム区間と、アニメーションが動作しないフレームで構成されたフレーム区間である1以上の通常フレーム区間とを含み、
前記アニメフレーム区間についての前記制約と前記通常フレーム区間についての前記制約とは異なる制約である、
ソフトウェア作成支援装置。 The software creation support apparatus according to claim 1 ,
The plurality of frame sections include one or more animation frame sections that are frames including a frame in which the animation operates, and one or more normal frame sections that are frame sections configured by a frame in which the animation does not operate,
The constraint on the animation frame section is different from the constraint on the normal frame section.
Software creation support device.
時間の経過に伴い遷移する複数の連続するフレームからなるフレーム区間を含む画面データと、イベントにおいて前記電子機器の動作の制約を表す情報であるイベント制約定義情報とを所定の記憶部から取得し、
前記イベント制約定義情報及び前記画面データに基づいて前記フレーム区間の表示中に発生したイベントに応じて遷移するフレーム区間を定義した遷移管理情報を生成し、
前記遷移管理情報を所定の記憶部に記憶する
ことを特徴とするソフトウェア作成支援方法。 A software creation support method for supporting creation of software for displaying a GUI (Graphical User Interface) on an electronic device,
Obtaining from a predetermined storage unit screen data including a frame section composed of a plurality of continuous frames that transition with the passage of time, and event constraint definition information, which is information representing the constraint of the operation of the electronic device in an event,
Based on the event constraint definition information and the screen data, generate transition management information that defines a frame section that transitions according to an event that occurred during display of the frame section,
A software creation support method, wherein the transition management information is stored in a predetermined storage unit .
時間の経過に伴い遷移する複数の連続するフレームからなるフレーム区間含む画面データと、イベントにおいて前記電子機器の動作の制約を表す情報であるイベント制約定義情報とを所定の記憶部から取得し、
前記イベント制約定義情報及び前記画面データに基づいて前記フレーム区間の表示中に発生したイベントに応じて遷移するフレーム区間を定義した遷移管理情報を生成し、
前記遷移管理情報を所定の記憶部に記憶する
ことを特徴とするコンピュータプログラム。
A computer program for supporting creation of software executed on an electronic device and displaying a GUI (Graphical User Interface),
Obtaining from a predetermined storage unit screen data including a frame section composed of a plurality of continuous frames that transition with the passage of time, and event constraint definition information, which is information representing a constraint on the operation of the electronic device in an event,
Based on the event constraint definition information and the screen data, generate transition management information that defines a frame section that transitions according to an event that occurred during display of the frame section ,
A computer program storing the transition management information in a predetermined storage unit .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011021119A JP5511704B2 (en) | 2011-02-02 | 2011-02-02 | Apparatus, method, and program for supporting creation of software |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011021119A JP5511704B2 (en) | 2011-02-02 | 2011-02-02 | Apparatus, method, and program for supporting creation of software |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012160137A JP2012160137A (en) | 2012-08-23 |
| JP5511704B2 true JP5511704B2 (en) | 2014-06-04 |
Family
ID=46840594
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011021119A Active JP5511704B2 (en) | 2011-02-02 | 2011-02-02 | Apparatus, method, and program for supporting creation of software |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5511704B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6160291B2 (en) * | 2013-06-24 | 2017-07-12 | 富士通株式会社 | Screen creation support program, screen creation support device, and screen creation support method |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2998652B2 (en) * | 1996-09-20 | 2000-01-11 | 日本電気株式会社 | GUI screen layout design method |
| JP2004185337A (en) * | 2002-12-04 | 2004-07-02 | Canon Inc | Information retrieval apparatus and method and storage medium |
| JP4924864B2 (en) * | 2006-01-05 | 2012-04-25 | ソニー株式会社 | Information processing method and apparatus, recording medium, and program |
| JP4847230B2 (en) * | 2006-06-29 | 2011-12-28 | クラリオン株式会社 | In-vehicle information terminal device, drawing control method, and program |
| JP5012319B2 (en) * | 2007-08-22 | 2012-08-29 | 株式会社Jvcケンウッド | In-vehicle hands-free communication device and control method for in-vehicle hands-free communication device |
-
2011
- 2011-02-02 JP JP2011021119A patent/JP5511704B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2012160137A (en) | 2012-08-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10338893B2 (en) | Multi-step auto-completion model for software development environments | |
| US8589874B2 (en) | Visual interface to represent scripted behaviors | |
| JP5198132B2 (en) | State transition test support device, state transition test support program, and state transition test support method | |
| CN110826720B (en) | Interface display method and device, interface switching method and device | |
| US8429613B2 (en) | Stepping and application state viewing between points | |
| KR101772785B1 (en) | Program chart display device, program chart display method, and computer readable recoding medium for recording program chart display program | |
| CN106462405A (en) | Interactive learning tool using playground | |
| US20170249231A1 (en) | Analytic and layer-based augmentation of code reviews | |
| US20150089467A1 (en) | Design language notification generator | |
| KR20100081351A (en) | Logical structure design surface | |
| CN114546383A (en) | Driving scene display method and device, electronic equipment and storage medium | |
| Farrell | Web components in action | |
| CN108846069B (en) | Document execution method and device based on markup language | |
| JP2014059597A (en) | Drawing program, drawing method and drawing device | |
| JP5511704B2 (en) | Apparatus, method, and program for supporting creation of software | |
| US8788449B2 (en) | Interface for creating and editing boolean logic | |
| CN101542585A (en) | Image generation system, projector, program, information storage medium, and image generation method | |
| CN110750263B (en) | A method and device for generating vehicle instrument development data | |
| KR102228241B1 (en) | Method and system for virtual input on the web | |
| Cavarra et al. | Combining sequence diagrams and OCL for liveness | |
| JP2007323219A (en) | FMEA support apparatus, apparatus thereof, program thereof and medium thereof | |
| KR102060023B1 (en) | A display device and a method for processing a screen using it | |
| CN111930374A (en) | Data formatting method, data formatting device, programming system, data formatting equipment and storage medium | |
| CN114020257B (en) | Coding assistance method, device, equipment and storage medium | |
| KR20140073046A (en) | A method for displaying components and an apparatus using it |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130426 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131216 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131224 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140220 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140318 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140325 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5511704 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |