JP2010267264A - コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する方法、その方法を実行するプログラムを含むコンピュータ可読の記憶媒体、およびコンパイラ - Google Patents
コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する方法、その方法を実行するプログラムを含むコンピュータ可読の記憶媒体、およびコンパイラ Download PDFInfo
- Publication number
- JP2010267264A JP2010267264A JP2010111035A JP2010111035A JP2010267264A JP 2010267264 A JP2010267264 A JP 2010267264A JP 2010111035 A JP2010111035 A JP 2010111035A JP 2010111035 A JP2010111035 A JP 2010111035A JP 2010267264 A JP2010267264 A JP 2010267264A
- Authority
- JP
- Japan
- Prior art keywords
- source code
- component
- code
- signature
- extracted
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】ソースコードをコンパイルするリクエストを受信したとき、各ソースコード・コンポーネントに対して署名を抽出するステップ306と、ソースコード・コンポーネントに対して現在利用可能な実行可能コードのインスタンスに対応して格納されている署名を検索するステップ308と、抽出された署名を格納されている署名と比較するステップ310と、抽出された署名が格納されている署名と一致しない場合、ソースコード・コンポーネントを実行可能なコードにコンパイルするステップ312と、抽出された署名が格納されている署名と一致する場合、ソースコード・コンポーネントに対して実行可能なコードをリポジトリから獲得するステップ314とを含む。
【選択図】図3
Description
本発明は、米国国防省による契約H98230−07−C−0383の下で、政府の助成を受けて完成されたものである。政府は、本発明に対して一定の権利を有する。
例1および例2は、対応するFunctor演算子インスタンスの宣言的記述を高水準プログラミング言語に翻訳したものを表す。
106 データベース
200 コンパイラ
202 設定パラメータ
204 対象機
206 署名比較処理部
208 署名データベース
502 プロセッサ
504 メモリ
Claims (19)
- コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する方法であって、
コンピュータシステムで仕事を遂行するコンパイラが、前記コンポーネント・ベース・アプリケーションに対するソースコードをコンパイルするようにとのリクエストを受信するステップを含み、前記リクエストが前記ソースコードを特定し、前記ソースコードが複数のソースコード・コンポーネントからなり、前記複数のソースコード・コンポーネントの各々が前記アプリケーションの異なるコンポーネントを実装し、
さらに、前記コンパイラが前記複数のソースコード・コンポーネントの各ソースコード・コンポーネントに対して一連のステップを実行するステップを含み、該一連のステップが
前記ソースコード・コンポーネントに対して抽出された署名を抽出するステップと、
前記ソースコード・コンポーネントに対して現在利用可能な実行可能コードのインスタンスに対応して格納されている署名を検索するステップと、
前記抽出された署名を前記格納されている署名と比較するステップと、
前記ソースコード・コンポーネントを、前記格納されている署名と一致しない前記抽出された署名に対応する前記実行可能なコードにコンパイルするステップと、
前記抽出された署名が前記格納されている署名と一致する場合、前記ソースコード・コンポーネントの前記実行可能なコードをリポジトリから獲得するステップと、
を含む方法。 - 前記抽出された署名は前記ソースコードに関連したメタデータから抽出され、前記格納されている署名は、前バージョンのソースコードに関連したメタデータから以前に抽出されたものであり、該前バージョンのソースコードからは、前記ソースコード・コンポーネントに対して現在利用可能な実行可能コードのインスタンスが生成されたものである、請求項1に記載の方法。
- 前記ソースコードに関連した前記メタデータが前記ソースコードの1つ以上の設定パラメータを取り込み、前記前バージョンのソースコードに関連した前記メタデータが、前記ソースコード・コンポーネントに対して現在利用可能な実行可能コードのインスタンスの1つ以上の設定パラメータを取り込む、請求項2記載の方法。
- 前記抽出した署名は拡張マークアップ言語文書であり、前記ソースコードの前記1つ以上の設定パラメータを取り込み、前記格納されている署名も拡張マークアップ言語文書であり、前記前バージョンのソースコードの前記1つ以上の設定パラメータを取り込む、請求項3記載の方法。
- 前記ソースコードに関連した前記メタデータ中、コンパイル時に評価可能な1つ以上の定数式が実行時にロードされるプレース・ホルダによって置き換えられる、請求項3記載の方法。
- 前記リポジトリにおいて、前記格納されている署名が、前記ソースコード・コンポーネントに対する前記現在利用可能な実行可能コードのインスタンスに関連している、請求項1記載の方法。
- 前記リポジトリは、コードと、前記複数のソースコード・コンポーネントにおける各ソースコード・コンポーネントの署名とを保持する、請求項6記載の方法。
- 前記ソースコード・コンポーネントが入力データに対して演算を行う演算子である、請求項1記載の方法。
- 前記ソースコード・コンポーネントが入力データに対して演算を行う1つ以上の演算子を受け入れるコンテナである、請求項1記載の方法。
- コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する実行可能プログラムを含むコンピュータ可読の記憶媒体であって、該プログラムは
コンピュータシステムで仕事を遂行するコンパイラが、前記コンポーネント・ベース・アプリケーションに対するソースコードをコンパイルするようにとのリクエストを受信するステップを含み、前記リクエストが前記ソースコードを特定し、前記ソースコードが複数のソースコード・コンポーネントからなり、前記複数のソースコード・コンポーネントの各々が前記アプリケーションの異なるコンポーネントを実装し、
さらに、前記コンパイラが前記複数のソースコード・コンポーネントの各ソースコード・コンポーネントに対して一連のステップを実行するステップを含み、該一連のステップが
前記ソースコード・コンポーネントに対して抽出された署名を抽出するステップと、
前記ソースコード・コンポーネントに対して現在利用可能な実行可能コードのインスタンスに対応して格納されている署名を検索するステップと、
前記抽出された署名を前記格納されている署名と比較するステップと、
前記ソースコード・コンポーネントを、前記格納されている署名と一致しない前記抽出された署名に対応する前記実行可能なコードにコンパイルするステップと、
前記抽出された署名が前記格納されている署名と一致する場合、前記ソースコード・コンポーネントの前記実行可能なコードをリポジトリから獲得するステップと、
を含むコンピュータ可読の記憶媒体。 - 前記抽出された署名は前記ソースコードに関連したメタデータから抽出され、前記格納されている署名は、前バージョンのソースコードに関連したメタデータから以前に抽出されたものであり、該前バージョンのソースコードからは、前記ソースコード・コンポーネントに対して現在利用可能な実行可能コードのインスタンスが生成されたものである、請求項10記載のコンピュータ可読の記憶媒体。
- 前記ソースコードに関連した前記メタデータが前記ソースコードの1つ以上の設定パラメータを取り込み、前記前バージョンのソースコードに関連した前記メタデータが、前記ソースコード・コンポーネントに対して現在利用可能な実行可能コードのインスタンスの1つ以上の設定パラメータを取り込む、請求項11記載のコンピュータ可読の記憶媒体。
- 前記抽出した署名は拡張マークアップ言語文書であり、前記ソースコードの前記1つ以上の設定パラメータを取り込み、前記格納されている署名も拡張マークアップ言語文書であり、前記前バージョンのソースコードの前記1つ以上の設定パラメータを取り込む、請求項12記載のコンピュータ可読の記憶媒体。
- 前記ソースコードに関連した前記メタデータ中、コンパイル時に評価可能な1つ以上の定数式が、実行時にロードされるプレース・ホルダによって置き換えられる、請求項12記載のコンピュータ可読の記憶媒体。
- 前記リポジトリにおいて、前記格納されている署名が、前記ソースコード・コンポーネントに対する前記現在利用可能な実行可能コードのインスタンスに関連している、請求項10記載のコンピュータ可読の記憶媒体。
- 前記リポジトリは、コードと、前記複数のソースコード・コンポーネントにおける各ソースコード・コンポーネントの署名とを保持する、請求項15記載のコンピュータ可読の記憶媒体。
- 前記ソースコード・コンポーネントが入力データに対して演算を行う演算子である、請求項10記載のコンピュータ可読の記憶媒体。
- 前記ソースコード・コンポーネントが入力データに対して演算を行う1つ以上の演算子を受け入れるコンテナである、請求項10記載のコンピュータ可読の記憶媒体。
- コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築するコンパイラであって、
前記コンポーネント・ベース・アプリケーションに対するソースコードをコンパイルするようにとのリクエストを受信する入力を含み、前記リクエストが前記ソースコードを特定し、前記ソースコードが複数のソースコード・コンポーネントからなり、前記複数のソースコード・コンポーネントの各々が前記アプリケーションの異なるコンポーネントを実装し、
さらに、前記入力に連結され、前記複数のソースコード・コンポーネントの各ソースコード・コンポーネントに対して一連のステップを実行する複数の要素を含み、前記複数の要素が
前記ソースコード・コンポーネントに対して抽出された署名を抽出する署名比較部と、
前記ソースコード・コンポーネントに対して既に生成された実行可能なコードのインスタンスに対応して格納された署名を格納する署名データベースと、
前記署名が前記格納されている署名と一致しない場合、前記ソースコード・コンポーネントを前記実行可能なコードにコンパイルし、前記ソースコード・コンポーネントの前記実行可能なコードをリポジトリから獲得するコード生成部と、
を含むコンパイラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/467011 | 2009-05-15 | ||
US12/467,011 US8943482B2 (en) | 2009-05-15 | 2009-05-15 | Incrementally constructing executable code for component-based applications |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010267264A true JP2010267264A (ja) | 2010-11-25 |
JP5496772B2 JP5496772B2 (ja) | 2014-05-21 |
Family
ID=43069546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010111035A Expired - Fee Related JP5496772B2 (ja) | 2009-05-15 | 2010-05-13 | コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する方法、その方法を実行するプログラムを含むコンピュータ可読の記憶媒体、およびコンパイラ |
Country Status (3)
Country | Link |
---|---|
US (1) | US8943482B2 (ja) |
JP (1) | JP5496772B2 (ja) |
CN (1) | CN101887365B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016537755A (ja) * | 2013-10-18 | 2016-12-01 | マイクロソフト テクノロジー ライセンシング,エルエルシー | インタラクティブ開発環境からソフトウェアアーチファクトをインクリメンタルにコンパイルすること |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843920B2 (en) * | 2009-09-15 | 2014-09-23 | Advanced Micro Devices, Inc. | Systems and methods for deferring software implementation decisions until load time |
US8683430B2 (en) * | 2011-01-07 | 2014-03-25 | International Business Machines Corporation | Synchronizing development code and deployed executable versioning within distributed systems |
US9031922B2 (en) * | 2012-05-02 | 2015-05-12 | Microsoft Technology Licensing, Llc | Code regeneration determination from selected metadata fingerprints |
US20140040299A1 (en) * | 2012-08-03 | 2014-02-06 | Cisco Technology, Inc. | Automated Method of Detecting Pattern Matches between Converged Infrastructure Models and an Operating Converged Infrastructure |
EP2713268B1 (en) * | 2012-09-28 | 2019-08-07 | Ricoh Company, Ltd. | Method for developing software and system therefor |
US11050820B2 (en) * | 2013-04-29 | 2021-06-29 | Sap Se | Cloud sharing system |
EP3049916B1 (en) * | 2013-09-24 | 2021-12-22 | Telefonaktiebolaget LM Ericsson (publ) | Simplified creation of an application in a selected stream processing platform |
CN103559134A (zh) * | 2013-11-11 | 2014-02-05 | 曙光信息产业(北京)有限公司 | 基准测试组件的配置方法和装置 |
US10120664B2 (en) * | 2015-08-28 | 2018-11-06 | International Business Machines Corporation | Incremental build generation |
US10048954B2 (en) * | 2016-09-21 | 2018-08-14 | International Business Machines Corporation | Accelerating software builds |
US9792114B1 (en) * | 2016-10-10 | 2017-10-17 | Semmle Limited | Source code element signatures |
US10452452B2 (en) | 2017-04-17 | 2019-10-22 | Wave Computing, Inc. | Reconfigurable processor fabric implementation using satisfiability analysis |
US10867343B1 (en) | 2018-08-30 | 2020-12-15 | Morgan Stanley Services Group Inc. | Metadata driven orchestration engine |
US10915302B2 (en) * | 2018-12-11 | 2021-02-09 | The Mathworks, Inc. | Identification and visualization of associations among code generated from a model and sources that affect code generation |
CN112799649B (zh) * | 2020-06-15 | 2023-09-12 | 中兴通讯股份有限公司 | 代码构建方法、装置、设备和存储介质 |
CN112181539B (zh) * | 2020-09-27 | 2023-12-05 | 深圳市元征科技股份有限公司 | 文件处理方法、装置、设备及介质 |
US11567735B1 (en) * | 2020-10-19 | 2023-01-31 | Splunk Inc. | Systems and methods for integration of multiple programming languages within a pipelined search query |
US12015532B2 (en) | 2021-11-19 | 2024-06-18 | Paypal, Inc. | Component-based risk evaluation techniques using processing flow signatures |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10222358A (ja) * | 1997-02-07 | 1998-08-21 | Nec Corp | 関連プログラム自動翻訳システム |
JP2002082811A (ja) * | 2000-06-28 | 2002-03-22 | Hitachi Ltd | コンパイル方法および記録媒体 |
JP2004078751A (ja) * | 2002-08-21 | 2004-03-11 | Nippon Telegr & Teleph Corp <Ntt> | コンパイル済みプログラムコード再利用方法、装置およびプログラム |
JP2005129028A (ja) * | 2003-10-23 | 2005-05-19 | Microsoft Corp | コンポーネント用として言語独立ファイル及び対応する言語特有リソースファイルを作成する方法 |
JP2005243004A (ja) * | 2004-02-27 | 2005-09-08 | Microsoft Corp | コードの書き換え |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7428726B1 (en) * | 2000-04-12 | 2008-09-23 | Compuware Corporation | Techniques for software configuration tracking |
EP1552385B1 (en) * | 2002-06-12 | 2008-10-15 | Telelogic North America Inc. | Providing dynamic model-code associativity |
US7013458B2 (en) * | 2002-09-09 | 2006-03-14 | Sun Microsystems, Inc. | Method and apparatus for associating metadata attributes with program elements |
US7444620B2 (en) * | 2003-02-28 | 2008-10-28 | Bea Systems, Inc. | Systems and methods for a common runtime container framework |
DE102005002362A1 (de) | 2005-01-18 | 2006-07-27 | Siemens Ag | Programmsystem sowie Verfahren und Systemanordnung zu seiner Konfiguration |
US7836440B2 (en) * | 2006-04-27 | 2010-11-16 | Oracle America, Inc. | Dependency-based grouping to establish class identity |
US8091071B2 (en) * | 2006-08-21 | 2012-01-03 | Sap, Ag | Method and system for template-based code generation |
EP1936532B1 (en) | 2006-12-21 | 2009-07-29 | Telefonaktiebolaget LM Ericsson (publ) | Obfuscating computer program code |
US8464228B2 (en) * | 2007-08-23 | 2013-06-11 | Accenture Global Services Limited | Binary library |
-
2009
- 2009-05-15 US US12/467,011 patent/US8943482B2/en not_active Expired - Fee Related
-
2010
- 2010-05-13 JP JP2010111035A patent/JP5496772B2/ja not_active Expired - Fee Related
- 2010-05-17 CN CN201010179551.0A patent/CN101887365B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10222358A (ja) * | 1997-02-07 | 1998-08-21 | Nec Corp | 関連プログラム自動翻訳システム |
JP2002082811A (ja) * | 2000-06-28 | 2002-03-22 | Hitachi Ltd | コンパイル方法および記録媒体 |
JP2004078751A (ja) * | 2002-08-21 | 2004-03-11 | Nippon Telegr & Teleph Corp <Ntt> | コンパイル済みプログラムコード再利用方法、装置およびプログラム |
JP2005129028A (ja) * | 2003-10-23 | 2005-05-19 | Microsoft Corp | コンポーネント用として言語独立ファイル及び対応する言語特有リソースファイルを作成する方法 |
JP2005243004A (ja) * | 2004-02-27 | 2005-09-08 | Microsoft Corp | コードの書き換え |
Non-Patent Citations (3)
Title |
---|
CSNG200000269003; 安田 和、小野寺民也、北山文彦、久世和資、上村 務: 'Cベースのオブジェクト指向言語における再コンパイルの短縮' 情報処理学会研究報告 Vol.91,No.32, 19910426, pp.39〜48, 社団法人情報処理学会 * |
JPN6014006515; 安田 和、小野寺民也、北山文彦、久世和資、上村 務: 'Cベースのオブジェクト指向言語における再コンパイルの短縮' 情報処理学会研究報告 Vol.91,No.32, 19910426, pp.39〜48, 社団法人情報処理学会 * |
JPN7014000538; Bugra Gedik, Henrique Andrade, Kun-Lung Wu, Philip S. Yu, MyungCheol Doo: 'SPADE: The System S Declarative Stream Processing Engine' SIGMOD'08 Proceedings of the 2008 ACM SIGMOD international conference on Management of data , 20080612, pp.1123-1134, ACM * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016537755A (ja) * | 2013-10-18 | 2016-12-01 | マイクロソフト テクノロジー ライセンシング,エルエルシー | インタラクティブ開発環境からソフトウェアアーチファクトをインクリメンタルにコンパイルすること |
Also Published As
Publication number | Publication date |
---|---|
US20100293533A1 (en) | 2010-11-18 |
CN101887365B (zh) | 2014-01-15 |
JP5496772B2 (ja) | 2014-05-21 |
US8943482B2 (en) | 2015-01-27 |
CN101887365A (zh) | 2010-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5496772B2 (ja) | コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する方法、その方法を実行するプログラムを含むコンピュータ可読の記憶媒体、およびコンパイラ | |
Lutellier et al. | Coconut: combining context-aware neural translation models using ensemble for program repair | |
JP7090778B2 (ja) | 影響分析 | |
US11037345B2 (en) | Systems and methods for processing computational workflows | |
El Akkaoui et al. | A model-driven framework for ETL process development | |
De Roover et al. | The SOUL tool suite for querying programs in symbiosis with Eclipse | |
US9122540B2 (en) | Transformation of computer programs and eliminating errors | |
US9286043B2 (en) | Software build optimization | |
US9170787B2 (en) | Componentization of compiler functionality | |
Ginsbach et al. | Automatic matching of legacy code to heterogeneous APIs: An idiomatic approach | |
US8423971B2 (en) | Generating an application software library | |
US20130007709A1 (en) | Software configuration management | |
Al-Omari et al. | Detecting clones across microsoft. net programming languages | |
Burgueño et al. | On the concurrent execution of model transformations with linda | |
Angulo et al. | An approach for creating kdm2psm transformation engines in adm context: The rute-k2j case | |
US9396239B2 (en) | Compiling method, storage medium and compiling apparatus | |
Li et al. | J2M: a Java to MapReduce translator for cloud computing | |
Sarkar et al. | Flow-insensitive static analysis for detecting integer anomalies in programs | |
Liu et al. | Automating distributed partial aggregation | |
Dragan et al. | LINGVA: Generating and proving program properties using symbol elimination | |
Vysocký et al. | Application instrumentation for performance analysis and tuning with focus on energy efficiency | |
US11615014B2 (en) | Using relocatable debugging information entries to save compile time | |
Gómez et al. | GraCoT, a tool for co-creation of models and metamodels in specific domains | |
CN114490705A (zh) | 信息处理方法、装置、设备及存储介质 | |
Zhao et al. | A model-driven approach for dynamic web service composition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140120 |
|
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: 20140218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140305 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5496772 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |