JP6102136B2 - モジュール管理装置、モジュール管理システム及びモジュール管理方法 - Google Patents
モジュール管理装置、モジュール管理システム及びモジュール管理方法 Download PDFInfo
- Publication number
- JP6102136B2 JP6102136B2 JP2012206416A JP2012206416A JP6102136B2 JP 6102136 B2 JP6102136 B2 JP 6102136B2 JP 2012206416 A JP2012206416 A JP 2012206416A JP 2012206416 A JP2012206416 A JP 2012206416A JP 6102136 B2 JP6102136 B2 JP 6102136B2
- Authority
- JP
- Japan
- Prior art keywords
- bundle
- definition information
- module
- folder
- information
- 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
Images
Classifications
-
- 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
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
図1は、本発明の実施形態に係る衝突回避装置1の論理構成を示すブロック図である。なお、本実施形態に係る衝突回避装置1は、モジュールの定義情報の衝突を回避する処理を行うモジュール管理装置に相当する。図2は、本発明の実施形態に係るモジュール管理基盤の構成例である。
図1において、本実施形態に係る衝突回避装置1は、フォルダ走査部10と、ロード処理部11と、バンドル依存解決部12と、情報格納部13と、定義変更部14と、衝突検知部15とを備えている。
本発明の実施形態に係るモジュール管理装置では、上述の構成を備えた衝突回避装置を使って、以下の動作でバンドルの定義情報の衝突を回避する。
まず、図3を用いて、モジュール管理基盤21が起動し、バンドルのロード処理を実行する工程1を説明する。
次に、図4を用いて、individualsフォルダのロード処理を実行する工程2を説明する。
図7〜10を用いて、実施例1を説明する。実施例1は、モジュール管理基盤A71で動作しているモジュール群A72と、モジュール管理基盤B73で動作しているモジュール群B74を、モジュール管理基盤C101に移植して並行稼働させる例である。
図7には、モジュール管理基盤A71、モジュール管理基盤B73におけるバンドルの構成図を示した。図8には、バンドルa002、バンドルb002、バンドルx002の関係を示した。図9には、モジュール管理基盤C101が動作する環境におけるバンドルa001、a002、b001、b002のフォルダ構成を示した。
図10には、実施例1において、バンドルのロード後におけるモジュール管理基盤C101の状態を示す。図10の上段は、シンボリックネームを変更しない一般例であり、下段はシンボリックネームを変更する本発明に係る実施例である。図10の上段では、バンドルb001は、後からロードされたバンドルb002を参照すべきところ、先にロードされたa002を参照していることを点線の矢印で示しており、その結果バンドルの定義情報の衝突が起こることを模式的に示している。
実施例2は、モジュール管理基盤で3つのバンドルが動作し、二つのバンドルと参照・被参照関係をもつバンドルのシンボリックネームを変更する例である。
図12の下段図を用いて、実施例2の説明をする。3つのバンドルから構成されるモジュール群D113において、各バンドルをそれぞれバンドルd001、バンドルd002、バンドルd003とする。バンドルd001はバンドルd002のパッケージpを参照し、バンドルd002はバンドルd003のパッケージpを参照するものとする。
本発明に係る実施例2の説明を、図12の下段の図を用いて説明する。
実施例3は、individualsフォルダ以下のサブフォルダにあるバンドルが、modulesフォルダのバンドルを参照する例である。
モジュール群E142は、バンドルe001、バンドルe002、バンドルe003の3つのバンドルから構成される。バンドルe002は、バンドルa002と同様に、バンドルx002から継承して作られているとする。バンドルa002とバンドルe002は共通のシンボリックネームsnameを持つため、同時にロードすると衝突が発生するものとする。また、バンドルe001はバンドルe002のパッケージpを参照し、バンドルe002はバンドルe003を参照する。
図14の下段の図を用いて実施例3に係るモジュール管理装置の動作を説明する。
実施例4は、サブフォルダ内の全バンドルのシンボリックネームを変更する代わりに、individualsフォルダ以下のサブフォルダごとに空のバンドルを用意し、そのフォルダ内のバンドルを空のバンドル内部に埋め込んで新たなバンドルを作成して、定義情報の衝突を回避する例である。
モジュール群J162は、バンドルj001、バンドルj002、バンドルj003からなる。バンドルj001は、バンドルj002のパッケージpに依存し、バンドルj002は、バンドルj003のパッケージppに依存しているものとする。またバンドルj002は、シンボリックネームsname、パッケージpを有し、バンドルj003は、シンボリックネームsname2、パッケージppを有する。バンドルj003は一般的な機能を提供するものとする。
図16の下段の図を用いて実施例4に係るモジュール管理装置の動作を説明する。
10 フォルダ走査部
11 ロード処理部
12 依存解決処理部
13 情報格納部
14 定義変更部
15 衝突検知部
21 モジュール管理基盤
22 モジュール群A
23 モジュール群B
24 バンドルa
25 バンドルb
26、29 バンドルc
27 バンドルd
28 バンドルe
50 バンドル情報テーブル
60 シンボリックネーム変更管理テーブル
71 モジュール管理基盤A
72 モジュール群A
73 モジュール管理基盤B
74 モジュール群B
101、111、141、161 モジュール管理基盤C
113 モジュール群D
142 モジュール群E
162 モジュール群J
163 モジュール群K
170 空バンドルz
171 バンドルzj
172 バンドルzk
Claims (9)
- オブジェクト指向言語で記述されたプログラムからなるモジュール及び前記モジュールの属性を含む定義情報を有するバンドルを配置したフォルダを走査するフォルダ走査部と、
前記バンドルの読み込みを行うロード処理部と、
前記バンドルの参照関係を整合させる依存解決処理部と、
前記バンドルの情報を格納する情報格納部と、
前記バンドルの前記定義情報を変更する定義変更部と、
前記定義変更部で変更された前記定義情報によって衝突が起こるか否かを検知する衝突検知部と、を備え、
前記バンドルと、複数の前記バンドルからなるモジュール群と、を一元管理するモジュール管理基盤の起動時において前記バンドルを前記フォルダからロードする際に、
異なる前記バンドル間で前記定義情報が衝突する場合、
前記定義変更部は、前記定義情報を動的に変更し、
前記依存解決処理部は、前記バンドルの参照関係を整合し、
前記衝突検知部は、前記ロード処理部によってロード済みの前記バンドルの第1の定義情報と、前記フォルダ走査部によって検出された未処理の前記バンドルの第2の定義情報とが衝突するか否かを検証し、
前記第1の定義情報と前記第2の定義情報とが衝突する場合、
前記定義変更部は、前記第2の定義情報を新たな第3の定義情報に変更し、
前記依存解決処理部は、前記第1の定義情報と前記第3の定義情報との参照関係を整合し、
前記情報格納部は、前記第3の定義情報に関する情報及び参照関係を更新することを特徴とするモジュール管理装置。 - 前記定義情報は、前記バンドルのシンボリックネームであることを特徴とする請求項1に記載のモジュール管理装置。
- 前記定義変更部は、前記シンボリックネームを変更する際に、前記バンドルが格納されている前記フォルダの名前に応じた記号を前記シンボリックネームに付与することを特徴とする請求項2に記載のモジュール管理装置。
- さらに、異なる前記バンドル間におけるお互いの参照関係と前記シンボリックネームとを含む第1のテーブルと、
前記バンドルのファイルパスに対応させた前記定義情報の変更履歴を含む第2のテーブルと、を備え、
前記第1及び第2のテーブル上の前記定義情報を変更することを特徴とする請求項3に記載のモジュール管理装置。 - 前記バンドルを外部のアプリケーションによって共有化できるように格納する共通フォルダと、前記バンドルを外部のアプリケーションによって共有化されないように格納する個別フォルダとから、前記バンドルをロードする際に、
前記共通フォルダからは前記バンドルを公開できる状態でロードし、前記個別フォルダからは前記バンドルを公開されない状態でロードすることを特徴とする請求項1乃至4のいずれか一項に記載のモジュール管理装置。 - 同一の前記モジュール群に含まれる複数の前記バンドルを、前記共通フォルダと前記個別フォルダに振り分けてロードすることを特徴とする請求項5に記載のモジュール管理装置。
- 定義情報及びモジュール格納部分が空白である空バンドルに、複数の前記バンドルに含まれるモジュールを前記バンドルの参照関係を維持したままで配置し、前記空バンドルに対して衝突が起こらない定義情報を与え、前記定義情報の参照関係を整合することを特徴とする請求項1乃至6のいずれか一項に記載のモジュール管理装置。
- 前記モジュール管理装置を備えることを特徴とする請求項1乃至7のいずれか一項に記載のモジュール管理システム。
- オブジェクト指向言語で記述されたプログラムからなるモジュール及び前記モジュールの属性を含む定義情報を有するバンドルを配置したフォルダを走査し、
前記バンドルの読み込みを行い、
前記バンドルの参照関係を整合させ、
前記バンドルの情報を格納し、
前記バンドルの前記定義情報を変更し、
変更された前記定義情報によって衝突が起こるか否かを検知し、
前記バンドルと、複数の前記バンドルからなるモジュール群と、を一元管理するモジュール管理基盤の起動時において前記バンドルを前記フォルダからロードする際に、
異なる前記バンドル間で前記定義情報が衝突する場合、
前記定義情報を動的に変更し、前記バンドルの参照関係を整合し、
ロード済みの前記バンドルの第1の定義情報と、検出された未処理の前記バンドルの第2の定義情報とが衝突するか否かを検証し、
前記第1の定義情報と前記第2の定義情報とが衝突する場合、
前記第2の定義情報を新たな第3の定義情報に変更し、
前記第1の定義情報と前記第3の定義情報との参照関係を整合し、
前記第3の定義情報に関する情報及び参照関係を更新することを特徴とするモジュール管理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012206416A JP6102136B2 (ja) | 2012-09-20 | 2012-09-20 | モジュール管理装置、モジュール管理システム及びモジュール管理方法 |
US14/028,662 US9274759B2 (en) | 2012-09-20 | 2013-09-17 | Module management apparatus, module management system and module management method |
CN201310430522.0A CN103677894B (zh) | 2012-09-20 | 2013-09-18 | 模块管理设备、模块管理***和模块管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012206416A JP6102136B2 (ja) | 2012-09-20 | 2012-09-20 | モジュール管理装置、モジュール管理システム及びモジュール管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014063237A JP2014063237A (ja) | 2014-04-10 |
JP6102136B2 true JP6102136B2 (ja) | 2017-03-29 |
Family
ID=50275863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012206416A Active JP6102136B2 (ja) | 2012-09-20 | 2012-09-20 | モジュール管理装置、モジュール管理システム及びモジュール管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9274759B2 (ja) |
JP (1) | JP6102136B2 (ja) |
CN (1) | CN103677894B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223652B2 (en) * | 2014-04-08 | 2019-03-05 | Capital One Services, Llc | Systems and methods for an attribute generator tool workflow |
US9875119B2 (en) * | 2014-12-04 | 2018-01-23 | Business Objects Software Ltd. | Extensibility framework |
WO2017203524A1 (en) * | 2016-05-24 | 2017-11-30 | Twine Solutions Ltd. | System, machine and method for treating threads or parts thereof |
JP7510795B2 (ja) | 2020-06-22 | 2024-07-04 | 富士通株式会社 | ファイル出力プログラム、ファイル出力方法、及びファイル出力装置 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2811990B2 (ja) * | 1991-04-19 | 1998-10-15 | 三菱電機株式会社 | プログラム処理装置及びプログラム処理方法 |
US5519862A (en) * | 1993-02-26 | 1996-05-21 | Taligent, Inc. | Concurrent processing apparatus with incremental command objects |
JPH076026A (ja) * | 1993-05-28 | 1995-01-10 | Xerox Corp | 構成管理及び構成要素の互換性保証方法、ならびに常駐ソフトウェアと移行ソフトウェアの非互換性の排除方法 |
US5692184A (en) * | 1995-05-09 | 1997-11-25 | Intergraph Corporation | Object relationship management system |
US6564369B1 (en) * | 1998-08-20 | 2003-05-13 | Pearson Technical Software, Inc. | Conflict checking using configuration images |
FI991167A (fi) * | 1999-05-24 | 2000-11-25 | Nokia Mobile Phones Ltd | Menetelmä käyttöliittymäohjelmiston lataamiseksi |
US7882501B1 (en) * | 1999-08-13 | 2011-02-01 | Oracle America, Inc. | System and method for enabling dynamic modifed class reloading in an application server environment |
US6601234B1 (en) * | 1999-08-31 | 2003-07-29 | Accenture Llp | Attribute dictionary in a business logic services environment |
US6442748B1 (en) * | 1999-08-31 | 2002-08-27 | Accenture Llp | System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment |
US6385722B1 (en) * | 2000-01-27 | 2002-05-07 | Sun Microsystems, Inc. | Method, system, and article of manufacture for limiting access to program files in a shared library file |
JP3555858B2 (ja) * | 2000-03-23 | 2004-08-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムの編集方法、シングルパッケージ化システム、プログラム開発システム、プログラムの身元情報付加システム及び記憶媒体 |
US7676788B1 (en) * | 2003-03-25 | 2010-03-09 | Electric Cloud, Inc. | Architecture and method for executing program builds |
US7765592B2 (en) * | 2004-01-10 | 2010-07-27 | Microsoft Corporation | Changed file identification, software conflict resolution and unwanted file removal |
US20060161989A1 (en) * | 2004-12-13 | 2006-07-20 | Eran Reshef | System and method for deterring rogue users from attacking protected legitimate users |
US20060161898A1 (en) * | 2005-01-18 | 2006-07-20 | Brian Bauman | Method and system for project library dependency management |
US7895566B2 (en) * | 2005-03-10 | 2011-02-22 | Research In Motion Limited | System and method for building a deployable component based application |
US20060248121A1 (en) * | 2005-04-15 | 2006-11-02 | Michael Cacenco | System and method for supporting packaging, publishing and republishing of wireless component applications |
US7818733B2 (en) * | 2005-09-27 | 2010-10-19 | International Business Machines Corporation | Improving bundle control in computing environment |
US8065660B1 (en) * | 2006-05-12 | 2011-11-22 | Cisco Technology, Inc. | Method and system for run-time customization of network management applications |
US20080209393A1 (en) * | 2007-02-28 | 2008-08-28 | Tomas Evensen | System and method to automatically detect incompatible licensing models |
US7890945B2 (en) * | 2007-05-31 | 2011-02-15 | International Business Machines Corporation | Method for versioning classes loaded in an OSGi-enabled J2EE environment |
US8296733B2 (en) * | 2007-09-20 | 2012-10-23 | Siemens Aktiengesellschaft | Systems, devices, and/or methods for managing program logic units |
US9477462B2 (en) * | 2008-01-16 | 2016-10-25 | Oracle International Corporation | System and method for software product versioning packaging, distribution, and patching |
US8230389B2 (en) * | 2008-04-30 | 2012-07-24 | International Business Machines Corporation | OSGi dynamic bundle generation at runtime |
JP5396821B2 (ja) * | 2008-11-05 | 2014-01-22 | ソニー株式会社 | 情報処理装置、情報処理方法及びプログラム |
US8769482B2 (en) * | 2008-12-16 | 2014-07-01 | International Business Machines Corporation | Method and system for building an application |
US8015450B1 (en) * | 2009-03-26 | 2011-09-06 | Symantec Corporation | Systems and methods for detecting and automatically installing missing software components |
US8863074B2 (en) * | 2010-01-27 | 2014-10-14 | Oracle International Corporation | Software modeling framework |
CN102364922A (zh) * | 2010-05-21 | 2012-02-29 | 上海繁云信息科技有限公司 | 一种解决多网互联时ip冲突的方法 |
US8560895B2 (en) * | 2010-05-26 | 2013-10-15 | Tibco Software Inc. | Distillation and reconstruction of provisioning components |
JP2012093979A (ja) | 2010-10-27 | 2012-05-17 | Hitachi Solutions Ltd | OSGiバンドル及びデプロイメントパッケージ自動作成システム、自動作成方法及び自動作成ツール |
US8813031B2 (en) * | 2012-03-02 | 2014-08-19 | Oracle International Corporation | System and method for automatically resolving dependencies of Java Archive files for use with Maven |
US8739124B2 (en) * | 2012-06-27 | 2014-05-27 | Sap Ag | Configuring integration capabilities for system integration |
-
2012
- 2012-09-20 JP JP2012206416A patent/JP6102136B2/ja active Active
-
2013
- 2013-09-17 US US14/028,662 patent/US9274759B2/en active Active
- 2013-09-18 CN CN201310430522.0A patent/CN103677894B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103677894A (zh) | 2014-03-26 |
CN103677894B (zh) | 2018-06-05 |
JP2014063237A (ja) | 2014-04-10 |
US20140082589A1 (en) | 2014-03-20 |
US9274759B2 (en) | 2016-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019215B (zh) | 多重租赁数据库***中的键模式管理 | |
CN110147369B (zh) | 多重租赁数据库***中的数据分离和写入重新定向 | |
CN106775723B (zh) | 基于Android平台的***固件定制的方法和Android设备 | |
TWI566180B (zh) | 一種動態創建可附加和可拆除二進位檔案的系統和方法 | |
US8516442B2 (en) | Graphical user interface metadata evolution tool | |
US10684846B2 (en) | Using semantic annotations to control compatibility behaviors | |
CN101470621A (zh) | 虚拟机配置*** | |
RU2571592C2 (ru) | Способ и система управления статическими структурами данных унаследованного программного обеспечения в средах динамических загрузчиков классов | |
CN101027639A (zh) | 用于在软件应用程序储存库内提取和创建应用程序元信息的***和方法 | |
JP2019040626A (ja) | オブジェクト指向スクリプトツールをサポートするシステムおよび方法 | |
JP6102136B2 (ja) | モジュール管理装置、モジュール管理システム及びモジュール管理方法 | |
US10303449B2 (en) | Compiling non-native constants | |
US10649744B1 (en) | Systems and methods for handling renaming of programming constructs in programming environments | |
EP4348417A1 (en) | Deploying a cloud service based on component dependencies | |
CN113515303B (zh) | 一种项目转型方法、装置和设备 | |
US20170003958A1 (en) | Non-transitory computer-readable recording medium, information processing device, and information processing method | |
CN111813836A (zh) | 一种提高Ethereum区块链***扩展性的方法 | |
US20150269248A1 (en) | Importing metadata into metadata builder | |
WO2014064545A1 (en) | Maintaining integrity of output of code generators | |
US20100251212A1 (en) | Version Type Traversal | |
US10768912B1 (en) | Platform class creation | |
US20240231664A9 (en) | Refresh of stale reference to physical file locations | |
US20240134555A1 (en) | Refresh of stale reference to physical file locations | |
US8453108B1 (en) | Static, configurable kernel interface | |
CN117851515A (zh) | 一种静态、动态分析相结合的智能合约状态提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150824 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160712 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160829 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161216 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20161227 |
|
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: 20170131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6102136 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |