JP5820339B2 - 第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張 - Google Patents
第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張 Download PDFInfo
- Publication number
- JP5820339B2 JP5820339B2 JP2012128172A JP2012128172A JP5820339B2 JP 5820339 B2 JP5820339 B2 JP 5820339B2 JP 2012128172 A JP2012128172 A JP 2012128172A JP 2012128172 A JP2012128172 A JP 2012128172A JP 5820339 B2 JP5820339 B2 JP 5820339B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- component
- implementation
- programming tool
- specified
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4492—Inheritance
Description
従来の4GLプログラミングツールと同様に、ユーザがアプリケーションのためのコードを手動でタイプすることなしにアプリケーションを設計することを可能にする4GLプログラミングツールが提供される。ある実施例に従えば、ユーザは、4GLプログラミングツールを用いて、ユーザインターフェイスコンポーネントを選択し、選択されたユーザインターフェイスコンポーネントをウィンドウ内に置き、これらのコンポーネントのためのプロパティ値を指定することにより、視覚的にアプリケーションを設計する。しかしながら、従来の4GLプログラミングツールと異なって、アプリケーション設計者によって制御されるある1つのコンポーネントプロパティは、コンポーネントのインプリメンテーション・クラスである。アプリケーション設計者がコンポーネントのインプリメンテーション・クラス・プロパティに設定する値が、コンポーネントを実現するために実行時に実行されるプロパティおよびメソッドを定義するオブジェクトクラスを決める。たとえば、ボタンのための指定されたインプリメンテーション・クラスは、4GLプログラミングツールによって提供される標準のボタンクラスであっても、または、アプリケーション設計者によってもしくはサードパーティのコンポーネント開発者によって書かれたカスタム設計の楕円形のボタンクラスであってもよい。
図1は、この発明の実施例に従う4GLシステム100を示す。4GLシステム100は、アプリケーションプログラムを定義するアプリケーションコード114を生成するためにアプリケーション設計者110が使用する4GLプログラミングツール112を含む。前述のように、アプリケーションコード114は、マシンによって直接実行可能な形であってもよく、仮想マシンによって実行可能な形であってもよく、または単に、アプリケーションを記述するメタデータであってもよい。例示の実施例では、アプリケーションコード114は、この発明を実現するために実行時エンジン116によって使用される形である。
実行時に、実行時エンジン116は、4GLプログラミングツール112によってあらかじめ生成されたアプリケーションコード114を読出し実行する。このアプリケーションコード114は、アプリケーション設計者110がインプリメンテーション・クラスを指定したアプリケーションコンポーネントのインプリメンテーション・クラスを特定するデータを含む。たとえば、ボタンのためのデフォルトのインプリメンテーション・クラスが、DefButton.classであるとする。アプリケーションの設計中、アプリケーション設計者110は、アプリケーションのユーザインターフェイス上に表示されるべきB1ボタンのための異なったインプリメンテーション・クラスを指定してしまっているかもしれない。説明の目的のために、アプリケーション設計者110が、ボタンB1のインプリメンテーション・クラスがMyButton.classであると指定したと仮定する。これらの条件下では、アプリケーションコード114は、B1のインプリメンテーション・クラスがMyButton.classであることを示すデータを含む。
4GLプログラミングツールは、典型的には、アプリケーションプログラマに対して利用可能とされるコンポーネントの各タイプごとに、(1)コンポーネントタイプに対するクラス・インプリメンテーションおよび(2)クラス・インプリメンテーションと協働するメッセージハンドラの両方を与える。4GLプログラミングツール制作者は、それらの特定のクラス・インプリメンテーションと協働するようにメッセージハンドラを設計することが可能である、というのも、彼らはこれらのクラス・インプリメンテーションの提供者であり、したがってそれに対するインターフェイスを知っており制御するからである。
「paint」メソッドにおいて、ビューは、パラメータ中に指定されたグラフィックスオブジェクトを用いてそれ自身をペイントしなければならない。ある実施例に従えば、コンポーネントは他のコンポーネントを含んでもよい。他のコンポーネントを含むコンポーネントを「コンテナ」と呼ぶ。コンテナの一部であるコンポーネントについて、「paint」メソッドは、コンポーネントのコンテナによって呼出される。他のコンポーネントについて、「paint」メソッドは、コンポーネントのメッセージハンドラによって呼出される。
アプリケーション設計者がIViewインターフェイスをサポートしないクラスを使用したいとき、アプリケーション設計者は単にそのクラスのサブクラスを定義するだけでよく、サブクラスはIViewインターフェイスをサポートしない。たとえば、アプリケーション設計者がサードパーティによって提供されるCoolButtonクラスのインスタンスとしてボタンB1を実現するアプリケーションを生成したいとする、ただし、CoolButtonクラスはIViewインターフェイスを実現しない。これらの状況下では、アプリケーション設計者は、(1)IViewインターフェイスを実現するCoolButtonのサブクラスを宣言し、かつ(2)IViewインターフェイスのメソッドの各々のインプリメンテーションを指定する。以下は、IViewインターフェイスを実現するサブクラスであるボタンクラスMyButtonがいかにして宣言され得るかの一例である。
説明の目的のために、実施例に特有の詳細が前の説明には含まれた。しかしながら、これらの詳細は、この発明を実施するために必要とされるものでなく、この発明を制限するものと意図されるものでは決してない。たとえば、この発明は、代替の実施例を用いて実施可能であり、そのいくつかをここに記載する。
図2は、この発明の実施例が実現され得るコンピュータシステム200を示すブロック図である。コンピュータシステム200は、情報をやり取りするためのバス202または他の通信メカニズムと、バス202に結合され情報を処理するためのプロセッサ204とを含む。コンピュータシステム200は、バス202に結合され、プロセッサ204によって実行されるべき命令および情報を記憶するための、ランダムアクセスメモリ(RAM)または他の動的記憶装置などの主メモリ206も含む。主メモリ206は、プロセッサ204によって実行されるべき命令の実行中、一時変数または他の中間情報を記憶するために使用されてもよい。コンピュータシステム200は、バス202に結合され、プロセッサ204のための命令および静的情報を記憶するための、リードオンリメモリ(ROM)208または他の静的記憶装置をさらに含む。磁気ディスクまたは光ディスクなどの記憶装置210が設けられ、バス202に結合され、情報および命令を記憶する。
Claims (2)
- アプリケーション設計者が、4GLプログラミングツールによって提示されるユーザインターフェイスオブジェクトおよび制御との対話により、標準インプリメンテーションが4GLプログラミングツールによって与えられるコンポーネントタイプの組に属するコンポーネントを含むアプリケーションを生成することを可能にする4GLプログラミングツールを含むシステムにおいて使用される方法であって、前記アプリケーションのコンポーネントのインプリメンテーション・クラスは、デフォルトのインプリメンテーション・クラス、または、前記アプリケーションの開発者によって指定される、前記デフォルトのインプリメンテーション・クラスと異なるインプリメンテーション・クラスを含み、
前記方法は、
4GLプログラミングツールが、設定するインプリメンテーション・クラスが前記アプリケーションの開発者によって指定されるインプリメンテーション・クラスである場合に、前記4GLプログラミングツールを用いて設計されるアプリケーションのコンポーネントのためのユーザ指定のカスタムインプリメンテーションを示すデータを受取るための制御を与えるステップを含み、
前記コンポーネントは、コンポーネントタイプの前記組に属するコンポーネントタイプのインスタンスであり、
前記ユーザ指定のカスタムインプリメンテーションは4GLプログラミングツールによって与えられる前記標準インプリメンテーションの1つではなく、さらに、
4GLプログラミングツールが、実行されると前記アプリケーションを走らせるアプリケーションコードを生成するステップを含み、前記アプリケーションコードは当該アプリケーションの開発者によって指定されたインプリメンテーション・クラスを特定するデータを含み、
前記アプリケーションコードのある部分は、前記コンポーネントが前記ユーザ指定のカスタムインプリメンテーションを用いて実現されるべきであることを示し、
コンポーネントタイプの組に対して4GLプログラミングツールによって与えられる標準インプリメンテーションは各々共通インターフェイスをサポートし、
ユーザ指定のカスタムインプリメンテーションは前記共通インターフェイスをサポートし、
アプリケーションの実行中、4GLプログラミングツールによって与えられる標準インプリメンテーションを用いて実現されるいずれかのコンポーネントおよび前記コンポーネントは、前記共通インターフェイスを介してなされる呼出によりインスタンスが生成される、
方法。 - アプリケーション設計者が、4GLプログラミングツールによって提示されるユーザインターフェイスオブジェクトおよび制御との対話により、標準インプリメンテーションが4GLプログラミングツールによって与えられるコンポーネントタイプの組に属するコンポーネントを含むアプリケーションを作成することを可能にする4GLプログラミングツールを実現するための命令を担持するコンピュータ読出可能媒体であって、前記アプリケーションのコンポーネントのインプリメンテーション・クラスは、デフォルトのインプリメンテーション・クラス、または、前記アプリケーションの開発者によって指定される、前記デフォルトのインプリメンテーション・クラスと異なるインプリメンテーション・クラスを含み、前記コンピュータ読出可能媒体は、
4GLプログラミングツールが、設定するインプリメンテーション・クラスが前記アプリケーションの開発者によって指定されるインプリメンテーション・クラスである場合に、前記4GLプログラミングツールを用いて設計されるアプリケーションのコンポーネントのためのユーザ指定のカスタムインプリメンテーションを示すデータを受取るための制御を与えるステップを行なうための命令を担持し、
前記コンポーネントは、コンポーネントタイプの前記組に属するコンポーネントタイプのインスタンスであり、
前記ユーザ指定のカスタムインプリメンテーションは、4GLプログラミングツールによって与えられる前記標準インプリメンテーションの1つではなく、前記命令はさらに、
4GLプログラミングツールが、実行されると前記アプリケーションを走らせるアプリケーションコードを生成するステップを行ない、前記アプリケーションコードは当該アプリケーションの開発者によって指定されたインプリメンテーション・クラスを特定するデータを含み、
前記アプリケーションコードのある部分は、前記コンポーネントが前記ユーザ指定のカスタムインプリメンテーションを用いて実現されるべきであることを示し、
コンポーネントタイプの組に対して4GLプログラミングツールによって与えられる標準インプリメンテーションは各々共通インターフェイスをサポートし、
ユーザ指定のカスタムインプリメンテーションは前記共通インターフェイスをサポートし、
アプリケーションの実行中、4GLプログラミングツールによって与えられる標準インプリメンテーションを用いて実現されるいずれかのコンポーネントおよび前記コンポーネントは、前記共通インターフェイスを介してなされる呼出によりインスタンスが生成される、コンピュータ読出可能記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/318,518 | 1999-05-25 | ||
US09/318,518 US6560770B1 (en) | 1999-05-25 | 1999-05-25 | Extending the attributes of an application generated using a fourth generation programming tool |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008010624A Division JP5520446B2 (ja) | 1999-05-25 | 2008-01-21 | 第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012212449A JP2012212449A (ja) | 2012-11-01 |
JP5820339B2 true JP5820339B2 (ja) | 2015-11-24 |
Family
ID=23238510
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000620467A Withdrawn JP2003500739A (ja) | 1999-05-25 | 2000-05-25 | 第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張 |
JP2008010624A Expired - Lifetime JP5520446B2 (ja) | 1999-05-25 | 2008-01-21 | 第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張 |
JP2012128172A Expired - Lifetime JP5820339B2 (ja) | 1999-05-25 | 2012-06-05 | 第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000620467A Withdrawn JP2003500739A (ja) | 1999-05-25 | 2000-05-25 | 第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張 |
JP2008010624A Expired - Lifetime JP5520446B2 (ja) | 1999-05-25 | 2008-01-21 | 第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6560770B1 (ja) |
EP (1) | EP1192532B1 (ja) |
JP (3) | JP2003500739A (ja) |
AT (1) | ATE235079T1 (ja) |
AU (1) | AU777692B2 (ja) |
CA (1) | CA2365572C (ja) |
DE (1) | DE60001743T2 (ja) |
HK (1) | HK1041732B (ja) |
WO (1) | WO2000072140A2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6880126B1 (en) | 1999-08-03 | 2005-04-12 | International Business Machines Corporation | Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data |
US6779177B1 (en) | 1999-10-28 | 2004-08-17 | International Business Machines Corporation | Mechanism for cross channel multi-server multi-protocol multi-data model thin clients |
US6862686B1 (en) | 1999-10-29 | 2005-03-01 | International Business Machines Corporation | Method and apparatus in a data processing system for the separation of role-based permissions specification from its corresponding implementation of its semantic behavior |
US7181686B1 (en) | 1999-10-29 | 2007-02-20 | International Business Machines Corporation | Selecting screens in a GUI using events generated by a set of view controllers |
US6976244B2 (en) | 2002-01-09 | 2005-12-13 | International Business Machines Corporation | Method, system, and product for storage of attribute data in an object oriented environment |
US20030182458A1 (en) * | 2002-03-22 | 2003-09-25 | Ali Syed M. | Generating a decoupled presentation layer in an application |
US7240319B2 (en) * | 2003-02-19 | 2007-07-03 | Diversified Systems, Inc. | Apparatus, system, method, and program for facilitating the design of bare circuit boards |
US7458055B2 (en) * | 2003-02-19 | 2008-11-25 | Diversified Systems, Inc. | Apparatus, system, method, and program for facilitating the design of electronic assemblies |
US7313448B2 (en) * | 2005-08-15 | 2007-12-25 | Honeywell International Inc. | Method and apparatus for providing a standard control system with custom application capability |
US8312420B1 (en) * | 2005-11-18 | 2012-11-13 | The Mathworks, Inc. | System and method for performing structural templatization |
US20070168926A1 (en) * | 2005-12-16 | 2007-07-19 | Raghuram Rajah | Software customization framework |
US8019844B2 (en) * | 2005-12-20 | 2011-09-13 | Level 3 Communications, Llc | System and method for monitoring data in a telecommunications network |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517645A (en) * | 1993-11-05 | 1996-05-14 | Microsoft Corporation | Method and system for interfacing components via aggregate components formed by aggregating the components each with an instance of a component manager |
US5875331A (en) * | 1994-09-30 | 1999-02-23 | International Business Machines Corp. | System and method for generating target language code utilizing an object oriented code generator |
US5617568A (en) * | 1994-12-14 | 1997-04-01 | International Business Machines Corporation | System and method for supporting file attributes on a distributed file system without native support therefor |
US5911070A (en) * | 1995-08-07 | 1999-06-08 | Inprise Corporation | Development system with methods for bi-directional application program code generation |
DE19535519C2 (de) * | 1995-09-25 | 1999-03-04 | Ibm | Verfahren zur Reduzierung des Umfanges von Computerprogrammen |
US5721929A (en) * | 1995-10-06 | 1998-02-24 | Electronic Data Systems Corporation | Method for extending a fourth generation programming language |
US5960200A (en) * | 1996-05-03 | 1999-09-28 | I-Cube | System to transition an enterprise to a distributed infrastructure |
US5949998A (en) * | 1996-07-03 | 1999-09-07 | Sun Microsystems, Inc. | Filtering an object interface definition to determine services needed and provided |
US5887134A (en) * | 1997-06-30 | 1999-03-23 | Sun Microsystems | System and method for preserving message order while employing both programmed I/O and DMA operations |
US6237135B1 (en) * | 1998-06-18 | 2001-05-22 | Borland Software Corporation | Development system with visual design tools for creating and maintaining Java Beans components |
US6167563A (en) * | 1998-09-17 | 2000-12-26 | Unisys Corporation | Method and system for building components in a framework useful in developing integrated business-centric applications |
-
1999
- 1999-05-25 US US09/318,518 patent/US6560770B1/en not_active Expired - Lifetime
-
2000
- 2000-05-25 CA CA002365572A patent/CA2365572C/en not_active Expired - Lifetime
- 2000-05-25 WO PCT/US2000/014624 patent/WO2000072140A2/en active IP Right Grant
- 2000-05-25 AT AT00936351T patent/ATE235079T1/de not_active IP Right Cessation
- 2000-05-25 DE DE60001743T patent/DE60001743T2/de not_active Expired - Lifetime
- 2000-05-25 JP JP2000620467A patent/JP2003500739A/ja not_active Withdrawn
- 2000-05-25 EP EP00936351A patent/EP1192532B1/en not_active Expired - Lifetime
- 2000-05-25 AU AU51675/00A patent/AU777692B2/en not_active Expired
-
2002
- 2002-04-23 HK HK02103026.0A patent/HK1041732B/zh not_active IP Right Cessation
-
2008
- 2008-01-21 JP JP2008010624A patent/JP5520446B2/ja not_active Expired - Lifetime
-
2012
- 2012-06-05 JP JP2012128172A patent/JP5820339B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2008171435A (ja) | 2008-07-24 |
AU777692B2 (en) | 2004-10-28 |
JP2012212449A (ja) | 2012-11-01 |
JP5520446B2 (ja) | 2014-06-11 |
JP2003500739A (ja) | 2003-01-07 |
US6560770B1 (en) | 2003-05-06 |
HK1041732A1 (en) | 2002-07-19 |
EP1192532A2 (en) | 2002-04-03 |
HK1041732B (zh) | 2003-06-06 |
WO2000072140A3 (en) | 2001-02-15 |
WO2000072140A2 (en) | 2000-11-30 |
ATE235079T1 (de) | 2003-04-15 |
DE60001743T2 (de) | 2004-02-05 |
CA2365572C (en) | 2004-07-20 |
AU5167500A (en) | 2000-12-12 |
DE60001743D1 (de) | 2003-04-24 |
EP1192532B1 (en) | 2003-03-19 |
CA2365572A1 (en) | 2000-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5820339B2 (ja) | 第4世代プログラミングツールを用いて生成されるアプリケーションの属性の拡張 | |
US6810522B2 (en) | Method and system for associating parameters of containers and contained objects | |
US6064382A (en) | Object oriented apparatus and method for providing a graphical user interface for host-based software applications | |
US5551037A (en) | Apparatus and methods for visualizing operation of a system of processes | |
US5991535A (en) | Visual composition tool for constructing application programs using distributed objects on a distributed object network | |
US5546583A (en) | Method and system for providing a client/server interface in a programming language | |
US6101510A (en) | Web browser control for incorporating web browser functionality into application programs | |
US5896532A (en) | Objects with run-time classes and methods of making them | |
US20020089526A1 (en) | Infocenter user interface for applets and components | |
US7484202B2 (en) | Method, system and program product for retrofitting collaborative components into existing software applications | |
WO1999027445A1 (en) | Mechanism for automatically establishing connections between executable components of a hypertext-based application | |
WO1999027440A1 (en) | Tier-neutral development of hypertext based applications | |
JP2005327251A (ja) | 条件付きui制御及び画面ナビゲーションを有する対話型無線アプリケーションのためのシステム及び方法 | |
US5995100A (en) | Method of automatically generating custom controls for selected modules in a library | |
WO1999040512A9 (en) | Method and system for user defined interactions between plurality of active software applications | |
Pavlidis | Fundamentals of X programming: graphical user interfaces and beyond | |
CN117519848A (zh) | 一种函数调用方法、装置、设备及存储介质 | |
CN116501427A (zh) | WakeData小程序自定义布局方法 | |
Shimizu et al. | GUI-SIDER: a scenario-based interaction design environment for GUI dialogue | |
Utsumi et al. | Code optimization technique for general-purpose-DSP compiler | |
Moldaschl | ooRexxTry Reengineering | |
Kao | Experience in undergraduate research in communications | |
Dlodlo et al. | The common interaction abstractions paradigm | |
WO2002021271A2 (en) | System, method and medium for defining palettes to transform an application program interface for a service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130709 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131004 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140423 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140630 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20140829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5820339 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 |
|
EXPY | Cancellation because of completion of term |