JP2008117067A - アプリケーションプログラムを生成するための装置、方法、及びプログラム - Google Patents

アプリケーションプログラムを生成するための装置、方法、及びプログラム Download PDF

Info

Publication number
JP2008117067A
JP2008117067A JP2006298055A JP2006298055A JP2008117067A JP 2008117067 A JP2008117067 A JP 2008117067A JP 2006298055 A JP2006298055 A JP 2006298055A JP 2006298055 A JP2006298055 A JP 2006298055A JP 2008117067 A JP2008117067 A JP 2008117067A
Authority
JP
Japan
Prior art keywords
variable
name
interface
application program
input interface
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.)
Granted
Application number
JP2006298055A
Other languages
English (en)
Other versions
JP4629646B2 (ja
Inventor
Hiroyasu Osaki
博靖 大崎
Kazuyuki Tsuda
和幸 津田
Satoshi Enomoto
聡 榎本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006298055A priority Critical patent/JP4629646B2/ja
Priority to CNB200710141181XA priority patent/CN100533377C/zh
Priority to US11/873,716 priority patent/US8140305B2/en
Publication of JP2008117067A publication Critical patent/JP2008117067A/ja
Application granted granted Critical
Publication of JP4629646B2 publication Critical patent/JP4629646B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】既存のアプリケーションプログラムを個別の状況に応じて変更する作業を簡単に行えるようにする。
【解決手段】アプリケーションプログラムの設計モデル上で個別の状況に応じた値を格納できるようにしたい変数と個別の状況を識別する変数とを指定するアノテーションを検出するアノテーション検出部11と、アノテーションに基づいて設計モデルを変換する変換部12と、設計モデルを記憶する設計モデル記憶部13とを備える。そして、変換部12は、元の入力インターフェイスを新たな入力インターフェイスに変換する入力インターフェイス変換部14と、元の出力インターフェイスを新たな出力インターフェイスに変換する出力インターフェイス変換部15と、元の入力インターフェイスからの入力に個別情報を付加して新たな入力インターフェイスを呼び出す設計モデルを生成する新規モデル生成部16とを備える。
【選択図】図6

Description

本発明は、アプリケーションプログラムを変換するための装置、方法、及びプログラムに関し、より詳しくは、個別に変更する箇所を指定してアプリケーションプログラムを変換する装置、方法、及びプログラムに関する。
一般に、アプリケーションプログラムのような実行実体においては、利用する状況等によって個別に対応しなければならないことがその作成後に判明する場合がある。例えば、外界からの入力に基づいて状況を保持し、判別された状況に応じて情報を出力するプログラムを作成したとする。このようなプログラムでは、状況を判別するための閾値や、出力先であるメールアドレス等を、後で個別に変更したり追加したりする必要が生じることがあるのである。
こうした場合、作成済のアプリケーションプログラムを変更しなければならない。ここで、アプリケーションプログラムの変更を支援する従来の技術として、ソースプログラムの関数呼出記述中の複数の引数のうちの1つを変更する場合に着目したものは存在した(例えば、特許文献1参照)。特許文献1の技術では、1つの引数の位置指定を受け付けると、まず、どの関数のどの引数であるかを特定する。次に、特定した引数の条件を求め、その条件を満たす変数すべてをソースプログラム中から検索し、検索した変数の選択肢を表示する。そして、1つの変数の選択を受け付けると、位置指定された1つの引数を、選択を受け付けた変数に変更している。
特開2000−20296号公報
上記のように、作成済のアプリケーションプログラムに対して利用状況等に応じて後から変更を加える必要が生じることは、一般にあり得ることである。ここでは、アプリケーションモデルを設計し、これに基づいてアプリケーションプログラムを作成する場合について考える。
従来、このような場合に、後から変更を加える必要が生じると、アプリケーションモデルを再設計する作業が必要となっていた。
また、個別の利用状況等を想定した上でアプリケーションモデルを設計し、後で変更を加える必要ができるだけ生じないようにすることも考えられる。しかしながら、アプリケーションモデルを設計するユーザは、システムには詳しいが、必ずしも業務に詳しいとは限らない。従って、個別の利用状況等が事前に十分に想定できない可能性があった。つまり、個別の状況に対応した柔軟なアプリケーションプログラムを作成するためには、アプリケーションプログラムの開発者に高いスキルが求められていた。
また、特許文献1には、アプリケーションプログラムの変更を支援することは開示されているが、個別の状況に応じてアプリケーションプログラムを変更する場合に着目したものではない。例えば、アプリケーションモデルに基づいてアプリケーションプログラムを作成する場合について言えば、従来、元のアプリケーションモデルをテンプレートとして用い個別利用可能な新たなアプリケーションモデルに変換し、かつ、個別のインスタンスを生成する別のアプリケーションモデルを生成するような技術は、存在しなかった。
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、既存のアプリケーションプログラムを個別の状況に応じて変更する作業を簡単に行えるようにすることにある。
かかる目的のもと、本発明では、個別の状況に対応できるようにしたい要素と、その個別の状況を識別する要素とを指定するだけで、元のアプリケーションプログラムを、個別の状況に対応したアプリケーションプログラムに簡単に変換できるようにした。
即ち、本発明の第1の装置は、アプリケーションプログラムを構成する要素を表示する表示部と、第1の要素を個別の状況に対応できるようにする旨、及び、第2の要素により個別の状況を識別する旨の表示部上での指示を検出する検出部と、第1の要素を第2の要素により識別される個別の状況に対応できるようにするアプリケーションプログラムの部分を生成する生成部とを備えている。
また、本発明の第2の装置は、アプリケーションプログラムで用いられる変数を表示する表示部と、第1の変数が個別の状況に応じた値を格納できるようにする旨、及び、第2の変数により個別の状況を識別する旨の表示部上での指示を検出する検出部と、第1の変数が第2の変数により識別される個別の状況に応じた値を格納できるようにするアプリケーションプログラムの部分を生成する生成部とを備えている。
ここで、「アプリケーションプログラムの部分」としては、例えば、他のアプリケーションプログラムとの間でデータの受け渡しを行うためのインターフェイスを想定することができる。その場合、第1の装置の生成部は、第1の要素及び第2の要素との間で値を受け渡すことができるインターフェイスを「アプリケーションプログラムの部分」として生成する。また、第2の装置の生成部は、第1の変数及び第2の変数との間で値を受け渡すことができるインターフェイスを「アプリケーションプログラムの部分」として生成する。
また、本発明は、アプリケーションプログラムを変換するための方法として捉えることもできる。その場合、本発明の方法は、アプリケーションプログラムで用いられる変数を表示部に表示するステップと、第1の変数が個別の状況に応じた値を格納できるようにする旨、及び、第2の変数により個別の状況を識別する旨の表示部上での指示を検出するステップと、第1の変数に格納されるべき値を保持するためのアプリケーションプログラムの要素を管理するデータを記憶する記憶部から、そのデータを読み出すステップと、アプリケーションプログラムの要素が、第1の変数に格納されるべき値として、第2の変数により識別される個別の状況に応じた値を保持できるように、データを変更して記憶部に記憶するステップとを含んでいる。
更に、本発明は、所定の機能をコンピュータに実現させるプログラムとして捉えることもできる。
その場合、本発明の第1のプログラムは、コンピュータに、アプリケーションプログラムを構成する要素を表示部に表示するステップと、第1の要素を個別の状況に対応できるようにする旨、及び、第2の要素により個別の状況を識別する旨の表示部上での指示を検出するステップと、第1の要素を第2の要素により識別される個別の状況に対応できるようにするアプリケーションプログラムの部分を生成するステップとを実行させる。
また、本発明の第2のプログラムは、コンピュータに、アプリケーションプログラムで用いられる変数を表示部に表示するステップと、第1の変数が個別の状況に応じた値を格納できるようにする旨、及び、第2の変数により個別の状況を識別する旨の表示部上での指示を検出するステップと、第1の変数が第2の変数により識別される個別の状況に応じた値を格納できるようにするアプリケーションプログラムの部分を生成するステップとを実行させる。
ここで、「アプリケーションプログラムの部分」としては、例えば、他のアプリケーションプログラムとの間でデータの受け渡しを行うためのインターフェイスを想定することができる。その場合、第1のプログラムにおける生成するステップでは、第1の要素及び第2の要素との間で値を受け渡すことができるインターフェイスを「アプリケーションプログラムの部分」として生成する。また、第2のプログラムにおける生成するステップでは、第1の変数及び第2の変数との間で値を受け渡すことができるインターフェイスを「アプリケーションプログラムの部分」として生成する。
本発明によれば、既存のアプリケーションプログラムを個別の状況に応じて変更する作業を簡単に行えるようになる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
まず、本実施の形態においてアプリケーションプログラム(以下、単に「アプリケーション」という)を変換するアプリケーション変換装置として用いるのに好適なコンピュータのハードウェア構成について説明する。
図1は、このようなコンピュータのハードウェア構成の一例を示した図である。
図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)10aと、M/B(マザーボード)チップセット10bを介してCPU10aに接続されたメインメモリ10cと、同じくM/Bチップセット10bを介してCPU10aに接続された表示機構10dとを備える。また、M/Bチップセット10bには、ブリッジ回路10eを介して、ネットワークインターフェイス10fと、磁気ディスク装置(HDD)10gと、音声機構10hと、キーボード/マウス10iと、フレキシブルディスクドライブ10jとが接続されている。
尚、図1において、各構成要素は、バスを介して接続される。例えば、CPU10aとM/Bチップセット10bの間や、M/Bチップセット10bとメインメモリ10cの間は、CPUバスを介して接続される。また、M/Bチップセット10bと表示機構10dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構10dがPCI Express対応のビデオカードを含む場合、M/Bチップセット10bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路10eと接続する場合、ネットワークインターフェイス10fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置10gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス10i、及び、フレキシブルディスクドライブ10jについては、USB(Universal Serial Bus)を用いることができる。
次に、本実施の形態におけるアプリケーション変換装置によるアプリケーションの変換を、具体例を用いて説明する。尚、以下では、アプリケーションの設計工程においてその処理内容を表現するために作成されるモデル(以下、「設計モデル」という)を用いて、アプリケーションの変換を説明する。つまり、設計モデルの変換をもってアプリケーションの変換を説明する。そこで、これを実際の設計モデルの変換と捉え、変換後の設計モデルに基づいてアプリケーションを自動生成することにより、アプリケーションの変換を実現するものと考えてもよい。或いは、この設計モデルをアプリケーションの処理内容を模式的に示したに過ぎないものと捉え、設計モデルの変換と同様の変換をアプリケーションに対して自動的に施すことで、アプリケーションの変換を実現するものと考えてもよい。
図2に、ある量販チェーン店向けに開発されたアプリケーションの処理内容を表す設計モデルを示す。このアプリケーションは、戦略上重要な商品の競合他社の価格を全国の支店でモニターし、自社の価格と他社の価格が閾値を超えると本社管理部にアラートを出す、という処理を行うものである。尚、ここで例示するアプリケーションとしては、SOA(Service Oriented Architecture)における1つの意味のある単位の機能を実現するものを想定する。即ち、他のアプリケーションからデータを受け取るための入力インターフェイスと、他のアプリケーションにデータを受け渡すための出力インターフェイスを有するが、これらのインターフェイスに対応している限り、他のアプリケーションが如何なるものかは問わないものとする。
具体的には、まず、入力インターフェイス101(価格差設定)が外部から「商品名」、「価格」、「許容価格差」の値を受け取る。そして、これらの値が、矢印103,104,105で示されるように、キー変数107(商品名)、変数108(価格)、変数109(許容価格差)に代入される。つまり、商品ごとに、その価格と、アラートを出すかどうかを判定するための閾値である「許容価格差」が設定される。
次に、入力インターフェイス114(他社価格)が外部から「社名」、「商品名」、「価格」の値を受け取る。すると、太矢印115で示されるように、条件式116「(価格−他社価格.価格)>許容価格差」が満たされているかどうかが判定される。ここで、条件式116は、変数108(価格)の値と、入力インターフェイス114(他社価格)が受け取った「価格」の値との差が、変数109(許容価格差)の値を超えている、という条件を表現したものである。その結果、条件式116が満たされていると判定されれば、太矢印117で示されるように、出力インターフェイス113(要注意商品)に値を受け渡す処理へと制御が移る。即ち、キー変数107(商品名)、変数108(価格)の値が、矢印111,112で示されるように、出力インターフェイス113(要注意商品)に受け渡される。また、入力インターフェイス114(他社価格)が受け取った「社名」、「価格」の値が、矢印118,119で示されるように、出力インターフェイス113(要注意商品)に受け渡される。これにより、出力インターフェイス113(要注意商品)の後に、例えば、本社管理部に電子メールを送信するアプリケーションを接続すれば、自社の価格と他社の価格が閾値を超えた商品を他社の社名と共に本社管理部に通知することが可能となる。
ところで、暫くして、支店から、営業環境が異なるのだから戦略商品については独自の許容価格差を用いてモニターさせてほしい、という要求が出たとする。
この場合、変数109(許容価格差)を支店ごとに区別できるようにアプリケーションを変更しなければならない。但し、本実施の形態では、アプリケーションを直接変更することはしない。即ち、設計モデル上にアノテーションオブジェクト(以下、単に「アノテーション」という)を配置するだけで、設計モデルを変更する。そして、変更後の設計モデルに基づいてアプリケーションを自動生成することで、アプリケーションを簡単に変更できるようにする。
図3に、アプリケーションの変更を指示するときの設計モデルの状態を示す。
まず、個別の状況に応じて対応できるようにする対象(以下、「個別指定対象」という)は、アノテーション121によって指定される。この例の場合、変数109(許容価格差)について個別のインスタンスを生成するので、この変数を個別指定対象とする。
また、個別の状況を識別するためのキー(以下、「識別キー」という)は、アノテーション122によって指定される。この例の場合、支店ごとにインスタンスを区別する必要があるので、支店名をキーとして追加する。
この状態で、設計モデルの変換を指示すると、この設計モデルは、個別利用可能な新たな設計モデルに変換される。
図4に、変換後の設計モデルを示す。
この変換後の設計モデルにおいては、まず、キー変数106(支店名)が追加されている。
また、入力インターフェイス101(価格差設定)は、入力インターフェイス131(支店価格差設定)に置き換えられている。そして、この入力インターフェイス131(支店価格差設定)が外部から「支店名」の値を受け取り、この値が、矢印102で示されるように、キー変数106(支店名)に代入されるようになっている。
更に、出力インターフェイス113(要注意商品)は、出力インターフェイス133(支店要注意商品)に置き換えられている。そして、キー変数106(支店名)の値が、矢印110で示されるように、出力インターフェイス133(支店要注意商品)に受け渡されるようになっている。
その他は、変換前の設計モデルと同じである。
また、この時、新規モデルも生成される。
図5に、このとき生成される新規モデルを示す。
この新規モデルにおいては、まず、入力インターフェイス141(価格差設定)が外部から「商品名」、「価格」、「許容価格差」の値を受け取る。尚、この入力インターフェイス141(価格差設定)は、図1に示した変換前のモデルにおける入力インターフェイス101(価格差設定)と同じである。
一方で、入力インターフェイス144(支店価格差登録)が外部から「支店名」、「商品名」、「許容価格差」の値を受け取る。そして、これらの値が、矢印145,146,147で示されるように、キー変数148(支店名)、キー変数149(商品名)、変数150(許容価格差)に代入される。その後、キー変数148(支店名)、キー変数149(商品名)、変数150(許容価格差)の値が、矢印151,152,153で示されるように、出力インターフェイス143(支店価格差設定)に受け渡される。また、入力インターフェイス141(価格差設定)が外部から受け取った「価格」の値が、矢印142で示されるように、出力インターフェイス143(支店価格差設定)に受け渡される。つまり、商品ごとに、その価格と、アラートを出すかどうかを判定するための閾値である「許容価格差」が設定されるが、これを「支店価格差登録」という新しい入力インターフェイスから受け渡された「支店名」、「商品名」、「許容価格差」によって個別化しているのである。
そして、図4及び図5に示した設計モデルからアプリケーションを生成することにより、個別の状況に応じたアプリケーションの生成が可能となる。
まとめると、この例では、次の2つの処理を行うことにより、設計モデルをテンプレートとして用い個別の状況に応じた利用を可能にしている。
1.入力側について
個別指定対象の変数に値を運んでくる元の入力インターフェイスの名前を変更して新たな入力インターフェイスとする。そして、個別の状況を識別する識別キーを新たな入力インターフェイスに追加する。また、元の入力インターフェイスから入力された情報をインターセプトして個別情報を付加した上で、新たな入力インターフェイスを呼び出す個別制御用のモデル(新規モデル)を作成する。
2.出力側について
元の出力インターフェイスの名前を変更して新たな出力インターフェイスとする。そして、個別の状況を識別する識別キーを新たな出力インターフェイスに追加する。
尚、以下では、設計モデル上に表現されるアプリケーションを構成する要素を表す図形を「モデル要素」と呼ぶことにする。ここで、「要素」とは、アプリケーションの意味ある構成単位である。例えば、入力インターフェイス、出力インターフェイス、変数、代入式、条件式、制御式がある。従って、設計モデル上で、入力インターフェイスを表す図形、出力インターフェイスを表す図形、変数を表す図形(キー変数を表す特別な図形も含む)、代入式に対応する矢印、条件式を表す図形、制御式を表す太矢印が、モデル要素である。
次に、本実施の形態におけるアプリケーション変換装置について詳細に説明する。
図6は、図2〜図5のようなアプリケーション変換を行うアプリケーション変換装置の機能構成を示したブロック図である。
図示するように、このアプリケーション変換装置は、アノテーション検出部11と、変換部12と、設計モデル記憶部13とを備える。そして、変換部12は、更に、入力インターフェイス変換部14と、出力インターフェイス変換部15と、新規モデル生成部16とを備えている。
アノテーション検出部11は、表示機構10d(図1参照)の一部である表示部上のアノテーションの配置を検出する。
変換部12は、検出したアノテーションの配置に基づいて設計モデルを変換する。
設計モデル記憶部13は、変換前及び変換後の設計モデルを記憶する。
また、変換部12が有する構成のうち、入力インターフェイス変換部14は、設計モデル内の入力インターフェイスを変換し、出力インターフェイス変換部15は、設計モデル内の出力インターフェイスを変換し、新規モデル生成部16は、新たに付加する新規モデルを生成する。
次いで、このアプリケーション変換装置の動作について説明する。
本実施の形態では、以下に示す手順により、設計モデルを変換する。
1.個別指定対象の変数に値を運んでくる入力インターフェイスに対し、次の操作を行う。
1−1.既に存在する入力インターフェイスが対象の場合は、その入力インターフェイス(元の入力インターフェイス)の名前を変更し、別の入力インターフェイス(新たな入力インターフェイス)とする。新規の入力インターフェイスが対象の場合は、入力インターフェイスのモデル要素を追加する。
1−2.元の入力インターフェイスを参照している全てのモデル要素を、新たな入力インターフェイスを参照するようにする。
1−3.新たな入力インターフェイスに対し、識別キーの変数の値の入力元となる入力項目を追加する。
1−4.その入力項目の値を識別キーの変数に代入するモデル要素(矢印)を追加する。
2.出力インターフェイスに対し、次の操作を行う。
2−1.既に存在する出力インターフェイスが対象の場合は、その出力インターフェイス(元の出力インターフェイス)の名前を変更し、別の出力インターフェイス(新たな出力インターフェイス)とする。新規の出力インターフェイスが対象の場合は、出力インターフェイスのモデル要素を追加する。
2−2.元の出力インターフェイスを参照している全てのモデル要素を、新たな出力インターフェイスを参照するようにする。
2−3.新たな出力インターフェイスに対し、識別キーの変数の値の出力先となる出力項目を追加する。
2−4.識別キーの変数の値をその出力項目に代入するモデル要素(矢印)を追加する。
3.変更された入力インターフェイスの情報に基づいて、次のように個別制御用の設計モデル(新規モデル)を生成する。
3−1.元の入力インターフェイスに対応するモデル要素と、新たな入力インターフェイスを呼び出す出力インターフェイスに対応するモデル要素とを生成する。
3−2.入力インターフェイスの入力項目の値を、出力インターフェイスの出力項目に代入するモデル要素(矢印)を生成する。
3−3.指定された個別情報を出力インターフェイスの出力項目に代入するモデル要素(矢印)を生成する。
以下、このような動作について、フローチャートを参照しながら具体的に説明する。
図3に示したように、表示部上にアノテーションを配置するユーザ操作があると、アノテーション検出部11は、アノテーションの指示内容及び指示対象を認識する。
まず、アノテーションの指示内容の認識について説明する。
本実施の形態において、アノテーションには、個別指定対象の変数を指定するものと、識別キーとなる変数を指定するものとがある。そこで、アノテーションの形状を指示内容に応じて異ならせることが考えられる。この場合、アノテーションの形状と指示内容との対応情報を記憶部に記憶しておき、アノテーションが配置されると、この対応情報を参照してアノテーションの指示内容を認識する。或いは、アノテーションの他の属性、例えば、色等を、指示内容に応じて異ならせるようにしてもよい。
次に、アノテーションの指示対象の認識について説明する。
アノテーション検出部11は、アノテーションの配置位置を認識することにより、アノテーションの指示対象となる変数を認識する。例えば、アノテーションの配置位置と、変数を表すモデル要素の位置との間に一定の関係があれば、その変数がアノテーションの指示対象であると判断する。図3では、個別指定対象の変数を指定するアノテーションが吹き出し型をしており、吹き出し口が指している変数が対象となっている。一方、アノテーションの配置位置と、変数を表すモデル要素の位置との間に一定の関係がなければ、新たに追加される変数が対象となると判断する。この場合、新たに追加する変数の名前は、図3のようにアノテーションにテキストデータとして含めておけば、アプリケーション変換装置が自動的に変数名を決定することができる。
このようにアノテーションによる指示の内容及び対象が認識されると、変換部12の動作が開始する。
ここで、変換部12の動作には、入力インターフェイス変換部14による入力インターフェイス変換の動作と、出力インターフェイス変換部15による出力インターフェイス変換の動作と、新規モデル生成部16による新規モデル生成の動作とがある。従って、以下では、これらの動作を分けて説明する。
[入力インターフェイス変換]
図7は、入力インターフェイス変換部14が入力インターフェイスを変換する際の動作を示したフローチャートである。尚、図7では、図面作成上の都合により、インターフェイスを「I/F」と簡略化して示す。また、繰り返し内で現在参照している変数、キー変数、入力インターフェイスを、それぞれ、「参照変数」、「参照キー変数」、「参照入力I/F」と簡略化して示す。
動作を開始すると、入力インターフェイス変換部14は、個別指定対象の全ての変数を順番に参照し、ステップ402〜417を繰り返す(ステップ401〜418:繰り返し1)。
この繰り返し1において、入力インターフェイス変換部14は、現在参照している変数について次の処理を行う。図3の例では、変数109(許容価格差)が個別指定対象となっているので、この変数について次の処理を行う。
即ち、現在参照している変数が新規に追加された変数であるかどうかを判定する(ステップ402)。図3の例において、変数109(許容価格差)は、設計モデルに既に存在している変数なので、新規に追加された変数ではないと判定される。一方、図示しないが、例えば、「価格差設定日」等の新たな変数の追加を指示するアノテーションが付与されている場合は、新規に追加された変数であると判定される。
まず、ステップ402で新規に追加された変数ではないと判定された場合について説明する。図3の例では、変数109(許容価格差)について、以下の処理が実行される。
この場合、入力インターフェイス変換部14は、現在参照している変数に結び付けられた全ての入力インターフェイスを順番に参照し、ステップ404〜410を繰り返す(ステップ403〜411:繰り返し2)。
この繰り返し2において、入力インターフェイス変換部14は、現在参照している入力インターフェイスについて次の処理を行う。図3の例では、変数109(許容価格差)は入力インターフェイス101(価格差設定)に結び付けられているので、この入力インターフェイスについて次の処理を行う。
即ち、現在参照している入力インターフェイスの名前が変更済かどうかを判定する(ステップ404)。
その結果、入力インターフェイスの名前が変更済でないと判定されれば、その入力インターフェイス(元の入力インターフェイス)の名前を変更して別の入力インターフェイス(新たな入力インターフェイス)とする(ステップ405)。図3、4の例では、入力インターフェイス101(価格差設定)を入力インターフェイス131(支店価格差設定)に変更している。
そして、元の入力インターフェイス名を参照しているモデル要素を、新たな入力インターフェイス名を参照するように変更する(ステップ406)。図3、4の例では、キー変数107(商品名)への矢印と、変数108(価格)への矢印と、変数109(許容価格差)への矢印とが入力インターフェイス101(価格差設定)を参照しているので、これらの矢印が入力インターフェイス131(支店価格差設定)を参照するように変更する。
一方、入力インターフェイスの名前が変更済であると判定されれば、その名前を変更せずに次の処理へ移る。
その後、入力インターフェイス変換部14は、新規に追加されたキー変数を順番に参照し、ステップ408、409を繰り返す(ステップ407〜410:繰り返し3)。
この繰り返し3において、入力インターフェイス変換部14は、現在参照しているキー変数について次の処理を行う。図3の例では、「支店名で識別」といったアノテーションが付与されているので、キー変数106「支店名」を新たに追加し、このキー変数について次の処理を行う。
即ち、現在参照している入力インターフェイス、つまり、インターフェイス名が変更された新たな入力インターフェイスに対して、現在参照しているキー変数に対応する入力項目を追加する(ステップ408)。図4の例では、入力インターフェイス131(支店価格差設定)に対し、入力項目「支店名」を追加している。
そして、現在参照しているキー変数に対して入力項目が保持する値を代入するモデル要素を追加する(ステップ409)。図4の例では、入力項目「支店名」からキー変数106(支店名)への矢印を追加している。
次に、ステップ402で新規に追加された変数であると判定された場合について説明する。
この場合、入力インターフェイス変換部14は、新たな入力インターフェイスを作成する(ステップ412)。例えば、「価格差設定日」を新規に追加する旨が指示されたとすれば、「価格差設定日」を入力するための入力インターフェイスを作成する。
また、入力インターフェイス変換部14は、全てのキー変数を順番に参照し、ステップ414を繰り返す(ステップ413〜415:繰り返し4)。
この繰り返し4において、入力インターフェイス変換部14は、現在参照しているキー変数について次の処理を行う。
即ち、ステップ412で新たに作成した入力インターフェイスに対して、現在参照しているキー変数に対応する入力項目を追加する(ステップ414)。例えば、図3において、既存の変数である「許容価格差」ではなく、新規の変数である「価格差設定日」が個別指定対象になったとすると、キー変数106(支店名)、キー変数107(商品名)に対応する入力項目「支店名」、「商品名」を新たな入力インターフェイスに追加する。
その後、入力インターフェイス変換部14は、ステップ412で新たに作成した入力インターフェイスに対して、現在参照している変数に対応する入力項目を追加する(ステップ416)。そして、現在参照している変数に対して入力項目が保持する値を代入するモデル要素を追加する(ステップ417)。例えば、図3において、既存の変数である「許容価格差」ではなく、新規の変数である「価格差設定日」が個別指定対象になったとすると、変数「価格差設定日」に対応する入力項目「価格差設定日」を新たな入力インターフェイスに追加し、入力項目「価格差設定日」から変数「価格差設定日」への矢印を追加する。
以上により、入力インターフェイス変換部14による入力インターフェイスの変換処理は終了する。
[出力インターフェイス変換]
図8は、出力インターフェイス変換部15が出力インターフェイスを変換する際の動作を示したフローチャートである。尚、図8でも、図面作成上の都合により、インターフェイスを「I/F」と簡略化して示す。また、繰り返し内で現在参照している変数、キー変数、出力インターフェイスを、それぞれ、「参照変数」、「参照キー変数」、「参照出力I/F」と簡略化して示す。
動作を開始すると、出力インターフェイス変換部15は、全ての出力インターフェイスを順番に参照し、ステップ502〜508を繰り返す(ステップ501〜509:繰り返し1)。
この繰り返し1において、出力インターフェイス変換部15は、現在参照している出力インターフェイスについて次の処理を行う。図3の例では、出力インターフェイス113(要注意商品)があるので、この出力インターフェイスについて次の処理を行う。
即ち、現在参照している出力インターフェイスの名前が変更済かどうかを判定する(ステップ502)。
その結果、出力インターフェイスの名前が変更済でないと判定されれば、その出力インターフェイス(元の出力インターフェイス)の名前を変更して別の出力インターフェイス(新たな出力インターフェイス)とする(ステップ503)。図3、4の例では、出力インターフェイス113(要注意商品)を出力インターフェイス133(支店要注意商品)に変更している。
そして、元の出力インターフェイス名を参照しているモデル要素を、新たな出力インターフェイス名を参照するように変更する(ステップ504)。図3、4の例では、キー変数107(商品名)及び変数108(価格)からの矢印と、入力インターフェイス114(他社価格)内の入力項目「社名」及び「価格」からの矢印とが出力インターフェイス113(要注意商品)を参照しているので、これらの矢印が出力インターフェイス133(支店要注意商品)を参照するように変更する。
一方、出力インターフェイスの名前が変更済であると判定されれば、その名前を変更せずに次の処理へ移る。
その後、出力インターフェイス変換部15は、新規に追加されたキー変数を順番に参照し、ステップ506、507を繰り返す(ステップ505〜508:繰り返し2)。
この繰り返し2において、出力インターフェイス変換部15は、現在参照しているキー変数について次の処理を行う。図3の例では、「支店名で識別」といったアノテーションが付与されているので、キー変数106「支店名」について次の処理を行う。
即ち、現在参照している出力インターフェイス、つまり、インターフェイス名が変更された新たな出力インターフェイスに対して、現在参照しているキー変数に対応する出力項目を追加する(ステップ506)。図4の例では、出力インターフェイス133(支店要注意商品)に対し、出力項目「支店名」を追加している。
そして、現在参照しているキー変数が保持する値を出力項目に代入するモデル要素を追加する(ステップ507)。図4の例では、キー変数106(支店名)から出力項目「支店名」への矢印を追加している。
次に、出力インターフェイス変換部15は、個別指定対象の全ての変数を順番に参照し、ステップ511〜519を繰り返す(ステップ510〜520:繰り返し3)。
この繰り返し3において、出力インターフェイス変換部15は、現在参照している変数について次の処理を行う。図3の例では、変数109(許容価格差)が個別指定対象となっているので、この変数について次の処理を行う。
即ち、まず、現在参照している変数に対し、出力インターフェイスが指定されているかどうかを判定する(ステップ511)。尚、上記では、アノテーションの指示内容として、個別指定対象の変数の指定と、識別キーとなる変数の指定とを挙げたが、この場合の出力インターフェイスの指定もアノテーションを用いて行うことができる。
その結果、出力インターフェイスが指定されていなければ、処理は終了する。図3の例では、変数109(許容価格差)を個別指定対象としただけで、この変数に対し出力インターフェイスは指定されていないので、そのまま処理は終了する。
一方、出力インターフェイスが指定されていれば、その出力インターフェイスが既存のものであるかどうかを判定する(ステップ512)。例えば、入力インターフェイス変換において例示した変数「価格差設定日」に対し、出力インターフェイス113(要注意商品)が指定されていれば、ここでの判定結果は「Yes」となる。一方、変数「価格差設定日」に対し、設計モデル上に存在しない出力インターフェイスが指定されていれば、ここでの判定は「No」となる。尚、このような新たな出力インターフェイスの指定は、複数の変数が追加された場合に特に有意義である。例えば、変数「価格差設定日」に加え、別の変数が追加されたような場合に、これらの変数が保持する値の組み合わせを同じ出力インターフェイスを使って他のアプリケーションに受け渡すことが可能となるからである。
ここで、出力インターフェイスが既存のものであれば、現在参照している変数に対応する出力項目をその出力インターフェイスに追加する(ステップ513)。そして、現在参照している変数が保持する値をその出力項目に代入するモデル要素を追加する(ステップ514)。
また、出力インターフェイスが既存のものでなければ、新たな出力インターフェイスを作成する(ステップ515)。そして、全てのキー変数を順番に参照し、ステップ517、518を繰り返す(ステップ516〜519:繰り返し4)。
この繰り返し4において、出力インターフェイス変換部15は、現在参照しているキー変数について次の処理を行う。
即ち、ステップ515で新たに作成した出力インターフェイスに対して、現在参照しているキー変数に対応する出力項目を追加する(ステップ517)。そして、現在参照しているキー変数が保持する値を出力項目に代入するモデル要素を追加する(ステップ518)。例えば、図3において、個別指定対象の変数に対し、設計モデル上に存在しない出力インターフェイスが指定されたとすると、キー変数106(支店名)、キー変数107(商品名)に対応する出力項目「支店名」、「商品名」を新たな出力インターフェイスに追加する。
その後は、出力インターフェイスが既存のものである場合と同様の処理を行う(ステップ513、514)。
以上により、出力インターフェイス変換部15による出力インターフェイスの変換処理は終了する。
[新規モデルの作成]
図9は、新規モデル生成部16が新規モデル(インターフェイス変換モデル)を生成する際の動作を示したフローチャートである。尚、図9でも、図面作成上の都合により、インターフェイスを「I/F」と簡略化して示す。また、繰り返し内で現在参照している変数、キー変数、入力インターフェイス、出力項目を、それぞれ、「参照変数」、「参照キー変数」、「参照入力I/F」、「参照出力項目」と簡略化して示す。
動作を開始すると、新規モデル生成部16は、図7の入力インターフェイス変換で変換された入力インターフェイスを順番に参照し、ステップ602〜615を繰り返す(ステップ601〜616:繰り返し1)。
この繰り返し1において、新規モデル生成部16は、現在参照している入力インターフェイスについて次の処理を行う。図4の例では、入力インターフェイス変換により入力インターフェイス131(支店価格差設定)が生成されたので、この入力インターフェイスについて次の処理を行う。
即ち、現在参照している入力インターフェイスの元となった入力インターフェイスを作成する(ステップ602)。図3、4の例において、入力インターフェイス131(支店価格差設定)の元となったのは、入力インターフェイス101(価格差設定)なので、図5に示すように、入力インターフェイス141(価格差設定)を作成する。
また、新規モデル生成部16は、現在参照している入力インターフェイスに対応する出力インターフェイスを作成する(ステップ603)。このとき、現在参照している入力インターフェイスに含まれる入力項目を、ここで作成された出力インターフェイスにそのまま含める。図5の例では、図4に示す入力インターフェイス131(支店価格差設定)に対応する出力インターフェイス143(支店価格差設定)を作成している。
次に、新規モデル生成部16は、ステップ603で作成された出力インターフェイスに含まれる出力項目を順番に参照し、ステップ605〜614を繰り返す(ステップ604〜615:繰り返し2)。
この繰り返し2において、新規モデル生成部16は、現在参照している出力項目について次の処理を行う。図4の例において、出力インターフェイス143(支店価格差設定)には、出力項目「支店名」、「商品名」、「価格」、「許容価格差」が含まれるので、これらの出力項目について次の処理を行う。
即ち、現在参照している出力項目に対応する入力項目が、元の入力インターフェイスに存在するかどうかを判定する(ステップ605)。
ここで、元の入力インターフェイスにその入力項目が存在しなければ、現在参照している出力項目に対応する変数を作成する(ステップ606)。そして、現在参照している出力項目に対して、ここで作成した変数が保持する値を代入するモデル要素を追加する(ステップ607)。図5の例では、出力項目「支店名」、「商品名」、「価格」、「許容価格差」のうち、出力項目「支店名」のみが、入力インターフェイス141(価格差設定)に存在しない。従って、キー変数148(支店名)が作成され、キー変数148(支店名)から出力項目「支店名」への矢印151が作成される。
一方、元の入力インターフェイスにその入力項目が存在すれば、現在参照している出力項目がキー変数に対応するかどうかを判定する(ステップ608)。
ここで、その出力項目がキー変数に対応すると判定されれば、そのキー変数を作成する(ステップ609)。そして、現在参照している出力項目に対して、キー変数が保持する値を代入するモデル要素を追加する(ステップ610)。図5の例では、出力項目「支店名」が除かれた後の出力項目「商品名」、「価格」、「許容価格差」のうち、出力項目「商品名」のみが、キー変数に対応する出力項目である。従って、キー変数149(商品名)が作成され、キー変数149(商品名)から出力項目「商品名」への矢印152が作成される。
また、その出力項目がキー変数に対応しないと判定されれば、個別指定対象の変数に対応するかどうかを判定する(ステップ611)。
ここで、その出力項目が個別指定対象の変数に対応しないと判定されれば、ステップ602で作成された入力インターフェイスに含まれる入力項目が保持する値を、ステップ603で作成された出力インターフェイスに含まれる出力項目に代入するモデル要素を追加する(ステップ612)。図5の例では、出力項目「支店名」、「商品名」が除かれた後の出力項目「価格」、「許容価格差」のうち、出力項目「価格」のみが、個別指定対象の変数に対応しない。従って、入力インターフェイス141(価格差設定)内の入力項目「価格」から出力インターフェイス143(支店価格差設定)内の出力項目「価格」への矢印142が作成される。
また、その出力項目が個別指定対象の変数に対応すると判定されれば、その出力項目に対応する変数を作成する(ステップ613)。そして、その変数が保持する値を出力項目に代入するモデル要素を追加する(ステップ614)。図5の例では、出力項目「支店名」、「商品名」が除外された後の出力項目「価格」、「許容価格差」のうち、出力項目「許容価格差」のみが、個別指定対象の変数に対応する。従って、変数150(許容価格差)が作成され、変数150(許容価格差)から出力項目「許容価格差」への矢印153が作成される。
その後、新規モデル生成部16は、個別情報を受け取るための入力インターフェイス(個別入力インターフェイス)を作成する(ステップ617)。図5の例では、入力インターフェイス144(支店価格差登録)を作成している。
そして、新規モデル生成部16は、作成したキー変数を含む全ての変数を順番に参照し、ステップ619、620を繰り返す(ステップ618〜621:繰り返し3)。
この繰り返し3において、新規モデル生成部16は、現在参照している変数について次の処理を行う。図5の例では、変数「支店名」、「商品名」、「許容価格差」があるので、これらの変数について次の処理を行う。
即ち、ステップ617で作成された個別入力インターフェイスに対して、現在参照している変数に対応する入力項目を追加する(ステップ619)。そして、現在参照している変数に対して入力項目が保持する値を代入するモデル要素を追加する(ステップ620)。図5の例では、入力インターフェイス144(支店価格差登録)に対し、入力項目「支店名」、「商品名」、「許容価格差」を追加し、入力項目「支店名」からキー変数148(支店名)への矢印145、入力項目「商品名」からキー変数149(商品名)への矢印146、入力項目「許容価格差」から変数150(許容価格差)への矢印147を作成している。
以上により、新規モデル生成部16による新規モデルの生成処理は終了する。
次に、変換部12による入力インターフェイス変換、出力インターフェイス変換、新規モデル生成を実現するためのデータ処理について詳細に述べる。本実施の形態では、設計モデル記憶部13(図6参照)が、設計モデルを管理するデータ(以下、「管理データ」という)を記憶しており、変換部12が、この管理データを更新することにより、設計モデルを変換する。
[初期状態における管理データの内容]
図10に、図7〜9に示したアプリケーション変換を行う前の状態における管理データを示す。
図10(a)は、モデル要素のうちインターフェイスを管理するためのテーブル(以下、「インターフェイス管理テーブル」という)を示したものである。本実施の形態において、インターフェイス管理テーブルは、「インターフェイス名」、「型」、「項目1」、「項目2」、…、「項目5」の各欄を有する。
「インターフェイス名」欄は、インターフェイスの名前を記憶する。
「型」欄は、そのインターフェイスが入力インターフェイスか出力インターフェイスかを示す情報を記憶する。図では、入力インターフェイスの場合、「I」を記憶し、出力インターフェイスの場合、「O」を記憶している。
「項目1」、「項目2」、…、「項目5」は、そのインターフェイスが有する入力項目又は出力項目を記憶する。尚、ここでは、図面作成の都合上、項目数は5つとしたが、その数はこれに限るものではない。
ここで、具体的な内容を説明する。尚、図10(a)は、アプリケーション変換前の情報を示すものであるから、図2におけるインターフェイスの状態を反映したものとなっている。
図10(a)において、No.1の行は、入力インターフェイス101(価格差設定)を管理しており、この入力インターフェイスが、入力項目「商品名」、「価格」、「許容価格差」を有することを示している。
また、No.2の行は、入力インターフェイス114(他社価格)を管理しており、この入力インターフェイスが、入力項目「社名」、「商品名」、「価格」を有することを示している。
更に、No.3の行は、出力インターフェイス113(要注意商品)を管理しており、この出力インターフェイスが、出力項目「商品名」、「価格」、「社名」、「他社価格」を有することを示している。
図10(b)は、モデル要素のうち変数を管理するためのテーブル(以下、「変数管理テーブル」という)を示したものである。本実施の形態において、変数管理テーブルは、「変数名」、「KEY」の各欄を有する。
「変数名」欄は、変数の名前を記憶する。
「KEY」欄は、その変数がキー変数かどうかを示す情報を記憶する。図では、キー変数の場合、「○」を記憶し、キー変数でない場合、空欄にしている。
ここで、具体的な内容を説明する。尚、図10(b)は、アプリケーション変換前の情報を示すものであるから、図2における変数の状態を反映したものとなっている。
図10(b)において、No.1の行は、変数107(商品名)を管理しており、この変数がキー変数であることを示している。
また、No.2の行は、変数108(価格)を管理しており、この変数がキー変数ではないことを示している。
更に、No.3の行は、変数109(許容価格差)を管理しており、この変数がキー変数ではないことを示している。
図10(c)は、モデル要素のうち矢印による接続関係を管理するためテーブル(以下、「接続管理テーブル」という)を示したものである。本実施の形態において、接続管理テーブルは、「接続元タイプ」、「接続元名」、「接続先タイプ」、「接続先名」の各欄を有する。
「接続元タイプ」、「接続元名」は、その矢印の接続元となっているモデル要素のタイプ、名前を、それぞれ記憶する。ここで、「接続元タイプ」欄に「インターフェイス」が記憶されている場合、「接続元名」欄には、接続元の入力項目が「(入力インターフェイス名).(入力項目名)」という形式で記憶されている。
「接続先タイプ」、「接続先名」は、その矢印の接続先となっているモデル要素のタイプ、名前をそれぞれ記憶する。ここで、「接続先タイプ」欄に「インターフェイス」が記憶されている場合、「接続先名」欄には、接続先の出力項目が「(出力インターフェイス名).(出力項目名)」という形式で記憶されている。
ここで、具体的な内容を説明する。尚、図10(c)は、アプリケーション変換前の情報を示すものであるから、図2における矢印の状態を反映したものとなっている。
図10(c)において、No.1の行は、入力インターフェイス101(価格差設定)内の入力項目「商品名」から変数107(商品名)への矢印103を管理している。
No.2の行は、入力インターフェイス101(価格差設定)内の入力項目「価格」から変数108(価格)への矢印104を管理している。
No.3の行は、入力インターフェイス101(価格差設定)内の入力項目「許容価格差」から変数109(許容価格差)への矢印105を管理している。
また、No.4の行は、変数107(商品名)から出力インターフェイス113(要注意商品)内の出力項目「商品名」への矢印111を管理している。
No.5の行は、変数108(価格)から出力インターフェイス113(要注意商品)内の出力項目「価格」への矢印112を管理している。
更に、No.6の行は、入力インターフェイス114(他社価格)内の入力項目「社名」から出力インターフェイス113(要注意商品)内の出力項目「社名」への矢印118を管理している。
No.7の行は、入力インターフェイス114(他社価格)内の入力項目「価格」から出力インターフェイス113(要注意商品)内の出力項目「他社価格」への矢印119を管理している。
[入力インターフェイス変換及び出力インターフェイス変換による管理データの更新]
図11に、図7の入力インターフェイス変換、及び、図8の出力インターフェイス変換の後における管理データを示す。尚、これらの変換処理に先立ち、図10の管理データは一時メモリにコピーされており、管理データは、この一時メモリ上で更新される。つまり、管理データは、図10の状態を保持したまま、そのコピーが図11のように変換されるものとする。
まず、図10と図11を参照して、図7の入力インターフェイス変換による管理データの更新について述べる。
最初に、入力インターフェイス変換部14は、ステップ401で、変数「許容価格差」を個別指定対象の変数として特定し、ステップ402で、変数「許容価格差」を新規に追加された変数ではないと判定する。そして、ステップ403において、現在参照している変数に結び付けられた入力インターフェイスを次の手順で参照する。即ち、まず、一時メモリに記憶された接続管理テーブルの行の中から、「接続元タイプ」欄に「インターフェイス」が記憶され、「接続先タイプ」欄に「変数」が記憶され、「接続先名」欄に「許容価格差」が記憶されている行を特定する。そして、この行の「接続元名」欄からインターフェイス名を取り出す。この例では、図10(c)のNo.3の行が特定され、インターフェイス名として「価格差設定」が取り出される。
次に、入力インターフェイス変換部14は、ステップ404において、入力インターフェイス名が変更済かどうかを次の手順で判定する。即ち、一時メモリに記憶されたインターフェイス管理テーブルにおいて、「インターフェイス名」欄に現在参照しているインターフェイスの名前が記憶され、「型」欄に「I」が記憶された行があるかどうかを判定する。その結果、そのような行があれば、入力インターフェイスの名前は変更済ではないと判定し、そのような行がなければ、入力インターフェイスの名前は変更済であると判定する。この例では、「インターフェイス名」欄に「価格差設定」が記憶され、「型」欄に「I」が記憶された行があるかが判定される。
その結果、入力インターフェイスの名前が変更済でないと判定されれば、入力インターフェイス変換部14は、ステップ405において、入力インターフェイスの名前を次の手順で変更する。即ち、一時メモリに記憶されたインターフェイス管理テーブルにおいて、「インターフェイス名」欄に新たな入力インターフェイス名を書き込む。この例では、「価格差設定」を「支店価格差設定」に書き換えるので、図11(a)のNo.1のようになる。
また、入力インターフェイス変換部14は、ステップ406において、元の入力インターフェイスを参照している全てのモデル要素が新たな入力インターフェイスを参照するように次の手順で変更する。即ち、一時メモリに記憶された接続管理テーブルにおいて、元の入力インターフェイスの名前が「接続元名」欄に記憶されていれば、その名前を、新たな入力インターフェイスの名前に書き換える。この例では、「価格差設定」を「支店価格差設定」に書き換えるので、図11(c)のNo.2〜4のようになる。
更に、入力インターフェイス変換部14は、ステップ407で、キー変数「支店名」を参照する。そして、ステップ408において、現在参照している入力インターフェイスに対し、現在参照しているキー変数に対応する入力項目を、次の手順で追加する。即ち、一時メモリに記憶された変数管理テーブルに行を追加し、その行において、「変数」欄に「支店名」を記憶し、「KEY」欄に「○」を記憶する。これにより、変数管理テーブルは、図11(b)のようになる。また、一時メモリに記憶されたインターフェイス管理テーブルの現在参照している入力インターフェイスを管理する行において、「項目1」〜「項目5」欄のいずれかに「支店名」を記憶する。この例では、「項目1」欄に「支店名」を記憶しており、図11(a)のNo.1のようになる。
更にまた、入力インターフェイス変換部14は、ステップ409において、入力項目が保持する値をキー変数に代入するモデル要素を、次の手順で追加する。即ち、一時メモリに記憶された接続管理テーブルに行を追加し、その行において、「接続元タイプ」欄に「インターフェイス」を記憶し、「接続元名」欄にステップ408で追加した入力項目名を記憶し、「接続先タイプ」欄に「変数」を記憶し、「接続先名」欄に現在参照しているキー変数名を記憶する。この例では、「接続元名」欄に「支店価格差設定.支店名」を記憶し、「接続先名」欄に「支店名」を記憶するので、図11(c)のNo.1のようになる。
次に、図10と図11を参照して、図8の出力インターフェイス変換による管理データの更新について述べる。
まず、出力インターフェイス変換部15は、ステップ501で、出力インターフェイス「要注意商品」を参照する。
次に、出力インターフェイス変換部15は、ステップ502において、出力インターフェイス名が変更済かどうかを次の手順で判定する。即ち、一時メモリに記憶されたインターフェイス管理テーブルにおいて、「インターフェイス名」欄に現在参照しているインターフェイスの名前が記憶され、「型」欄に「O」が記憶された行があるかどうかを判定する。その結果、そのような行があれば、出力インターフェイスの名前は変更済ではないと判定し、そのような行がなければ、出力インターフェイスの名前は変更済であると判定する。この例では、「インターフェイス名」欄に「要注意商品」が記憶され、「型」欄に「O」が記憶された行があるかが判定される。
その結果、出力インターフェイスの名前が変更済でないと判定されれば、出力インターフェイス変換部15は、ステップ503において、出力インターフェイスの名前を次の手順で変更する。即ち、一時メモリに記憶されたインターフェイス管理テーブルにおいて、「インターフェイス名」欄に新たな出力インターフェイス名を書き込む。この例では、「要注意商品」を「支店要注意商品」に書き換えるので、図11(a)のNo.3のようになる。
また、出力インターフェイス変換部15は、ステップ504において、元の出力インターフェイスを参照している全てのモデル要素が新たな出力インターフェイスを参照するように次の手順で変更する。即ち、一時メモリに記憶された接続管理テーブルにおいて、元の出力インターフェイスの名前が「接続先名」欄に記憶されていれば、その名前を、新たな出力インターフェイスの名前に書き換える。この例では、「要注意商品」を「支店要注意商品」に書き換えるので、図11(c)のNo.6〜9のようになる。
更に、出力インターフェイス変換部15は、ステップ505で、キー変数「支店名」を参照する。そして、ステップ506において、現在参照している出力インターフェイスに対し、現在参照しているキー変数に対応する出力項目を、次の手順で追加する。即ち、一時メモリに記憶されたインターフェイス管理テーブルの現在参照している出力インターフェイスを管理する行において、「項目1」〜「項目5」欄のいずれかに「支店名」を記憶する。この例では、「項目1」欄に「支店名」を記憶しており、図11(a)のNo.3のようになる。
更にまた、出力インターフェイス変換部15は、ステップ507において、キー変数が保持する値を出力項目に代入するモデル要素を、次の手順で追加する。即ち、一時メモリに記憶された接続管理テーブルに行を追加し、その行において、「接続元タイプ」欄に「変数」を記憶し、「接続元名」欄に現在参照しているキー変数名を記憶し、「接続先タイプ」欄に「インターフェイス」を記憶し、「接続先名」欄にステップ506で追加した出力項目名を記憶する。この例では、「接続元名」欄に「支店名」を記憶し、「接続先名」欄に「支店要注意商品.支店名」を記憶するので、図11(c)のNo.5のようになる。
[新規モデル生成による管理データの生成]
図12に、図9に示した新規モデル生成の後における管理データを示す。
まず、新規モデル生成部16は、ステップ601において、変更された入力インターフェイスを次の手順で参照する。即ち、図11(a)の行のうち、「型」欄に「I」が記憶され、「インターフェイス名」欄に図10(a)の対応する行と異なる名前が記憶された行を特定する。この例では、図11(a)のNo.1の「支店価格差設定」が特定される。
次に、新規モデル生成部16は、ステップ602において、現在参照している入力インターフェイスの元となった入力インターフェイスを次の手順で作成する。即ち、まず、図10(a)の行のうち、ステップ601で特定した図11(a)の行に対応する行を特定する。そして、新規モデルのインターフェイス管理テーブルにこの特定した行と同じ内容の行を追加する。この例では、図10(a)のNo.1の行が特定され、図12(a)のNo.2の行が追加される。
また、新規モデル生成部16は、ステップ603において、現在参照している入力インターフェイスに対応する出力インターフェイスを次の手順で作成する。即ち、ステップ601で参照した図11(a)の行において、「型」欄の「I」を「O」に書き換え、新規モデルのインターフェイス管理テーブルにこの行を追加する。この例では、図11(a)のNo.1の行を書き換え、図12(a)のNo.3の行が追加される。
更に、新規モデル生成部16は、ステップ604において、その出力インターフェイスに含まれる出力項目を次の手順で参照する。即ち、ステップ603でインターフェイス管理テーブルに追加した行における各項目を参照する。この例では、図12(a)のNo.3の行の「項目1」欄から「項目4」欄に記憶された出力項目「支店名」、「商品名」、「価格」、「許容価格差」が参照される。
次に、新規モデル生成部16は、ステップ605において、現在参照している出力項目に対応する入力項目が元の入力インターフェイスに存在するかを次の手順で判定する。即ち、ステップ603でインターフェイス管理テーブルに追加した行における項目のうち、ステップ602でインターフェイス管理テーブルに追加した行に存在しない項目を特定する。この例では、図12(a)のNo.3の行における出力項目「支店名」、「商品名」、「価格」、「許容価格差」のうち、図12(a)のNo.2の行に存在しない出力項目「支店名」が特定される。
また、ステップ606において、その出力項目に対応する変数を次の手順で作成する。即ち、まず、図11(c)を参照してその出力項目に対応する入力項目から値が代入される変数を特定する。次に、図11(b)で管理されるその変数の情報に基づいて、図12(b)に行を追加する。この例では、図11(c)のNo.1の行から変数「支店名」が特定され、図11(b)のNo.1と同じ行が図12(b)にNo.1の行として追加される。
更に、ステップ607において、その変数が保持する値をその出力項目に代入するモデル要素を次の手順で作成する。即ち、新規モデルの接続管理テーブルに行を追加し、その行において、「接続元タイプ」欄に「変数」を記憶し、「接続元名」欄にステップ606で追加した変数名を記憶し、「接続先タイプ」欄に「インターフェイス」を記憶し、「接続先名」欄に現在参照している出力項目名を記憶する。この例では、「接続元名」欄に「支店名」を記憶し、「接続先名」欄に「支店価格差設定.支店名」を記憶するので、図12(c)のNo.4のようになる。
次に、新規モデル生成部16は、ステップ608において、現在参照している出力項目がキー変数に対応するかどうかを次の手順で判定する。即ち、まず、ステップ603でインターフェイス管理テーブルに追加した行における項目から、ステップ605で特定された出力項目以外の項目を特定する。次に、図11(c)を参照してそれらの出力項目に対応する入力項目から値が代入される変数を特定する。そして、図11(b)を参照してそれらの変数のうち、「KEY」欄に「○」が記憶されているものを特定する。この例では、図12(a)のNo.3の行における出力項目「支店名」、「商品名」、「価格」、「許容価格差」から、ステップ605で特定された「支店名」が除外され、出力項目「商品名」、「価格」、「許容価格差」が特定される。そして、図11(c)のNo.2〜4の行から変数「商品名」、「価格」、「許容価格差」が特定され、図11(b)のNo.2の行から変数「商品名」がキー変数であることが分かる。
また、ステップ609において、このキー変数を次の手順で作成する。即ち、図11(b)で管理されるその変数の情報に基づいて、図12(b)に行を追加する。この例では、図11(b)のNo.2と同じ行が図12(b)にNo.2の行として追加される。
更に、ステップ610において、そのキー変数が保持する値をその出力項目に代入するモデル要素を次の手順で作成する。即ち、新規モデルの接続管理テーブルに行を追加し、その行において、「接続元タイプ」欄に「変数」を記憶し、「接続元名」欄にステップ609で追加した変数名を記憶し、「接続先タイプ」欄に「インターフェイス」を記憶し、「接続先名」欄に現在参照している出力項目名を記憶する。この例では、「接続元名」欄に「商品名」を記憶し、「接続先名」欄に「支店価格差設定.商品名」を記憶するので、図12(c)のNo.5のようになる。
次いで、新規モデル生成部16は、ステップ611において、現在参照している出力項目が個別指定対象の変数に対応するかどうかを次の手順で判定する。即ち、まず、ステップ603でインターフェイス管理テーブルに追加した行における項目から、ステップ605、608で特定された出力項目以外の項目を特定する。次に、図11(c)を参照してそれらの入力項目から値が代入される変数を特定する。そして、この変数に対し、アノテーション検出部11(図6参照)から個別指定対象である旨の情報が渡されているかどうかを判定する。この例では、図12(a)のNo.3の行における出力項目「支店名」、「商品名」、「価格」、「許容価格差」から、ステップ605、608で特定された「支店名」、「商品名」が除外され、出力項目「価格」、「許容価格差」が特定される。そして、図11(c)のNo.3、4の行から変数「価格」、「許容価格差」が特定され、アノテーション検出部11から渡された情報に基づいて、変数「価格」は個別指定対象でなく、変数「許容価格差」は個別指定対象であることが分かる。
また、ステップ612において、元の入力インターフェイスにおける入力項目が保持する値をその出力項目に代入するモデル要素を次の手順で作成する。即ち、新規モデルの接続管理テーブルに行を追加し、その行において、「接続元タイプ」欄に「インターフェイス」を記憶し、「接続元名」欄に現在参照している入力項目名を記憶し、「接続先タイプ」欄に「インターフェイス」を記憶し、「接続先名」欄に現在参照している出力項目名を記憶する。この例では、「接続元名」欄に「価格差設定.価格」を記憶し、「接続先名」欄に「支店価格差設定.価格」を記憶するので、図12(c)のNo.7のようになる。
また、ステップ613において、個別指定対象の変数を次の手順で作成する。即ち、図11(b)で管理されるその変数の情報に基づいて、図12(b)に行を追加する。この例では、図11(b)のNo.4と同じ行が図12(b)にNo.3の行として追加される。
更に、ステップ614において、その変数が保持する値をその出力項目に代入するモデル要素を次の手順で作成する。即ち、新規モデルの接続管理テーブルに行を追加し、その行において、「接続元タイプ」欄に「変数」を記憶し、「接続元名」欄にステップ613で追加した変数名を記憶し、「接続先タイプ」欄に「インターフェイス」を記憶し、「接続先名」欄に現在参照している出力項目名を記憶する。この例では、「接続元名」欄に「許容価格差」を記憶し、「接続先名」欄に「支店価格差設定.許容価格差」を記憶するので、図12(c)のNo.6のようになる。
その後、新規モデル生成部16は、ステップ617において、個別入力インターフェイスを次の手順で作成する。即ち、新規モデルのインターフェイス管理テーブルに新たな行を追加する。この例では、図12(a)にNo.1の行が追加され、「インターフェイス名」欄に「支店価格差登録」が記憶され、「型」欄に「I」が記憶されている。
また、新規モデル生成部16は、ステップ618において、作成した全ての変数を次の手順で参照する。即ち、図12(b)で管理される変数を参照する。この例では、変数「支店名」、「商品名」、「許容価格差」が参照される。
更に、ステップ619において、個別入力インターフェイスに対し、現在参照している変数に対応する入力項目を追加する。即ち、ステップ617でインターフェイス管理テーブルに追加した行に項目を登録する。この例では、図12(a)のNo.1の行において、「項目1」欄、「項目2」欄、「項目3」欄に、それぞれ、「支店名」、「商品名」、「許容価格差」が記憶される。
更にまた、ステップ620において、これらの入力項目が保持する値をそれぞれ対応する変数に代入するモデル要素を次の手順で作成する。即ち、新規モデルの接続管理テーブルに行を追加し、その行において、「接続元タイプ」欄に「変数」を記憶し、「接続元名」欄にステップ619で登録した入力項目名を記憶し、「接続先タイプ」欄に「インターフェイス」を記憶し、「接続先名」欄に現在参照している変数名を記憶する。この例では、「接続元名」欄に「支店価格差登録.支店名」、「支店価格差登録.商品名」、「支店価格差登録.許容価格差」を記憶し、それぞれに対応して、「接続先名」欄に「支店名」、「商品名」、「許容価格差」を記憶するので、図12(c)のNo.1〜3のようになる。
尚、本実施の形態では、元の設計モデルを個別利用可能な設計モデルに変換し、その入力側に個別制御用の設計モデルを作成するようにした。しかしながら、出力側に個別制御用の設計モデルを作成するようにしてもよい。この場合、次の処理を行うことにより、設計モデルをテンプレートとして用い個別の状況に応じた利用を可能にすることができる。即ち、個別指定対象の変数から値が受け渡される元の出力インターフェイス名を変更して新たな出力インターフェイスとする。そして、新たな出力インターフェイスから値を受け取って個別情報を付加した上で、元の出力インターフェイスを呼び出す個別制御用のモデル(新規モデル)を作成する。
また、本実施の形態では、アプリケーションを構成する要素のうち変数を、個別指定対象及び識別キーとして指定するようにしたが、これには限らない。即ち、アプリケーションを構成する他の要素に対して同様の指定を行うことも可能である。例えば、条件式116を支店ごとに区別して設定することが考えられる。
更に、本実施の形態では、個別指定対象及び識別キーを設計モデル上で指定するようにしたが、これには限らない。例えば、アプリケーションのソースコードを表示し、その上でこれらの指定を行う構成としてもよい。
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。
また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上述べたように、本実施の形態によれば、個別指定対象の要素及び識別キーの要素をアノテーションで指定するだけで、元のアプリケーションを、個別の状況に対応したアプリケーションに変換できるようにした。これにより、次のようなアプリケーションの開発が可能となった。即ち、まず、システムに詳しいユーザが個別の状況を想定せずに固定的なアプリケーションを作成する。その後、個別の状況に詳しいユーザが、例えば、閾値、出力先、保持すべき変数の追加タイミング等の個別情報を指定し、アプリケーションを変換する。このように、本実施の形態では、既存のアプリケーションプログラムを個別の状況に応じて変更する作業を簡単に行えるようになった。
また、本実施の形態によれば、次のような効果ももたらされる。
まず、既存のアプリケーションに直接修正を加えるわけではないので、システムとして並存が可能である点である。
次に、アプリケーションの改変を指示するにあたりメディエータパターンを用いるので、シンプルな改変ロジックにより実現可能である点である。
そして、アノテーションを付与するユーザにとって、上記の点を一切考慮する必要なく実現できる点である。
但し、本実施の形態は、アノテーションの付与をトリガーとしなくても実現可能である。つまり、何らかの方法で個別指定対象の要素と識別キーとなる要素を指定できればよいのである。
尚、従来、単体のアプリケーションに対してなら、アスペクト指向やClassのMixin等の手法を一部に適用できる可能性もあった。しかしながら、SOAのように各アプリケーションが独立して存在し、複数のアプリケーションを結合することでシステムが構築された環境では、アプリケーション自体を再設計するしか方法がなかった。これに対し、本実施の形態は、アプリケーションを再設計することなく、アプリケーションを改変できるという効果をもたらすものである。
本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。 本発明の実施の形態において変換するアプリケーションの設計モデルの例を示した図である。 本発明の実施の形態においてアプリケーションの変換を指示する際の設計モデルの例を示した図である。 本発明の実施の形態におけるアプリケーションの変換後における設計モデルの例を示した図である。 本発明の実施の形態におけるアプリケーションの変換後における設計モデルの例を示した図である。 本発明の実施の形態におけるアプリケーション変換装置の機能構成を示したブロック図である。 本発明の実施の形態における入力インターフェイス変換部の動作を示したフローチャートである。 本発明の実施の形態における出力インターフェイス変換部の動作を示したフローチャートである。 本発明の実施の形態における新規モデル生成部の動作を示したフローチャートである。 本発明の実施の形態において設計モデルを管理する管理データの例を示した図である。 本発明の実施の形態において入力インターフェイス及び出力インターフェイスが変換された後の設計モデルを管理する管理データの例を示した図である。 本発明の実施の形態において新規に生成される設計モデルを管理する管理データの例を示した図である。
符号の説明
11…アノテーション検出部、12…変換部、13…設計モデル記憶部、14…入力インターフェイス変換部、15…出力インターフェイス変換部、16…新規モデル生成部

Claims (15)

  1. アプリケーションプログラムを変換するための装置であって、
    前記アプリケーションプログラムを構成する要素を表示する表示部と、
    第1の要素を個別の状況に対応できるようにする旨、及び、第2の要素により当該個別の状況を識別する旨の前記表示部上での指示を検出する検出部と、
    前記第1の要素を前記第2の要素により識別される前記個別の状況に対応できるようにする前記アプリケーションプログラムの部分を生成する生成部と
    を備えた、装置。
  2. 前記表示部は、前記アプリケーションプログラムの設計モデルを構成するモデル要素を、前記要素として表示し、
    前記検出部は、前記第1の要素を前記個別の状況に対応できるようにする旨の指示を、当該第1の要素に対応するモデル要素に対するユーザ操作に応じて検出する、請求項1の装置。
  3. 前記検出部は、前記表示部上での前記指示を、当該指示の内容に応じたアノテーションオブジェクトの当該表示部上での配置を認識することにより検出する、請求項1の装置。
  4. アプリケーションプログラムを変換するための装置であって、
    前記アプリケーションプログラムで用いられる変数を表示する表示部と、
    第1の変数が個別の状況に応じた値を格納できるようにする旨、及び、第2の変数により当該個別の状況を識別する旨の前記表示部上での指示を検出する検出部と、
    前記第1の変数が前記第2の変数により識別される前記個別の状況に応じた値を格納できるようにする前記アプリケーションプログラムの部分を生成する生成部と
    を備えた、装置。
  5. 前記生成部は、前記第1の変数及び前記第2の変数との間で値を受け渡すことができるインターフェイスを、前記部分として生成する、請求項4の装置。
  6. 前記生成部は、前記第1の変数に格納されるべき値を外部から受け取る元の入力インターフェイスに代えて、前記第1の変数に格納されるべき値と前記第2の変数に格納されるべき値とを組み合わせて外部から受け取る新たな入力インターフェイスを生成する、請求項4の装置。
  7. 前記生成部は、前記元の入力インターフェイスが外部から受け取った前記第1の変数に格納されるべき値をインターセプトし、かつ、別の入力インターフェイスが外部から受け取った前記第1の変数に格納されるべき値と前記第2の変数に格納されるべき値とを組み合わせて前記新たな入力インターフェイスに受け渡す処理部分を生成する、請求項6の装置。
  8. 前記生成部は、前記第1の変数に格納されている値を外部に受け渡す元の出力インターフェイスに代えて、前記第1の変数に格納されている値と前記第2の変数に格納されている値とを組み合わせて外部に受け渡す新たな出力インターフェイスを生成する、請求項4の装置。
  9. アプリケーションプログラムを変換するための方法であって、
    前記アプリケーションプログラムで用いられる変数を表示部に表示するステップと、
    第1の変数が個別の状況に応じた値を格納できるようにする旨、及び、第2の変数により当該個別の状況を識別する旨の前記表示部上での指示を検出するステップと、
    前記第1の変数に格納されるべき値を保持するための前記アプリケーションプログラムの要素を管理するデータを記憶する記憶部から、当該データを読み出すステップと、
    前記アプリケーションプログラムの前記要素が、前記第1の変数に格納されるべき値として、前記第2の変数により識別される前記個別の状況に応じた値を保持できるように、前記データを変更して前記記憶部に記憶するステップと
    を含む、方法。
  10. 前記読み出すステップでは、前記第1の変数に格納されるべき値を保持するための入力項目を当該入力項目を含む入力インターフェイスに関連付けた前記データを記憶する記憶部から、当該データを読み出し、
    前記記憶するステップでは、前記第2の変数に格納されるべき値を保持するための入力項目を前記入力インターフェイスに更に関連付けることにより前記データを変更して前記記憶部に記憶する、請求項9の方法。
  11. 前記読み出すステップでは、前記第1の変数を更に管理する前記データを記憶する前記記憶部から、当該データを読み出し、
    前記記憶するステップでは、前記第2の変数を管理できるように前記データを変更して前記記憶部に記憶する、請求項9の方法。
  12. アプリケーションプログラムを変換するためのコンピュータプログラムであって、コンピュータに、
    前記アプリケーションプログラムを構成する要素を表示部に表示するステップと、
    第1の要素を個別の状況に対応できるようにする旨、及び、第2の要素により当該個別の状況を識別する旨の前記表示部上での指示を検出するステップと、
    前記第1の要素を前記第2の要素により識別される前記個別の状況に対応できるようにする前記アプリケーションプログラムの部分を生成するステップと
    を実行させる、コンピュータプログラム。
  13. 前記表示するステップでは、前記アプリケーションプログラムの設計モデルを構成するモデル要素を、前記要素として表示し、
    前記検出するステップでは、前記第1の要素を個別の状況に対応できるようにする旨の指示を、当該第1の要素に対応するモデル要素に対するユーザ操作に応じて検出する、請求項12のコンピュータプログラム。
  14. 前記検出するステップでは、前記表示部上での前記指示を、当該指示の内容に応じたアノテーションオブジェクトの当該表示部上での配置を認識することにより検出する、請求項12のコンピュータプログラム。
  15. アプリケーションプログラムを変換するためのコンピュータプログラムであって、コンピュータに、
    前記アプリケーションプログラムで用いられる変数を表示部に表示するステップと、
    第1の変数が個別の状況に応じた値を格納できるようにする旨、及び、第2の変数により当該個別の状況を識別する旨の前記表示部上での指示を検出するステップと、
    前記第1の変数が前記第2の変数により識別される前記個別の状況に応じた値を格納できるようにする前記アプリケーションプログラムの部分を生成するステップと
    を実行させる、コンピュータプログラム。
JP2006298055A 2006-11-01 2006-11-01 アプリケーションプログラムを生成するための装置、方法、及びプログラム Expired - Fee Related JP4629646B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006298055A JP4629646B2 (ja) 2006-11-01 2006-11-01 アプリケーションプログラムを生成するための装置、方法、及びプログラム
CNB200710141181XA CN100533377C (zh) 2006-11-01 2007-08-13 应用程序的变换设备和变换方法
US11/873,716 US8140305B2 (en) 2006-11-01 2007-10-17 Conversion of an application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006298055A JP4629646B2 (ja) 2006-11-01 2006-11-01 アプリケーションプログラムを生成するための装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2008117067A true JP2008117067A (ja) 2008-05-22
JP4629646B2 JP4629646B2 (ja) 2011-02-09

Family

ID=39331368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006298055A Expired - Fee Related JP4629646B2 (ja) 2006-11-01 2006-11-01 アプリケーションプログラムを生成するための装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US8140305B2 (ja)
JP (1) JP4629646B2 (ja)
CN (1) CN100533377C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9116708B2 (en) 2010-03-05 2015-08-25 Nec Corporation Program creation support apparatus, program, and information system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120078809A1 (en) * 2010-09-27 2012-03-29 Sap Ag Integrating sub-processes in business process modeling notation processes
CN105739970B (zh) * 2016-01-20 2019-09-20 北京京东尚科信息技术有限公司 数据映射为自定义类对象的方法和装置
JP7315819B2 (ja) * 2019-03-26 2023-07-27 株式会社ぐるなび 決済支援システム、決済支援方法、及び決済支援プログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537529A (en) * 1993-04-22 1996-07-16 Apple Computer, Inc. Apparatus and method for creating versions of computer models and creating communications incorporating created versions therefrom
JP2000020296A (ja) * 1998-07-07 2000-01-21 Matsushita Electric Ind Co Ltd プログラム変更支援装置
US6513046B1 (en) * 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
US8044793B2 (en) * 2001-03-01 2011-10-25 Fisher-Rosemount Systems, Inc. Integrated device alerts in a process control system
US6598225B1 (en) * 1999-03-29 2003-07-22 International Business Machines Corporation System, method, and program for utilizing a software state machine carrying out the process flow of a software program
US6340977B1 (en) * 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US6560633B1 (en) * 1999-06-10 2003-05-06 Bow Street Software, Inc. Method for creating network services by transforming an XML runtime model in response to an iterative input process
US7243054B2 (en) * 1999-07-14 2007-07-10 Wireless Valley Communications, Inc. Method and system for displaying network performance, cost, maintenance, and infrastructure wiring diagram
US6976246B1 (en) * 2000-05-26 2005-12-13 Microsoft Corporation Finite state model-based testing user interface
US7818286B2 (en) * 2001-01-22 2010-10-19 Sas Institute Inc. Computer-implemented dimension engine
EP1405244A2 (en) * 2001-07-06 2004-04-07 Angoss Software Corporation A method and system for the visual presentation of data mining models
US7461382B2 (en) * 2002-09-30 2008-12-02 Sap Ag Event handling with action instances for event-driven software application
US20040111702A1 (en) * 2002-12-10 2004-06-10 Chan Kin Ming Method and apparatus for visual programming
US7412367B1 (en) * 2003-11-17 2008-08-12 The Mathworks, Inc. Transparent subsystem links
US7324931B1 (en) * 2003-11-17 2008-01-29 The Mathworks, Inc. Conversion of model components into references
US20050203718A1 (en) * 2004-03-12 2005-09-15 Carek Rick A. Knowledge management system with integrated product document management for computer-aided design modeling
JP4100630B2 (ja) * 2004-05-14 2008-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Uml設計方法
US7913222B2 (en) * 2004-09-20 2011-03-22 The Mathworks, Inc. Automatic generation of code for component interfaces in models
US7861218B2 (en) * 2004-10-28 2010-12-28 International Business Machines Corporation Computer method and system for enforcing derived union constraints
US7464010B2 (en) * 2004-12-21 2008-12-09 Electronics And Telecommunications Research Institute User interface design and evaluation system and hand interaction based user interface design and evaluation system
US7958454B2 (en) * 2005-04-19 2011-06-07 The Mathworks, Inc. Graphical state machine based programming for a graphical user interface
US8447580B2 (en) * 2005-05-31 2013-05-21 The Mathworks, Inc. Modeling of a multiprocessor system
US7950004B2 (en) * 2005-10-21 2011-05-24 Siemens Corporation Devices systems and methods for testing software
US8554825B2 (en) * 2005-12-22 2013-10-08 Telcordia Technologies, Inc. Method for systematic modeling and evaluation of application flows
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070288885A1 (en) * 2006-05-17 2007-12-13 The Mathworks, Inc. Action languages for unified modeling language model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9116708B2 (en) 2010-03-05 2015-08-25 Nec Corporation Program creation support apparatus, program, and information system

Also Published As

Publication number Publication date
JP4629646B2 (ja) 2011-02-09
CN100533377C (zh) 2009-08-26
US8140305B2 (en) 2012-03-20
CN101174209A (zh) 2008-05-07
US20080103752A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
JP6678780B2 (ja) プロセス視覚化プラットフォーム
JP2011118902A (ja) 自動フォーム・レイアウト方法、システム、およびコンピュータ・プログラム
CN102804133B (zh) 一种用于管理系统可扩展性的方法和设备
KR20130086138A (ko) 크로스―플랫폼 어플리케이션 프레임워크
CN106095767A (zh) 自动生成用户表单界面的方法和系统
US10228913B2 (en) Functional rule and component storage
JP2013003664A (ja) 情報処理装置および方法
US10572247B2 (en) Prototype management system
JP4629646B2 (ja) アプリケーションプログラムを生成するための装置、方法、及びプログラム
TWI246645B (en) A method, computer-readable medium, and data processing system for notifying the user of a power management delay
JP2014123249A (ja) 情報処理装置、プログラム、及び情報処理方法
JP2010152645A (ja) シミュレーション支援プログラム、シミュレーション装置、およびシミュレーション支援方法
JP4678770B2 (ja) シーケンス図作成方法及びその装置
JP2015049645A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2023110808A (ja) スマートタグ基盤の業務処理装置及び業務処理方法
Jha Computer concepts and management information systems
EP3961639A1 (en) Document display system
JP5319643B2 (ja) ソフトウェアプロダクトライン開発支援装置およびその方法
JP2013200844A (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
JP5702265B2 (ja) プログラム自動生成装置およびプログラム自動生成方法
JP5967200B2 (ja) ルール管理装置、ルール管理方法及びプログラム
JP6379713B2 (ja) 設計支援プログラム、装置、及び方法
US11921496B2 (en) Information processing apparatus, information processing method and computer readable medium
JP7426305B2 (ja) 設計書参照作業支援装置、設計書参照作業支援方法および設計書参照作業支援プログラム
JP7151514B2 (ja) シミュレーションシステム、情報処理装置、プログラム及びシミュレーション方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081104

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081113

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081205

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20101102

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4629646

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees