JP6479184B2 - コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置 - Google Patents
コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置 Download PDFInfo
- Publication number
- JP6479184B2 JP6479184B2 JP2017527634A JP2017527634A JP6479184B2 JP 6479184 B2 JP6479184 B2 JP 6479184B2 JP 2017527634 A JP2017527634 A JP 2017527634A JP 2017527634 A JP2017527634 A JP 2017527634A JP 6479184 B2 JP6479184 B2 JP 6479184B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- source code
- reverse engineering
- target
- converting
- 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
- 238000012407 engineering method Methods 0.000 title claims description 37
- 238000006243 chemical reaction Methods 0.000 claims description 139
- 230000006870 function Effects 0.000 claims description 31
- 238000010200 validation analysis Methods 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 17
- 230000009466 transformation Effects 0.000 claims description 4
- 230000014509 gene expression Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 20
- 238000000034 method Methods 0.000 description 19
- 230000008859 change Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000012925 reference material Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/74—Reverse engineering; Extracting design information from source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- 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/75—Structural analysis for program understanding
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
Claims (21)
- ソースコードを受信するステップと、
前記ソースコードを目標モデルに変換するための変換規則を受信するステップと、
前記ソースコードと連関されたパーサを介して前記ソースコードをパースして特定データ構造を有するパースデータをメモリに格納するステップと、
前記格納されたパースデータをメタモデルに変換するステップと、
前記メタモデルを前記受信した変換規則によって目標モデルに変換するステップと、
前記目標モデルを受信し、所望のソースコード生成のための環境設定を行うステップと、
前記目標モデルのモデル要素を読み込んで、当該モデル要素がソースコード生成対象要素であるかを確認するステップと、
前記ソースコード生成対象であるモデル要素を当該モデル要素が有している前記環境設定に基づいた妥当性検証規則によって検証を行うステップと、
前記検証規則に適合したときに、ソースコードを生成するステップと、
を含むコンピュータ実行可能なモデルリバースエンジニアリング方法。 - 前記変換された目標モデルをUML(Unified Modeling Language)標準に合う形態に再度変換してファイルに記録するステップをさらに含むことを特徴とする請求項1に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。
- 前記変換規則を受信するステップは、
ソース変換規則、モデル変換規則、命名規則、及び関係設定規則で構成される変換規則を受信するステップを含むことを特徴とする請求項1に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。 - 前記メタモデルを前記受信した変換規則によって目標モデルに変換するステップは、
前記変換規則によってソースコードの特定要素または目標モデルの特定要素を指定して変換するステップを含むことを特徴とする請求項3に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。 - 前記パースデータをメモリに格納するステップは、
前記ソースコードのプログラミング言語種類に応じて他のデータ構造を有するデータにパースするステップを含むことを特徴とする請求項1に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。 - 前記格納されたパースデータをメタモデルに変換するステップは、前記ソースコードの種類及びプログラム言語に関係なく、ソースコードの全ての要素を特定データ構造で表すメタモデルに変換するステップを含むことを特徴とする請求項1に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。
- 前記変換規則によって関心対象でないソースコードを変換対象から除くステップを含むことを特徴とする請求項1に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。
- UMLで表現され得ないソースコード情報に対する別の変換規則を受信するステップを含むことを特徴とする請求項1に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。
- 前記UMLが表現できないソースコード情報に対してメッセージ(message)ライフライン、例外処理(exception)ライフライン、妥当性検証(validation)ライフライン、またはコード(code)ライフラインのうち、少なくとも1つにメッセージを生成するステップをさらに含むことを特徴とする請求項8に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。
- 前記ソースコードの全ての情報が前記目標モデルに含まれているか検証するステップをさらに含むことを特徴とする請求項1に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。
- 前記メタモデルを前記受信した変換規則によって目標モデルに変換するステップは、
前記メタモデルを前記受信した変換規則によってソースモデルに変換するステップと、
前記ソースモデルを前記目標モデルに変換するためのモデル−to−モデル変換規則を受信するステップと、
前記モデル−to−モデル変換規則によって前記ソースモデルを前記目標モデルに変換するステップと、
を含むことを特徴とする請求項1に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。 - 前記ソースコード生成のための環境設定を行うステップは、
前記目標モデルの要素及び各要素別の変換規則を登録し、
変換規則の実行条件を指定して環境設定を行うステップを含むことを特徴とする請求項1に記載のコンピュータ実行可能なモデルリバースエンジニアリング方法。 - モデルリバースエンジニアリング可能なプログラムが格納されたメモリ部と、
前記プログラムを実行するプロセッサと、
を備え、
前記プロセッサは、
入力されたソースコードをパーサを介して特定データ構造を有するパースデータにパースし、
パースされたデータをメタモデルに変換し、
前記メタモデルを入力された変換規則によって目標モデルに変換し、
前記変換された目標モデルを用いてソースコードを生成し、
前記目標モデルを受信し、所望のソースコード生成のための環境設定を行い、
前記目標モデルのモデル要素を読み込んで、当該モデル要素がソースコード生成対象要素であるかを確認し、
前記ソースコード生成対象であるモデル要素を当該モデル要素が有している前記環境設定に基づいた妥当性検証規則によって検証を行い、
前記検証規則に適合したときに、ソースコードを生成する、
モデルリバースエンジニアリング装置。 - 前記プロセッサは、
ソースコードを受信し、前記ソースコードを目標モデルに変換するための変換規則を受信し、
パースされた特定データ構造を有するパースデータをメモリに格納する請求項13に記載のモデルリバースエンジニアリング装置。 - 前記プロセッサは、
前記ソースコードのプログラミング言語種類に応じて他の形態のデータ構造を有するデータにパースすることを特徴とする請求項14に記載のモデルリバースエンジニアリング装置。 - 前記プロセッサは、
前記ソースコードの種類及びプログラム言語に関係なく、ソースコードの全ての要素を特定データ構造で表すメタモデルに変換することを特徴とする請求項14に記載のモデルリバースエンジニアリング装置。 - 前記プロセッサは、
UMLが表現できないソースコード情報に対する別の変換規則を受信することを特徴とする請求項14に記載のモデルリバースエンジニアリング装置。 - 前記プロセッサは、
ソースモデルを受信し、目標モデルに変換するためのモデル−to−モデル変換規則によって前記ソースモデルを目標モデルに変換することを特徴とする請求項13に記載のモデルリバースエンジニアリング装置。 - 前記プロセッサは、
ソースモデルの正規化された名前及び目標モデルの正規化された名前で構成されるモデル−to−モデル変換規則を受信することを特徴とする請求項18に記載のモデルリバースエンジニアリング装置。 - 前記プロセッサは、
前記目標モデルの要素及び各要素別の変換規則を登録し、
変換規則の実行条件を指定して環境設定を行うことを特徴とする請求項13に記載のモデルリバースエンジニアリング装置。 - ソースコードを受信する機能と、
前記ソースコードを目標モデルに変換するための変換規則を受信する機能と、
前記ソースコードと連関されたパーサを介して前記ソースコードをパースして特定データ構造を有するパースデータをメモリに格納する機能と、
前記格納されたパースデータをメタモデルに変換する機能と、
前記メタモデルを前記受信した変換規則によって目標モデルに変換する機能と、
前記目標モデルを受信し、所望のソースコード生成のための環境設定を行う機能と、
前記目標モデルのモデル要素を読み込んで、当該モデル要素がソースコード生成対象要素であるかを確認する機能と、
前記ソースコード生成対象であるモデル要素を当該モデル要素が有している前記環境設定に基づいた妥当性検証規則によって検証を行う機能と、
前記検証規則に適合したときに、ソースコードを生成する機能と、
を含むことを特徴とするモデルリバースエンジニアリング方法をコンピュータで実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0167334 | 2014-11-27 | ||
KR20140167334 | 2014-11-27 | ||
KR1020150163109A KR101770292B1 (ko) | 2014-11-27 | 2015-11-20 | 컴퓨터 수행 가능한 모델 역공학 방법 및 장치 |
KR10-2015-0163109 | 2015-11-20 | ||
PCT/KR2015/012587 WO2016085213A1 (ko) | 2014-11-27 | 2015-11-23 | 컴퓨터 수행 가능한 모델 역공학 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017535887A JP2017535887A (ja) | 2017-11-30 |
JP6479184B2 true JP6479184B2 (ja) | 2019-03-06 |
Family
ID=56193028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017527634A Active JP6479184B2 (ja) | 2014-11-27 | 2015-11-23 | コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6479184B2 (ja) |
KR (1) | KR101770292B1 (ja) |
CN (1) | CN107148615A (ja) |
SG (1) | SG11201704087RA (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110574005B (zh) * | 2017-02-01 | 2021-06-08 | 西门子工业软件有限责任公司 | 用于验证软件程序的方法和*** |
CN108399081B (zh) * | 2018-02-09 | 2021-01-26 | 广州洋葱时尚集团有限公司 | 一种MyBatis逆向工程生成器 |
KR102132659B1 (ko) * | 2018-06-21 | 2020-07-10 | 포항공과대학교 산학협력단 | 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법 |
CN111309486B (zh) * | 2018-08-10 | 2024-01-12 | 中科寒武纪科技股份有限公司 | 转换方法、装置、计算机设备和存储介质 |
CN109614091A (zh) * | 2018-10-09 | 2019-04-12 | 中国平安人寿保险股份有限公司 | 代码自动生成方法、装置、电子设备及存储介质 |
CN110347394B (zh) * | 2019-06-11 | 2023-03-10 | 无线生活(杭州)信息科技有限公司 | 软件代码解析方法及装置 |
CN112764763B (zh) * | 2020-12-31 | 2024-01-26 | 亿企赢网络科技有限公司 | 一种代码转换方法、***、设备及计算机可读存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038393A (en) * | 1997-09-22 | 2000-03-14 | Unisys Corp. | Software development tool to accept object modeling data from a wide variety of other vendors and filter the format into a format that is able to be stored in OMG compliant UML representation |
WO2003036469A2 (en) * | 2001-10-26 | 2003-05-01 | Codagen Technologies Inc. | A template-based method and system for reverse engineering |
KR100463833B1 (ko) | 2001-12-29 | 2004-12-29 | 한국전자통신연구원 | 컴포넌트 자동 변환 시스템 및 방법 |
JP2005242479A (ja) * | 2004-02-24 | 2005-09-08 | Toshiba Corp | データ変換装置及びデータ変換用プログラム |
US7409675B2 (en) | 2004-02-27 | 2008-08-05 | Microsoft Corporation | Code rewriting |
JP4524750B2 (ja) * | 2004-11-11 | 2010-08-18 | 日本電気株式会社 | モデル駆動開発装置、モデル駆動開発方法及びモデル駆動開発プログラム |
WO2006087728A1 (en) * | 2005-02-15 | 2006-08-24 | Codito Technologies | System for creating parallel applications |
JP2008225898A (ja) * | 2007-03-13 | 2008-09-25 | Toshiba Corp | 変換装置、変換プログラム及び変換方法 |
JP5203806B2 (ja) * | 2008-06-06 | 2013-06-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シーケンス図作成装置、シーケンス図作成方法及びコンピュータプログラム |
JP2010140408A (ja) * | 2008-12-15 | 2010-06-24 | Nomura Research Institute Ltd | ソースコード変換装置 |
WO2012057170A1 (ja) * | 2010-10-27 | 2012-05-03 | 株式会社日立製作所 | ソースコード変換方法およびソースコード変換プログラム |
JP4820924B1 (ja) * | 2011-02-07 | 2011-11-24 | 株式会社エヌ・ティ・ティ・データ | リバースエンジニアリング支援装置、リバースエンジニアリング支援方法及びそのプログラム |
CN103092594B (zh) * | 2011-11-07 | 2016-01-20 | 金蝶软件(中国)有限公司 | 模型转换方法及装置 |
JP5929297B2 (ja) * | 2012-02-21 | 2016-06-01 | 富士電機株式会社 | モデル図作成装置、モデル図作成方法、およびモデル図作成プログラム |
US9311081B2 (en) * | 2012-10-19 | 2016-04-12 | International Business Machines Corporation | Generating and employing operational abstractions of transforms |
CN103164230B (zh) * | 2013-04-15 | 2017-04-19 | 西安电子科技大学 | 一种基于新特征模型的需求建模及模型转换方法 |
-
2015
- 2015-11-20 KR KR1020150163109A patent/KR101770292B1/ko active IP Right Grant
- 2015-11-23 SG SG11201704087RA patent/SG11201704087RA/en unknown
- 2015-11-23 CN CN201580059251.XA patent/CN107148615A/zh active Pending
- 2015-11-23 JP JP2017527634A patent/JP6479184B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
KR20160063990A (ko) | 2016-06-07 |
KR101770292B1 (ko) | 2017-08-22 |
JP2017535887A (ja) | 2017-11-30 |
CN107148615A (zh) | 2017-09-08 |
SG11201704087RA (en) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6479184B2 (ja) | コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置 | |
JP5197688B2 (ja) | 統合環境生成器 | |
EP3433732B1 (en) | Converting visual diagrams into code | |
CN107291450B (zh) | 一种编程友好型的敏捷代码自动生成方法 | |
CN107273117B (zh) | 一种编程友好型的敏捷代码自动生成*** | |
JP5350428B2 (ja) | 自動プログラム生成装置、方法及びコンピュータプログラム | |
CN103218294B (zh) | 一种嵌入式***的调试方法、调试转换装置和*** | |
CN106547681B (zh) | 数据自动加载并复用模拟服务测试的方法和装置 | |
US8589877B2 (en) | Modeling and linking documents for packaged software application configuration | |
US8756407B2 (en) | Configuration rule prototyping tool | |
CN106951305B (zh) | 一种基于模型转换由QVT-R语言生成midCore脚本的方法 | |
WO2017033441A1 (ja) | システム構築支援システム、方法および記憶媒体 | |
JP2007122135A (ja) | 開発支援装置、開発支援方法、および、開発支援プログラム | |
US9652478B2 (en) | Method and apparatus for generating an electronic document schema from a relational model | |
Schippers et al. | Leveraging UML profiles to generate plugins from visual model transformations | |
Irwin et al. | Object oriented metrics: Precision tools and configurable visualisations | |
JP2008225898A (ja) | 変換装置、変換プログラム及び変換方法 | |
US10606569B2 (en) | Declarative configuration elements | |
US20230072988A1 (en) | System and a method for automatic generation of smart contracts across blockchain platforms | |
Silingas et al. | UML-intensive framework for modeling software requirements | |
WO2014094534A1 (zh) | 一种基于文件字典拼装的文件开发工具装置以及方法 | |
WO2016085213A1 (ko) | 컴퓨터 수행 가능한 모델 역공학 방법 및 장치 | |
Trias et al. | Reverse engineering applied to CMS-based Web applications coded in PHP: A proposal of migration | |
KR100846203B1 (ko) | 모바일 어플리케이션의 생성 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 | |
CN110737431A (zh) | 软件开发方法、开发平台、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170522 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170522 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180515 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180814 |
|
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: 20190129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6479184 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |