JP2006003939A - Software life cycle management method and software life cycle management device - Google Patents
Software life cycle management method and software life cycle management device Download PDFInfo
- Publication number
- JP2006003939A JP2006003939A JP2004176444A JP2004176444A JP2006003939A JP 2006003939 A JP2006003939 A JP 2006003939A JP 2004176444 A JP2004176444 A JP 2004176444A JP 2004176444 A JP2004176444 A JP 2004176444A JP 2006003939 A JP2006003939 A JP 2006003939A
- Authority
- JP
- Japan
- Prior art keywords
- software
- space
- abstract
- life cycle
- cell
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 40
- 238000013461 design Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000012423 maintenance Methods 0.000 claims abstract description 58
- 238000012360 testing method Methods 0.000 claims abstract description 37
- 230000014509 gene expression Effects 0.000 claims description 94
- 230000008569 process Effects 0.000 claims description 41
- 238000011161 development Methods 0.000 claims description 38
- 239000000853 adhesive Substances 0.000 claims description 34
- 230000001070 adhesive effect Effects 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 19
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 238000007670 refining Methods 0.000 claims description 4
- 238000005304 joining Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 73
- 238000003860 storage Methods 0.000 abstract description 8
- 230000001413 cellular effect Effects 0.000 abstract description 6
- 210000004027 cell Anatomy 0.000 description 86
- 230000006870 function Effects 0.000 description 54
- 230000000386 athletic effect Effects 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 238000004519 manufacturing process Methods 0.000 description 15
- 230000010354 integration Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 9
- 238000000354 decomposition reaction Methods 0.000 description 7
- 230000007547 defect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000004880 explosion Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 230000003449 preventive effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 210000004692 intercellular junction Anatomy 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 210000004460 N cell Anatomy 0.000 description 1
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000021164 cell adhesion Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
この発明はソフトウエアライフサイクル管理技術、とくに、複数の異なるオブジェクト集合間でデータの一貫性維持、インタフェイスの確定その他の処理をなすことのできるソフトウエアライフサイクル管理装置およびソフトウエアライフサイクル管理方法に関する。 The present invention relates to a software life cycle management technique, and in particular, a software life cycle management apparatus and a software life cycle management method capable of maintaining data consistency among a plurality of different object sets, determining an interface, and other processes. About.
「ソフトウエア工学」(Software Engineering)という用語は、1968年のNATO会議で最初に使われたといわれる。この会議において討議されたソフトウエア設計法、プロジェクト管理、技術者教育、ソフトウエアの価格および流通の4つの項目は、今なお、ソフトウエア工学の中心課題である(非特許文献1参照)。 The term “Software Engineering” is said to have been first used at the 1968 NATO Conference. The four items discussed in this meeting, software design method, project management, engineer education, software price and distribution, are still central issues in software engineering (see Non-Patent Document 1).
ソフトウエアライフサイクル管理は、要求分析・仕様、設計、実装、テスト、運用、および保守の各段階からなる。最初の要求分析が甘く、顧客の要求を取りこぼしたり、取り違えたりすると、それ以降のシステム設計、実装に顧客の要求が正しく反映されない。そのため、テストや運用段階で発見された不具合を修正するために、プログラムを改良したり、大規模な変更の場合はシステム設計をやり直すなど、ソフトウエアの保守に大変な時間と労力がかかる。最悪の場合、保守に耐えられないソフトウエアは廃棄されることもあり、最初から開発をやり直すことになる。このように、ソフトウエアの開発プロセスの初期段階において、要求分析に時間と労力を惜しむと、保守段階においてコストがかかり、開発プロセスをトータルでみた場合に、全体のコストが肥大する。 Software lifecycle management consists of the following stages: requirements analysis / specification, design, implementation, testing, operation, and maintenance. If the initial requirements analysis is unsatisfactory and the customer's requirements are missed or misunderstood, the customer's requirements will not be correctly reflected in the subsequent system design and implementation. For this reason, it takes a lot of time and effort to maintain the software, such as improving the program or redesigning the system in the case of a large-scale change, in order to correct defects found in the test or operation stage. In the worst case, software that cannot withstand maintenance may be discarded, and development will start over. As described above, if time and effort are spent in the requirement analysis in the initial stage of the software development process, the cost is increased in the maintenance stage, and the total cost increases when the development process is viewed in total.
ソフトウエアの伝統的なライフサイクルモデルの一つに、1970年に提案されたウォーターフォールモデルがある。ウォーターフォールモデルでは、ソフトウエア製品は、要求分析から始まり、システム設計、プログラム設計、プログラム実装、単体・結合テスト、システムテスト、運用、保守に至るまでシーケンシャルに開発されるものと考え、ソフトウエアの開発のアクティビティをモデル化している。 One of the traditional software life cycle models is the waterfall model proposed in 1970. In the waterfall model, software products are considered to be developed sequentially from requirements analysis to system design, program design, program implementation, unit / combination testing, system testing, operation, and maintenance. Model development activities.
ウォーターフォールモデルは、直線的な開発モデルであり、ある段階は次の段階を開始する前に完了する必要があり、複数の段階にまたがった繰り返しは想定されない。ウォーターフォールモデルは、最初の段階ですべての要求仕様を明確に定めることを要求し、不確実性に対応することはできない。顧客の要求が仕様の決定後やプログラムの設計段階で変更されても、ウォーターフォールモデルでは新しい要求に柔軟に対応することができない。通常、ソフトウエアは試行錯誤しながら多くの繰り返しを経て開発されるため、繰り返しを前提としない直線的な開発モデルはおよそ現実的ではない。そのため、ウォーターフォールモデルは今日、非常に大規模なソフトウエアの開発モデルとして用いられることはあっても、一般的には利用されていない。これらのよく知られたウォーターフォールモデルの限界は、最近米国で行われたソフトウエアエンジニアリングに関するサーベイにおいても指摘されている(非特許文献2参照)。 The waterfall model is a linear development model, where one stage needs to be completed before starting the next stage, and no iterations across multiple stages are assumed. The waterfall model requires that all required specifications be clearly defined in the first stage and cannot cope with uncertainties. Even if customer requirements change after specification is determined or at the design stage of the program, the waterfall model cannot flexibly respond to new requirements. Since software is usually developed through many iterations through trial and error, a linear development model that does not assume repetition is not practical. Therefore, even though the waterfall model is used as a very large-scale software development model today, it is not generally used. The limitations of these well-known waterfall models have been pointed out in a survey on software engineering recently conducted in the United States (see Non-Patent Document 2).
情報システム構築は、たとえば大手銀行の統合に伴う統合システムに典型的にみられるように、単一大規模サイト向けから、複数分散大規模サイト向けに加速度的に移行しつつある。ところが、その基盤技術となっている現在のソフトウエア工学、リエンジニアリング技術において、これに対応するための基本的枠組みとしてのエンジニアリングモデルが欠落している。その理由は、統合方法がモデルレベルで欠如しているために、各サイト構築担当のエンジニアが個々にモジュール群を工夫して設計・構築している点にある。このために、モジュール群仕様がサイト毎に自ずと異なる。モジュール群の仕様が相互に開示されれば、再構築も可能であるが、モジュールの数の組み合わせにより指数関数的に再構築システム数が増え、いわゆる「開発工数爆発」が生じる。しかも、実際には、企業機密保持上モジュール群の仕様が開示されない場合のほうが多い。この場合、モジュール間のインタフェイス作成情報が開示されるものの、インタフェイス数も組み合わせにより指数関数的に増加するので、一層「開発工数爆発」の様相が顕著となる。
ソフトウエアの効率的な開発と保守を支援するための理論的基礎となるエンジニアリングモデルが欠如しているために、要求分析からシステム設計、実装、テスト、保守に至るまでのソフトウエアライフサイクルのスムーズな流れが滞り、ソフトウエア開発が遅延し、また、運用段階で不測の事態が発生しやすいためリスク管理が難しく、ソフトウエアの保守にかかるコストが増大している。 Smooth software lifecycle from requirements analysis to system design, implementation, testing, and maintenance due to the lack of a theoretical engineering model to support efficient software development and maintenance The flow of software is slow, software development is delayed, and unforeseen situations are likely to occur at the operation stage, making it difficult to manage risk and increasing the cost of software maintenance.
国内外には、リレーショナル・データベ−ス(RDB)モデル、ERモデル、タグによるXML、グラフによるUMLなどが研究され応用されているが、大規模分散情報システムを構築する理論的基礎としてはモデル的に完全とはいえず、例えばモジュール間のインタフェイス仕様が、異なるサイト間で統一的に取り扱える理論体系になっていない。したがって、前述の「開発工数爆発」は解決できない。 In Japan and overseas, relational database (RDB) models, ER models, XML with tags, UML with graphs, etc. have been studied and applied, but they are modeled as the theoretical basis for constructing large-scale distributed information systems. For example, the interface specification between modules is not a theoretical system that can be handled uniformly among different sites. Therefore, the above-mentioned “development of development man-hours” cannot be solved.
また、各国において昨今の厳しい経済状況もあり、会社統合が増加の一途をたどっているが、異なる情報システム間で整合性をもって情報処理を自在に行えること、すなわち、情報システムのインターオペラビリティが確保されないため、情報システムの運用と保守の費用が増大している。 In addition, due to the recent severe economic situation in each country, company integration is steadily increasing, but it is possible to freely perform information processing with consistency between different information systems, that is, to ensure interoperability of information systems. As a result, information system operation and maintenance costs are increasing.
大規模システムのコストの半分から2/3は保守費用であると言われており、保守はシステムを導入した企業にとって大きなコスト要因となっている。特に稼働中のシステムに不具合が生じた場合、保守は企業の存続に関わる問題となることもあり、大変なリスクを伴う。ソフトウエアに変更を加えるコストは、その変更が要求仕様の決定段階あるいはシステムやプログラムの設計段階で行われるのであれば、比較的低いが、ソフトウエアが出荷され、運用されてからの変更の場合、コストはとてつもなく大きくなる。したがって、できるだけ早い段階で要求仕様や設計の不具合を見つけ、運用後の変更を少なくする必要がある。また、運用・保守段階での変更は、たとえ一部の変更であっても、他のソフトウエアの部分に影響を与えることもあり、変更は複雑で慎重を要する作業となる。ソフトウエアの保守を効率的に行うことが、ソフトウエアの全体コストを削減する上できわめて重要である。 It is said that half to 2/3 of the cost of a large-scale system is maintenance cost, and maintenance is a major cost factor for companies that have introduced the system. In particular, when a malfunction occurs in an operating system, maintenance may become a problem related to the survival of the company, and it involves a great risk. The cost of making changes to the software is relatively low if the changes are made at the required specification decision stage or system or program design stage, but in the case of changes since the software was shipped and operated The cost is tremendous. Therefore, there is a need to find the required specifications and design defects at the earliest possible stage and reduce changes after operation. In addition, changes in the operation / maintenance stage may affect other software parts even if they are partly changed, and the change is complicated and requires careful work. Efficient software maintenance is extremely important in reducing the overall cost of software.
本発明はこうした背景からなされたものであり、その目的は、ソフトウエア部品のインターオペラビリティを線形モデルとして保証して、ソフトウエアの開発、試験、および保守の自動化を支援することのできるソフトウエアライフサイクル管理技術を提供することにある。 The present invention has been made from this background, and its purpose is to ensure software interoperability as a linear model and support software development, testing and maintenance automation. It is to provide life cycle management technology.
本発明のある態様はソフトウエアライフサイクル管理方法に関する。この方法は、ソフトウエア部品集合間の線形インターオペラビリティを保証するインクリメンタリモジュラな抽象階層モデルを利用して、ソフトウエアの開発工程から試験工程を経て、保守工程に至るまでのライフサイクルを一貫して管理する。 One embodiment of the present invention relates to a software life cycle management method. This method uses an incremental and modular abstract hierarchical model that guarantees linear interoperability between software component sets, and consistently extends the life cycle from software development to testing and maintenance. And manage.
「ソフトウエア部品」は、本装置により自動生成されるソフトウエアを構成する部品であり、ソフトウエアで利用されるデータ、ソフトウエアを構成するプログラムなどを含む。 The “software component” is a component constituting software automatically generated by the apparatus, and includes data used by the software, a program constituting the software, and the like.
本発明の別の態様はソフトウエアライフサイクル管理装置に関する。この装置は、ソフトウエア部品集合間の線形インターオペラビリティを保証するインクリメンタリモジュラな抽象階層モデルを利用した、ソフトウエアの開発機能ブロック、試験機能ブロック、および保守機能ブロックを備え、ソフトウエアのライフサイクルを前記抽象階層モデルにもとづいて一貫して管理する。 Another aspect of the present invention relates to a software lifecycle management apparatus. This device has software development function blocks, test function blocks, and maintenance function blocks using an incremental and modular abstract hierarchical model that guarantees linear interoperability between software component sets. Cycles are managed consistently based on the abstract hierarchical model.
この装置によれば、複数のソフトウエア部品集合の間で同値関係を規定し、その同値関係を不変量として抽象階層間で継承しながら、各抽象階層において段階的にソフトウエア部品集合の満たすべき仕様を設計することができる。集合レベル、位相空間レベル、接着空間レベル、セル空間レベル、表現レベル、およびビューレベルを通して、同値関係が保証され、最終的にソフトウエアが数学的に整合性のある形で生成される。また、各抽象階層はモジュール化されており、ソフトウエア部品の追加、削除、および修正などを行っても、抽象階層を上下に行き来しながら、インクリメンタルに設計変更することができる。さらに、ソフトウエア部品集合に対してなされる操作をホモトピーとして扱うことにより、ソフトウエア部品集合を変化前の状態と変化後の状態の間で相互に移行させることができ、数学的な整合性を維持しながら、ソフトウエアの部品化、再利用、デバッグなどの開発工程を支援することができる。 According to this apparatus, an equivalence relationship is defined between a plurality of software component sets, and the equivalence relationship should be satisfied in stages in each abstract layer while inheriting the equivalence relationship between the abstract layers as an invariant. Specification can be designed. Through the aggregation level, phase space level, adhesion space level, cell space level, representation level, and view level, equivalence relations are guaranteed, and finally the software is generated in a mathematically consistent manner. In addition, each abstract layer is modularized, and even if software parts are added, deleted, and modified, the design can be incrementally changed while going up and down the abstract layer. Furthermore, by handling operations performed on the software component set as homotopy, the software component set can be shifted between the state before the change and the state after the change. While maintaining the software, development processes such as software componentization, reuse, and debugging can be supported.
この装置によれば、ソフトウエアの試験に関して、開発工程により生成されたソフトウエアが各抽象階層において詳細化された仕様に合致するか否かをテストし、発見された問題に応じていずれかの抽象階層もどって開発工程を繰り返すことができ、抽象階層を利用して効率的な試験工程を支援することができる。さらに、ソフトウエアの保守に関して、運用中のソフトウエアに修正もしくは機能拡張の必要があった場合に、その修正もしくは機能拡張を行うべき抽象階層にもどって開発工程を繰り返すことにより、抽象階層を利用して効率的な保守工程を支援することができる。 According to this device, with regard to software testing, it is tested whether the software generated by the development process conforms to detailed specifications in each abstract hierarchy, and one of them is determined depending on the problem found. The development process can be repeated by returning to the abstract hierarchy, and an efficient test process can be supported using the abstract hierarchy. In addition, regarding software maintenance, when there is a need to modify or extend the function of the operating software, the abstract layer is used by repeating the development process by returning to the abstract layer where the modification or function should be performed. Thus, an efficient maintenance process can be supported.
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラム、データ構造などの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements and a representation of the present invention converted between a method, apparatus, system, recording medium, computer program, data structure, etc. are also effective as an aspect of the present invention.
本発明によれば、情報システムのインターオペラビリティを保証し、ソフトウエア開発、試験、および保守を含むソフトウエアライフサイクルの管理の効率化を図ることができる。 According to the present invention, it is possible to guarantee the interoperability of an information system and to improve the efficiency of software life cycle management including software development, testing, and maintenance.
以下本発明を好適な実施の形態をもとに説明する。まず、本発明者が提唱するインクリメンタリモジュラな抽象階層(incrementally modular abstraction hierarchy)を説明し、その後、インクリメンタリモジュラな抽象階層を実装した情報処理装置を説明する。 Hereinafter, the present invention will be described based on preferred embodiments. First, an incrementally modular abstraction hierarchy proposed by the present inventor will be described, and then an information processing apparatus equipped with the incremental modular abstraction hierarchy will be described.
[1]集合論的設計
まず、サイバースペースに構築すべきオブジェクトの集まりを定義することからサイバーワールドの設計を始める。そのような集まりに対してインテリジェントマシンとしてコンピュータを使った自動操作の実行が可能であるためには、各集まりは「集合(set)」でなければならない。なぜなら、コンピュータは集合論的機械として構築されているからである。直観的に、集合Xは、同一のプロパティP(x)をもったすべてのオブジェクトxの集まりである。これを記号で表すなら、X={x|P(x)}である。集合に含まれる任意のオブジェクトを元または要素(element)という。要素をもたない集合を空集合φという。すべての要素が内部(interior)であるならば、その集合は開集合であるという。集合XとYが与えられたとき、コンピュータは、和(union)X∪Y、積または共通部分(intersection)X∩Y、差(difference)X−Y(x\yとも書く)、否定(negation)¬Xのような集合論的演算を施す。
[1] Set-theoretic design First, we begin the design of the cyber world by defining a collection of objects to be constructed in cyberspace. In order to be able to perform automated operations using such a computer as an intelligent machine, each group must be a “set”. This is because computers are built as set-theoretic machines. Intuitively, the set X is a set of all objects x having the same property P (x). If this is represented by a symbol, X = {x | P (x)}. Any object included in the set is called a source or element. A set having no elements is called an empty set φ. A set is an open set if all elements are interior. Given the sets X and Y, the computer calculates the union X∪Y, the product or intersection X∩Y, the difference XY (also written x \ y), negation. ) Set theoretical operations like ¬X.
最初のサイバースペースとして集合Xからサイバースペースアーキテクチャの設計を始めるとしよう。未知のサイバースペースUのすべての要素uが与えられたとき、もしそれらの要素がすべてサイバースペースXの要素であることが確かめられたならば、その未知のサイバースペースをXの部分集合、すなわちXの部分サイバースペースと呼び、U⊆Xと表記する。部分集合であるかどうかは、(∀u)(u∈U→u∈X)を処理することで自動的に調べることができる。Uの閉包(closure)
[2]位相幾何学的設計
これから、サイバースペースをXの(複数の)部分サイバースペースとその重複(overlap)の和として設計する作業に入る。このように設計されるサイバースペースは一般に位相(トポロジー)空間(X,T)と呼ばれる。ここでT⊆2Xである。位相空間の設計は次の仕様により自動化される。
1)X∈Tかつφ∈T;
2)任意の添え字の集合Jに対して、
∀j∈J(Uj∈T)→∪j∈JUj∈T;
3)U,V∈T→U∩V∈T.
[2] Topological design From now on, we will begin to design cyberspace as the sum of X partial cyberspaces and their overlap. Cyberspace designed in this way is generally called phase (topology) space (X, T). Here is a T⊆2 X. The design of the phase space is automated with the following specifications:
1) X∈T and φ∈T;
2) For any subscript set J,
∀j∈J (U j ∈T) → ∪j∈J U j ∈T ;
3) U, VεT → U∩VεT.
上記の設計仕様の1)は、空集合と全体集合がTの要素であること、2)は、Tの要素をいくつもってきて和をとってもTの要素であること、3)は、Tの2つの要素の積(共通部分)もTの要素であることを示している。コンピュータは、Xの巾集合2Xからこの設計仕様を満たすようにTを設計する。 Of the above design specifications, 1) is that the empty set and the entire set are elements of T, 2) is the element of T even if a number of T elements are added and summed, and 3) The product (common part) of the two elements also indicates that it is an element of T. The computer designs T from the width set 2 X of X to satisfy this design specification.
Tを位相空間(X,T)の位相(トポロジー)という。T1⊂T2である2つの位相T1とT2が与えられたとき、T1はT2よりも弱いまたは小さいという。逆に、T2はT1よりも強いまたは大きいという。またT2はT1よりも細かい、あるいはT1はT2よりも粗いということもある。明らかなように最も強い位相は離散位相すなわち巾集合であり、最も弱い位相は空集合φである。簡単のため、あいまいさが生じないならば、位相空間を表すために(X,T)の代わりにXをしばしば用いる。 T is called the phase (topology) of the phase space (X, T). Given two phases T1 and T2, which are T1⊂T2, T1 is said to be weaker or smaller than T2. Conversely, T2 is said to be stronger or larger than T1. T2 may be finer than T1, or T1 may be coarser than T2. As is apparent, the strongest phase is the discrete phase, ie, the width set, and the weakest phase is the empty set φ. For simplicity, if ambiguity does not occur, X is often used instead of (X, T) to represent phase space.
2つの位相空間(X,T)と(Y,T')が与えられたとき、いかにして(X,T)と(Y,T')が同値であるということができるだろうか。コンピュータを使って、それらの空間が位相幾何学的に同値であることを自動的に検証(validate)するための基準をここに与える。2つの位相空間(X,T)と(Y,T')は、連続な関数f:(X,T)→(Y,T')が存在し、かつその逆関数も存在して連続であるならば、トポロジー同値(topologically equivalent)、すなわち同相、同位相または位相同形(homeomorphic)であるという。(X,T)が(Y,T')と同相であることを
それでは、関数fの連続性はどのように立証することができるか。最初に、∀B∈T',f−1(B)∈Tであることを調べる。ここでf−1(B)はfによるBの逆像を意味する。次に、以下が成り立つことを調べる。
Bが開である⇔f−1(B)もまたXにおいて開である。
How can we prove the continuity of the function f? First, it is checked that ∀B∈T ′, f −1 (B) ∈T. Here, f −1 (B) means an inverse image of B by f. Next, it is examined that the following holds.
⇔ f −1 (B) where B is open is also open at X.
[3]関数
関数f:X→Yが与えられたとき、全域関数(total function)と部分関数(partial function)が存在する。関数f:X→Yに対して、∀x∈X、∃f(x)であるとき、そしてそのときに限り、関数fは全域関数であるという。関数f:X'→Y|X'⊇Xを部分関数といい、このときf(x)は必ずしもあらゆるx∈Xに対して存在しているとは限らない。
[3] Function When function f: X → Y is given, there are a total function and a partial function. For function f: X → Y, when ∀x∈X, ∃f (x), and only when that is the case, the function f is said to be a global function. The function f: X ′ → Y | X′⊇X is called a partial function. At this time, f (x) does not necessarily exist for every x∈X.
全域関数に対して、3つの基本的なタイプの関係あるいは写像が存在する。
1.単射(injectiveまたはinto)
∀x,y∈X,x≠y⇒f(x)≠f(y)
言い換えれば、
∀x,y∈X,f(x)=f(y)⇒x=y
2.全射(surjectiveまたはonto)
(∀y∈Y)(∃x∈X)[f(x)=y]
3.全単射(bijective)
単射かつ全射であること
There are three basic types of relationships or mappings for global functions.
1. Injective or into
∀x, y∈X, x ≠ y⇒f (x) ≠ f (y)
In other words,
∀x, y∈X, f (x) = f (y) ⇒x = y
2. Surjective or onto
(∀y∈Y) (∃x∈X) [f (x) = y]
3. Bijective
Be shot and shot
[4]同値関係
集合X上の任意の2項関係R⊆X×Xに対して、Rは、
1)(∀x∈X)[xRx]ならば、反射性があり、
2)(∀x,y∈X)[xRy⇒yRx]ならば、対称性があり、
3)(∀x,y,z∈X)[[xRy⇒yRx]⇒xRz]ならば、推移性があるという。1)〜3)の条件は、それぞれ反射律、対称律、推移律と呼ばれる。
[4] Equivalence relation For any binary relation R⊆X × X on set X, R is
1) If (∀x∈X) [xRx], it is reflective,
2) If (∀x, y∈X) [xRy⇒yRx], there is symmetry,
3) If (∀x, y, zεX) [[xRy⇒yRx] ⇒xRz], it is said that there is transitivity. The conditions 1) to 3) are referred to as reflection rule, symmetry rule, and transition rule, respectively.
Rが反射性、対称性、推移性をもつとき、Rを同値関係(equivalence relation)と呼び、〜で表記する。 When R has reflectivity, symmetry, and transitivity, R is called an equivalence relation and is represented by “˜”.
x∈Xが与えられたとき、x/〜={y∈X:x〜y}で定義されるXの部分集合をxの同値類(equivalent class)と呼ぶ。ここで類(class)は実際には集合を意味するが、伝統的に類(クラス)と呼ばれており、今となっては変更するのは難しい。すべての同値類の集合X/〜をXの商空間(quotient space)もしくは等化空間(identification space)という。
X/〜={x/〜∈2X|x∈X}⊆2X
推移律より、各x∈X、x/〜≠φについて、以下が成り立つ。
X / ˜ = {x / ˜ε2 X | xεX} ⊆2 X
From the transition rule, the following holds for each x∈X and x / ˜ ≠ φ.
一般に、集合Xの上に同値関係〜が定義されたとき、あるXの要素aに対してaに同値である要素をすべて集めた集合を考えることができる。このXの部分集合は、aを代表要素とする同値類であり、[a]と表記される。ここで、同値類に含まれる要素のうちどれを取っても、それを代表要素とする同値類は同じ集合になる。すなわち、同値類は代表要素の取り方によらない。同値類が反射律、対称律、および推移律を満たすことより、各同値類は空ではなく、aの同値類にはaが属し、相異なる同値類には共通の要素がない。したがって、同値類をすべて集めると、それらは互いに交わらず、また全体の和集合はXに等しくなる。つまり、集合Xは同値類の直和(disjoint union)に分割される。この直和分割を集合Xの同値関係Rに関する類別(classification)といい、同値類全体の集合を集合Xの同値関係〜による商集合と呼ぶ。商集合に位相が定義されたものを上記のように商空間という。 In general, when the equivalence relation is defined on the set X, a set in which all elements having the same value as a can be considered for an element a of X can be considered. This subset of X is an equivalence class having a as a representative element, and is represented as [a]. Here, no matter which element is included in the equivalence class, the equivalence class having it as a representative element becomes the same set. In other words, equivalence classes do not depend on how to take representative elements. Since equivalence classes satisfy the reflection law, symmetry law, and transition law, each equivalence class is not empty, a belongs to the equivalence class of a, and different equivalence classes have no common elements. Thus, if you collect all equivalence classes, they do not cross each other, and the total union is equal to X. That is, the set X is divided into disjoint unions of equivalence classes. This direct sum division is called classification related to the equivalence relation R of the set X, and the set of all equivalence classes is called a quotient set by the equivalence relation of the set X. A product whose phase is defined in a quotient set is called a quotient space as described above.
簡単な例で説明する。Xを有理整数の集合とし、Xの要素x、yの関係Rとして、「x−yが偶数である」を考えると、これは同値関係である。集合Xをこの同値関係Rで類別すれば、集合Xは、奇数の同値類と偶数の同値類の直和に分割される。 A simple example will be described. If X is a set of rational integers and the relation R between the elements x and y of X is “x is even,” this is an equivalence relation. If the set X is classified by the equivalence relation R, the set X is divided into a direct sum of an odd equivalence class and an even equivalence class.
ユークリッド幾何学において、図形の集合が与えられたとき、合同関係は同値関係であり、図形の集合全体を、商空間として、合同な図形からなる部分集合の直和に分割する。また、相似関係も同値関係であり、図形の集合全体を、商空間として、相似な図形からなる部分集合の直和に分割する。合同関係と相似関係はアフィン変換の例である。群論における対称関係は、図形の集合全体を、商空間として、対称な図形からなる部分集合の直和に分割する。 In Euclidean geometry, when a set of figures is given, the congruence relation is an equivalence relation, and the whole figure set is divided into direct sums of subsets of congruent figures as a quotient space. The similarity relationship is also an equivalence relationship, and the entire figure set is divided into a direct sum of a subset of similar figures as a quotient space. The congruence relation and the similarity relation are examples of affine transformation. Symmetric relationships in group theory divide the entire set of figures into a direct sum of a subset of symmetrical figures as a quotient space.
電子商取引では、「電子商品であること」は同値関係であるが、「電子取引」は半順序(partially ordered)関係であることに留意する。集合X上の2項関係Sは、次の3つの条件を満たすとき、半順序関係である。
1)(∀x∈X)[xSx](反射律)
2)(∀x,y∈X)[xSy,ySx⇒x=y](反対称律)
3)(∀x,y,z∈X)[[xSy⇒ySz]⇒xSz](推移律)
Note that in electronic commerce, “being an electronic product” is an equivalence relationship, but “electronic transaction” is a partially ordered relationship. The binary relation S on the set X is a partial order relation when the following three conditions are satisfied.
1) (∀x∈X) [xSx] (reflection rule)
2) (∀x, y∈X) [xSy, ySx⇒x = y] (Anti-Symmetry)
3) (∀x, y, zεX) [[xSy⇒ySz] ⇒xSz] (transition rule)
半順序関係をもつ集合を半順序集合(partially ordered set)と呼び、頭文字を取って、しばしばポセット(poset)ともいう。集合の2つの要素x、yがxSyか、ySxのいずれかであるとき、比較可能であるという。どの2つの要素も比較可能な半順序集合を全順序集合(totally ordered set)という。 A set having a partial order relationship is called a partially ordered set, and is often referred to as a poset. A comparison is said to be possible when the two elements x, y of the set are either xSy or ySx. A partially ordered set that can compare any two elements is called a totally ordered set.
電子取引の関係は、売り手と買い手の関係が非対称であり、対称律を満たさず、反対称律を満たすため、半順序関係となる。一方、電子商品であるという関係は、売り手にとっての電子商品は買い手にとっての電子商品でもあるから、対称であり、同値関係となる。 The relationship between electronic transactions is a semi-order relationship because the seller-buyer relationship is asymmetric and does not satisfy the symmetry rule but satisfies the anti-symmetric rule. On the other hand, the relationship of being an electronic product is symmetric and equivalent because the electronic product for the seller is also the electronic product for the buyer.
同値関係について強弱を定義することができる。1つの集合Xにおける2つの同値関係R、Sについて、xRy⇒xSyであるとき、RはSより強い、SはRより弱いという。また、Rによる類別はSによる類別より細かい、Sによる類別はRによる類別より粗いという。最も強い同値関係は、「同じものである」という同値関係であり、最も弱い同値関係は、Xの任意の2つの要素が同値であるとする同値関係である。 You can define strengths for equivalence relationships. For two equivalence relations R and S in one set X, when xRy⇒xSy, R is stronger than S and S is weaker than R. The classification by R is finer than the classification by S, and the classification by S is coarser than the classification by R. The strongest equivalence relation is an equivalence relation of “same thing”, and the weakest equivalence relation is an equivalence relation in which any two elements of X are equivalent.
[5]商空間(等化空間)
Xを位相空間とする。fを全射かつ連続な写像であって、各点x∈Xを、xを含む部分集合である同値類x/〜∈X/〜に写像する商写像(quotient map)(しばしば等化写像(identification map)とも呼ばれる)であるとする。
f:X→X/〜
ここで、既に説明したように、「写像f:X→Yが全射である」とは、
(∀y∈Y)(∃x∈X)[f(x)=y]
を意味する。
[5] Commercial space (equalization space)
Let X be the phase space. A quotient map (often an equalization map (frequently), where f is a surjective and continuous mapping, and each point x∈X maps to an equivalence class x / ~ ∈X / ~ that is a subset containing x It is also called identification map).
f: X → X / ˜
Here, as already explained, “the mapping f: X → Y is surjective”
(∀y∈Y) (∃x∈X) [f (x) = y]
Means.
Xの部分集合X0⊆Xに対して、
X0が開である⇔f−1(X0)|y∈AがXにおいて開である(これはfが連続であることを意味する)
が成り立つような全射写像fを考えた場合、X/〜を商写像(または等化写像)fによる商空間(または等化空間)と呼ぶ。商空間が等化空間とも呼ばれる理由がある。それは、既に述べたように、商空間は、各要素である同値類x/〜∈X/〜を、x/〜に含まれる点x∈Xと同一視することにより得られるからである。
For a subset X 0 ⊆X of X,
⇔ f −1 (X 0 ) | y∈A where X 0 is open is open at X (this means that f is continuous)
X / ˜ is called a quotient space (or equalization space) by a quotient map (or equalization map) f. There is a reason why the quotient space is also called equalization space. This is because, as already described, the quotient space is obtained by identifying the equivalence class x / ˜∈X / ˜ that is each element with the point x∈X included in x / ˜.
[6]接着空間
一般に、集合Aと集合Bに共通の要素がない、すなわちA∩B=φのとき、AとBは互いに素(mutually disjoint)であるという。互いに素である集合Aと集合Bの和集合Cを特に直和(disjoint union)(別名、「排他的論理和」)といい、
さて、位相空間Xから始めて、これに別の位相空間Yを接着する。図1は、2つの互いに素である位相空間X、Yから接着空間が生成される様子を説明する図である。
接着写像fは、f:Y0→Xである連続写像である。ただしY0⊂Yである。このように、接着空間
[7]制限と包含
任意の関数g:Y→Zに対して、gのX(X⊆Y)への制限(restriction)とは、
i:X→Yは、包含(inclusion)である。すなわち
∀x∈X,i(x)=x
である。
[7] Restriction and inclusion For any function g: Y → Z, the restriction of g to X (X⊆Y) is
It is.
[8]連続写像のエクステンションとレトラクション
位相空間X、Yと、部分空間A⊂Xに対して、f|A:A→Yを満たす連続写像f:X→YをAからXへの写像f|Aの連続エクステンション(または単にエクステンション)という。エクステンションは部分関数である。
[8] Extension and retraction of continuous map For phase space X, Y and subspace A⊂X, continuous map f: X → Y is mapped from A to X satisfying f | A: A → Y | A continuous extension (or simply extension). An extension is a partial function.
制限(restriction)rは、r:X→Aを満たす恒等写像1A:A→Aの連続エクステンションである。したがって、r|A=1Aである。 The restriction r is a continuous extension of identity map 1 A : A → A that satisfies r: X → A. Therefore, r | A = 1 A.
A⊂Xに対して、
もし、Aがただ一つの点A={a}⊂Xであるならば、Aはレトラクト可能(retractable)といい、
If A is a single point A = {a} ⊂X, then A is said to be retractable,
[9]ホモトピー
ホモトピーはエクステンションの一例である。X、Yを位相空間、f,g:X→Yを連続写像、I=[0,1]とする。ホモトピーは、次のように設計される。
H:X×I→Y
ただし、t∈Iに対して、
t=0のとき、H=f
t=1のとき、H=g
が成り立つ。このとき、fはgにホモトピックであるという。
[9] Homotopy Homotopy is an example of an extension. Let X, Y be a phase space, f, g: X → Y be a continuous map, and I = [0, 1]. The homotopy is designed as follows.
H: X × I → Y
However, for t∈I,
When t = 0, H = f
When t = 1, H = g
Holds. At this time, f is said to be a homotopic to g.
ホモトピーは連続写像のエクステンションであり、
H|X×{0}=fi0
H|X×{1}=gi1
ここで
i0=X×{0}→X
i1=X×{1}→X
Homotopy is an extension of continuous mapping,
H | X × {0} = fi 0
H | X × {1} = gi 1
Where i 0 = X × {0} → X
i 1 = X × {1} → X
さて、ホモトピーレベルにおける位相空間の設計について述べる。2つの位相空間XとYがホモトピー同値(homotopically equivalent)
2つの連続写像f:X→Yおよびh:Y→Xに対して、
ホモトピー同値も同値関係の一例であるが、ホモトピー同値はトポロジー同値よりも広い概念である。ホモトピー同値は、変化の後、位相幾何学的にはもはや同値ではなくなる情報の変化を同定することができる。情報はいろいろな操作や処理により変化するが、その操作および処理はホモトピーによって指定され、情報の変化はホモトピー同値によって検証される。事実、不変性(invariance)という抽象の観点からは、ホモトピー同値は集合論的同値よりも抽象性が高い。なぜなら、与えられた集合を要素の追加や削除によって変化させるとき、追加や削除の操作手順と追加もしくは削除された要素を保存することにより、集合をホモトピー同値にすることができるからである。また、後述のセル分解もホモトピー同値になるように行うことにより、セル分解を逆にたどって分解前の状態に戻すことが可能になる。 Although homotopy equivalence is an example of equivalence relation, homotopy equivalence is a broader concept than topology equivalence. Homotopy equivalence can identify changes in information that are no longer topologically equivalent after change. Information changes with various operations and processes, but the operations and processes are specified by homotopy, and changes in information are verified by homotopy equivalence. In fact, from the abstract point of view of invariance, homotopy equivalence is more abstract than set-theoretical equivalence. This is because when a given set is changed by adding or deleting elements, the set can be made homotopy equivalent by saving the operation procedure of addition or deletion and the added or deleted elements. In addition, by performing the cell decomposition described later so as to have the same homotopy value, it is possible to reverse the cell decomposition and return to the state before the decomposition.
[10]セル構造空間(セル空間)設計
セル(cell)は任意の次元(たとえばn次元、ただしnは自然数)の閉球(閉のnセルと呼ぶ)とトポロジー同値(すなわち同相)である位相空間Xである。
[10] Cell structure space (cell space) design A cell (cell) is a phase that is topologically equivalent (ie, in-phase) to a closed sphere (called a closed n-cell) of any dimension (for example, n dimensions, where n is a natural number). Space X.
閉のnセル(closed n-cell)を
開のnセル(open n-cell)を
閉のnセル
開のnセル
位相空間Xに対して、特性写像(characteristic map)
位相空間Xから、整数集合Zによってインデックスが与えられた、Xの部分空間であるセルXpの有限または無限の系列{Xp|Xp⊆X,p∈Z}を構成することができる。これは、フィルトレーション(filtration)と呼ばれ、次の条件を満たす。XpはXの被覆(covering)、すなわちX=∪p∈ZXpであり、かつ、Xp−1はXpの部分空間、すなわちX0⊆X1⊆X2⊆…⊆Xp−1⊆Xp⊆…⊆X(これはスケルトン(skeleton)と呼ばれる)である。最大p次元のスケルトンはp−スケルトンと呼ばれる。 From the phase space X, a finite or infinite sequence {X p | X p ⊆X, pεZ} of cells X p that are subspaces of X, indexed by the integer set Z, can be constructed. This is called filtration and satisfies the following conditions. X p is the covering of X, ie X = ∪ pεZ X p , and X p−1 is the subspace of X p , ie X 0 ⊆X 1 ⊆X 2 ⊆ ... ⊆ X p− 1 ⊆X p ⊆... ⊆X (this is called a skeleton). The maximum p-dimensional skeleton is called a p-skeleton.
C={Xp|XP⊂X,p∈Z}を位相空間Xのセル分解(cell decomposition)、あるいは、位相空間Xの、閉セルである部分空間Xpへの分割(partition)という。(X,C)はCW複体(CW-complex)と呼ばれる。 C = {X p | X P ⊂X, pεZ} is referred to as cell decomposition of the phase space X, or division of the phase space X into a partial space X p that is a closed cell. (X, C) is called a CW-complex.
セル接着写像を保存しながらセル分解を行うとき、セル空間を再利用可能な資源に変えることができる。そのような保存され、共有された情報をセルデータベース(cellular database)と名付け、セルデータベースを管理するシステムをセルデータベース管理システム(cellular database management system または cellular DBMS)と名付ける。 When performing cell decomposition while preserving cell adhesion maps, the cell space can be turned into a reusable resource. Such stored and shared information is named a cellular database, and a system that manages the cell database is named a cellular database management system or cellular DBMS.
より正確には、J. H. C. Whitehead, "Algebraic Homotopy Theory", Proceedings of International Congress of Mathematics, II, Harvard University Press, pp. 354-357, 1950によれば、位相空間Xが与えられたとき、スケルトンX0⊆X1⊆X2⊆…⊆Xp−1⊆Xp⊆…⊆XをもったフィルトレーションXpを以下の条件を満たす位相空間として帰納的に構成することができる。
(1)X0⊂Xは、その要素がXの0次元セルである部分空間であり、かつ
(2)XpはXp−1から次のようにして作られる。すなわち、Xpは、接着写像と呼ばれる全射かつ連続な写像
(1) X 0 ⊂X is a subspace whose elements are 0-dimensional cells of X, and (2) X p is created from X p−1 as follows. That is, X p is a surjective and continuous map called an adhesive map.
言い換えれば、Xpは、直和
によって、その像
By that statue
このように、Xpは商空間(quotient space)あるいは等化空間(identification space)であり、
フィルトレーション空間(filtration space)は、フィルトレーションとホモトピー同値な(homotopically equivalent)空間である。位相空間XとスケルトンX0⊆X1⊆X2⊆…⊆Xp−1⊆Xp⊆…⊆Xを合わせてCW空間(CW-space)と呼ぶ。セル複体としては、先に説明したように、これはCW複体(CW-complex)と呼ばれる。 Filtration space is a space that is homomotoly equivalent to filtration. The phase space X and the skeleton X 0 ⊆X 1 ⊆X 2 ⊆ ... ⊆X p-1 ⊆X p ⊆ ... ⊆X are collectively referred to as CW-space. As a cell complex, as described above, this is called a CW complex.
このようにして、写像
各nセル
Xp−1をXpの閉の部分空間として埋め込むことは
CW空間が微分同相(diffeomorphic)であるなら、これは多様体(manifold)空間と等価である。 If the CW space is diffeomorphic, this is equivalent to a manifold space.
サイバースペースに構築されるオブジェクトの属性をこのようなセルで表現した空間をセル構造空間(cellular structured space)もしくは単にセル空間(cellular space)という。セルモデリングでは、セルの次元を維持しながら、セル構築(composition)とセル分解(decomposition)が可能である。 A space in which the attributes of an object constructed in the cyber space are expressed by such cells is called a cellular structured space or simply a cellular space. Cell modeling allows cell composition and cell decomposition while maintaining cell dimensions.
セルの次元の例を述べる。たとえばサイバーワールドにおいて、ひとつの属性をもつオブジェクトは、ひとつの属性から他の属性へ移行することができないため、その自由度は0であり、したがってセルの次元は0である。このオブジェクトは、表現レベル(representation level)では点として表される。ここで、属性(attribute)とは、オブジェクトが本来有する特質や特徴を指定するための互いに独立な集合をいう。 An example of cell dimensions is given. For example, in the cyber world, an object having one attribute cannot be transferred from one attribute to another, so that its degree of freedom is 0, and therefore the cell dimension is 0. This object is represented as a point at the representation level. Here, an attribute is an independent set for designating characteristics and features inherent to an object.
属性をふたつ有するオブジェクトでは、一方の属性から他方の属性への移行が可能なため、その自由度は1であり、セルの次元も1である。このオブジェクトは、表現レベルにおいて直線として表すことができる。同様に、属性を3個または4個もつオブジェクトは、それぞれ自由度すなわち次元が2または3であり、それぞれ曲面または球として表現できる。一般に、n個の属性を有するオブジェクトはn−1の自由度を有し、次元はn−1である。これは、(n−1)次元の球として表現できる。リレーショナルモデルは、n個の属性をもつオブジェクトをリレーショナルスキーマとして表現し、そのインスタンスとしてn列のテーブルを生成する。リレーショナルモデルは集合の直積にもとづくものであり、したがってそれは集合論レベルにおける表現といえる。 In an object having two attributes, since the transition from one attribute to the other is possible, the degree of freedom is 1 and the dimension of the cell is also 1. This object can be represented as a straight line at the representation level. Similarly, an object having 3 or 4 attributes has 2 or 3 degrees of freedom, respectively, and can be expressed as a curved surface or a sphere, respectively. In general, an object having n attributes has n-1 degrees of freedom and a dimension of n-1. This can be expressed as a (n−1) -dimensional sphere. The relational model expresses an object having n attributes as a relational schema, and generates an n-column table as an instance thereof. The relational model is based on the Cartesian product of sets, so it can be said to be an expression at the set theory level.
セル空間は、接着空間に次元の概念を加えたものであり、セル空間設計では、接着空間におけるオブジェクトの属性の次元が規定される。同値類の直和である接着空間において、各同値類に含まれるオブジェクトの属性の次元に不整合がある場合、オブジェクトの属性の次元を調整する処理が行われる。 The cell space is obtained by adding the concept of dimension to the bonding space. In the cell space design, the dimension of the attribute of the object in the bonding space is defined. In the bonding space that is the direct sum of the equivalence classes, when there is a mismatch in the attribute dimensions of the objects included in each equivalence class, a process of adjusting the dimension of the object attributes is performed.
[11]表現設計
セル空間レベルでセルの次元が設計された後、表現レベルにおいてセルの表現(presentation)が設計される。表現設計では、オブジェクトの属性のデータ型や桁数などの表現形式が詳細化される。オブジェクトの属性の表現形式に不整合がある場合、表現形式を受容表現(Admissible Representation)に合わせる処理が行われる。オブジェクトの属性の表現形式の不整合には、たとえば、データ型または桁数の違いがあり、データ型変換や桁数変換により、その違いを解消することができる。
[11] Representation design After the cell dimensions are designed at the cell space level, the representation of the cell is designed at the representation level. In the expression design, the expression format such as the data type and the number of digits of the attribute of the object is detailed. When there is an inconsistency in the expression format of the attribute of the object, a process for matching the expression format with the admissible representation is performed. For example, there is a difference in the data type or the number of digits in the inconsistency in the expression format of the attribute of the object, and the difference can be eliminated by data type conversion or digit number conversion.
[12]ビュー設計
表現レベルでセルの属性の表現形式が詳細化された後、ビュー(view)、すなわちユーザが見ることのできる範囲が決められる。ユーザは、オブジェクトの集合のうち、関心のある部分だけを適当な形式で見たいという要求がある。また、セキュリティ上の理由などによりユーザが参照することのできる範囲を制限しなければならない。そのため、ビュー設計では、ユーザ向けに参照可能なオブジェクトの部分集合や、閲覧可能なオブジェクトの属性を制限したビューが決められる。
[12] View design After the expression format of the cell attribute is detailed at the expression level, the view, that is, the range that can be viewed by the user, is determined. The user has a request to view only a portion of the set of objects of interest in an appropriate format. In addition, the range that the user can refer to must be limited for security reasons. Therefore, in the view design, a subset of objects that can be referred to for the user and a view that restricts the attributes of objects that can be browsed are determined.
[13]インクリメンタリモジュラな抽象階層
これまで述べてきたホモトピー、集合、位相空間、接着空間、セル空間、表現、ビューの各抽象レベルは、インクリメンタリモジュラな抽象階層(incrementally modular abstraction hierarchy)を形成する。
1.ホモトピーレベル
2.集合論レベル
3.位相空間レベル
4.接着空間レベル
5.セル空間レベル
6.表現レベル
7.ビューレベル
[13] Incremental modular abstraction hierarchy The homotopy, set, phase space, adhesion space, cell space, representation, and view abstraction levels described so far form an incrementally modular abstraction hierarchy. To do.
1. Homotopy level Set theory level Phase space level 4. Adhesive space level Cell space level Expression level View level
これらの階層は、モジュール化されており、各階層においてインクリメンタルに情報を操作していくことが可能であり、サイバーワールドの不変量(invariant)を示す同値関係を階層的に継承する上できわめて有用である。 These hierarchies are modularized, allowing information to be manipulated incrementally in each hierarchy, and extremely useful for inheriting equivalence relations that indicate the invariant of the cyber world. It is.
まず、複数のオブジェクト集合の特定の要素について同値にする対象が選ばれる。次に、オブジェクト集合に位相が規定され、位相空間において同値関係が規定されることにより、複数のオブジェクト集合は、同値類の直和である接着空間として設計される。さらに、セル空間において同値セルとそれ以外のセルにセル分解されることにより、セル空間レベルまで同値関係が継承される。 First, a target to be equivalent to a specific element of a plurality of object sets is selected. Next, the phase is defined in the object set, and the equivalence relation is defined in the phase space, whereby the plurality of object sets are designed as an adhesive space that is the direct sum of the equivalence classes. Furthermore, by performing cell decomposition into an equivalent cell and other cells in the cell space, the equivalence relationship is inherited to the cell space level.
さらには、受容表現にもとづいてセルの表現形式を規定することにより表現レベルまで同値関係が継承され、最後にユーザのビューが規定されることによりビューレベルまで同値関係が継承される。表現レベルの1つのインスタンスとして、受容表現を規定するための受容表現レベルを設けておけば、オブジェクトを表現レベルで同値にすることができる。 Furthermore, the equivalence relation is inherited up to the expression level by defining the expression form of the cell based on the acceptance expression, and finally the equivalence relation is inherited up to the view level by defining the user's view. If a reception expression level for defining the reception expression is provided as one instance of the expression level, objects can be made equivalent at the expression level.
このようにインクリメンタリモジュラな抽象階層モデルでは、同値関係を抽象階層間で継承しながら、オブジェクトの満たすべき仕様を各階層において設計するため、情報の追加、削除、修正をインクリメンタルに行いながら、抽象階層間を行き来してオブジェクトの仕様を詳細化できる。また、こうして設計されたオブジェクトは再利用可能な形で部品化することができる。 In this way, the incremental modular abstract hierarchical model inherits equivalence relations between abstract hierarchies while designing the specifications to be satisfied by the object in each hierarchy, so that information is added, deleted, and modified incrementally. Go back and forth between hierarchies and refine object specifications. In addition, the object designed in this way can be made into parts in a reusable form.
集合Xの部分集合からなる集合Sにおいて、Sに属するすべての集合の和集合がXに等しいとき、Sを集合Xの被覆(covering)という。n個の情報システムの統合を行うとき、「経営上の業務統合決定」は、インクリメンタリモジュラな抽象階層の上で、n個の集合の被覆を作ることの決定がなされたことに相当する。ここで、業務は別々の機関のものであってもかまわない。n個の集合は一般には重なりがある。たとえば、複数の業務に同じ社員が参加することなどがあるからである。このn個の集合の被覆が、インクリメンタリモジュラな抽象階層間で継承されることにより、業務統合が実装される。言い換えれば、ホモトピーレベル、位相空間レベル、接着空間レベル、セル空間レベル、表現レベル、およびビューレベルのそれぞれで業務の被覆が生成されることが、業務統合になる。いったん被覆が生成されると、n個の情報システムの間の統合および操作は、インクリメンタリモジュラな抽象階層の上ですべて被覆を通して行われる。その結果、n個の情報システムの間の統合および操作は、いずれも線形になる。このように、インクリメンタリモジュラな抽象階層によれば、n個の情報システムの間で被覆という線形インタフェイスを構成して線形インターオペラビリティを実現することができる。 In a set S that is a subset of the set X, when the union of all sets belonging to S is equal to X, S is called covering of the set X. When integrating n information systems, the “business integration decision” corresponds to a decision to create a set of n sets on an incremental modular abstract hierarchy. Here, the work may be from different institutions. The n sets generally have overlap. For example, the same employee may participate in multiple tasks. Business integration is implemented by inheriting these n sets of coverings between the incremental modular abstract hierarchies. In other words, the business integration is that the business coverage is generated at each of the homotopy level, the phase space level, the adhesion space level, the cell space level, the expression level, and the view level. Once the covering is generated, integration and manipulation between the n information systems is all done through the covering on an incremental modular abstraction hierarchy. As a result, the integration and operation between the n information systems is all linear. As described above, according to the incremental modular abstract hierarchy, linear interoperability can be realized by configuring a linear interface called covering between n information systems.
また、インクリメンタリモジュラな抽象階層モデルにおける位相空間は、ハウスドルフ空間(Hausdorff space)すなわちT2位相空間に限られない。T2位相空間では、分離公理により、異なる2点が開集合で分離できるが、異なる2点を開集合で分離することのできないT0位相空間やT1位相空間であっても、同様に接着空間が設計できることに留意する。したがって、抽象階層モデルは、非常に汎用性が高いものである。 The phase space in incrementer Li modular abstraction hierarchy model is not limited to the Hausdorff space (Hausdorff space) i.e. T 2 phase space. In the T 2 phase space, two different points can be separated by an open set according to the separation axiom, but even in the T 0 phase space and the T 1 phase space where two different points cannot be separated by an open set. Note that space can be designed. Therefore, the abstract hierarchical model is very versatile.
接着空間は、主要な企業や公的機関で用いられている有力な商用の情報システムに共通した特性を接着空間という形で異なる情報システム間で同値になるように抽象化し、モデル構築する。このように、接着空間は、異種情報システムを線形統合することのできる斬新な情報モデルであり、統合作業量の組み合わせ爆発を避けることに大いに貢献する。接着空間レベルにおける線形統合後の線形インタフェイス生成の自動化のために、上記のインクリメンタリモジュラな抽象階層が用いられる。この抽象階層によれば、同値関係が下位の階層まで継承されるため、既存の情報システムに対するインタフェイスを与えて、統合システム規模のタスクを実行するための線形インターオペラビリティを実現することができる。 The bonding space abstracts the characteristics common to leading commercial information systems used by major companies and public institutions so as to be equivalent between different information systems in the form of bonding spaces, and builds a model. As described above, the bonding space is a novel information model capable of linearly integrating different kinds of information systems, and greatly contributes to avoiding combined explosion of integrated work amount. The incremental modular abstraction hierarchy described above is used to automate the generation of linear interfaces after linear integration at the adhesive space level. According to this abstract hierarchy, equivalence relations are inherited down to the lower hierarchy, so it is possible to provide an interface to an existing information system and realize linear interoperability for executing integrated system-scale tasks. .
比較のために、リレーショナルデータベースシステムを例に挙げて説明する。リレーショナルデータベースシステムにおいて、リレーションはタップルの集合である。リレーションに新たなタップルが挿入されたり、既にあるタップルが削除されたり、タップルの属性値が修正されることにより、リレーションは時間とともに変化していく。たとえば、リレーションとして「社員(社員番号,氏名,所属,入社年度)」を考える。新しい社員が入社した場合、リレーション「社員」にその社員を表すタップルを挿入しなければならない。一方、ある社員が退職すると、リレーション「社員」にその社員を表しているタップルを削除しなければならない。また、配置換えにより、ある社員の配属先が変わった場合、その社員のタップルにおいて属性「所属」の値を修正しなければならない。 For comparison, a relational database system will be described as an example. In a relational database system, a relation is a set of tuples. The relation changes over time as new tuples are inserted into the relation, existing taples are deleted, or attribute values of the tuples are modified. For example, “employee (employee number, name, affiliation, year of hire)” is considered as the relation. When a new employee joins the company, a tuple representing the employee must be inserted into the relation “Employee”. On the other hand, when a certain employee retires, the relation “employee” must delete the tuple representing the employee. Further, when the assignment destination of a certain employee changes due to the rearrangement, the value of the attribute “affiliation” must be corrected in the tuple of the employee.
このように、リレーショナルデータバースでは、タップルの挿入、削除、修正により、リレーションが時間とともに変化していく。しかしながら、リレーションには、社員の社員番号、氏名、所属、入社年度のデータを表しているという固有の性質があり、これは時間に対して不変である。リレーションにはこのように時間に対して不変な構造があり、これをリレーションスキーマと呼んでいる。 In this way, in relational data verses, relations change over time due to the insertion, deletion, and modification of tuples. However, relations have the inherent property of representing employee number, name, affiliation, and year of employment, which is invariant to time. Relations have a structure that does not change with time in this way, and this is called a relation schema.
リレーショナルデータベースモデルは、集合論にもとづくものであるから、位相空間のレベルで同値関係を定義することができない。したがって、複数の異なるデータベースを統合しようとすると、IDのつけなおしなど、データベースの再設計を行う必要があり、工数爆発の問題が起こる。それに対して、インクリメンタリモジュラな抽象階層モデルでは、上位概念で規定された同値関係を表現レベルまで落とし込むことができるため、複数の異なる情報システムの統合が線形操作で可能となる。すなわち情報システムの各要素のインタフェイスは、接着空間に一回変換するだけでとることができ、n要素でn回の変換でインターオペラビリティが保証され、インタフェイスの数は線形である。 Since the relational database model is based on set theory, an equivalence relation cannot be defined at the level of the topological space. Therefore, if a plurality of different databases are to be integrated, it is necessary to redesign the database such as reassigning the ID, which causes a problem of man-hour explosion. On the other hand, in the incremental modular abstract hierarchical model, the equivalence relation defined by the superordinate concept can be reduced to the expression level, so that integration of a plurality of different information systems is possible by linear operation. That is, the interface of each element of the information system can be obtained by converting it to the bonding space only once. Interoperability is ensured by n conversions of n elements, and the number of interfaces is linear.
このように、本発明の抽象階層モデルに対して、従来のリレーショナルモデルは、同値関係をモデル化していないため、情報の統一的な扱いができない。せいぜい、テーブル間の関係を示す別テーブルを、パッチを当てる要領で設けてインタフェイスをとろうとしているが、これではインタフェイスの数が指数関数的に増える。一方、ER(Entity Relation)モデルを基本とするSAP、UML(Unified Modeling Language)なども、これらはすべて直観的なグラフ理論モデルであり、そのモデル自身が同値関係を扱うことができないため、同様の問題が起こる。これが社会基盤情報システムの現状であり、システムが明確なインターオペラビリティをもたないことが大きな問題となっている。 As described above, since the conventional relational model does not model the equivalence relation with respect to the abstract hierarchical model of the present invention, the information cannot be handled in a unified manner. At best, another table showing the relationship between the tables is provided in the manner of applying a patch, and an interface is attempted, but this increases the number of interfaces exponentially. On the other hand, SAP and UML (Unified Modeling Language) based on ER (Entity Relation) model are all intuitive graph theory models, and the model itself cannot handle equivalence relations. Problems arise. This is the current state of social infrastructure information systems, and it is a big problem that the system does not have clear interoperability.
[14]応用例
[14.1]Web情報モデリング
通常、Web情報マネージメントシステムのやるべき仕事は、Webグラフィックスを用いて情報を可視化することを通して、人間の認識との間で非常に近い相互作用をもちながら、Web上の情報を管理することである。Webグラフィックスの仕事は、人間の理解のためにグラフィックススクリーンにいろいろなイメージを投影することである。人間は、ディスプレイ空間に表示されたイメージを人間の認識空間における認識対象物にリンクすることによって、表示されたイメージを理解している。しばしば、幾何学的に正確な表示であっても、サイバーワールドでは通常は本質的な情報ではない、優先度の低い幾何学的形状によって、人間の認識を誤りに導くことがある。Web情報マネージメントに対してWebグラフィックスは、サイバーワールドの変化に合った速度で、人間が即座に認識できるようにスクリーン上に重要なメッセージを伝えることができなければならない。以下、簡単な例を挙げて説明する。
[14] Application examples [14.1] Web information modeling Normally, the work to be done by the Web information management system is very close interaction with human recognition through visualizing information using Web graphics. It is to manage information on the Web. The job of Web graphics is to project various images on a graphics screen for human understanding. The human understands the displayed image by linking the image displayed in the display space to a recognition object in the human recognition space. Often, even geometrically accurate representations can lead to human perception errors due to low-priority geometric shapes that are not normally essential information in the cyber world. For Web information management, Web graphics must be able to convey important messages on the screen so that humans can instantly recognize them at a rate that matches the changes in the cyber world. Hereinafter, a simple example will be described.
[14.2]エレクトロニックファイナンスのWeb情報モデリング
エレクトロニックファイナンスにおいて、顧客Xが、Webサーフィンしているときに、金融取引会社YのホームページのWebページに投稿されている収益の期待できるファンドY0を見つけたとする。この時点では、顧客XはWebで「ウインドウショッピング」をしている段階であるから、顧客Xと取引会社Yはファンドをまだ共有していない。したがって、XとYは互いに素であり、共通要素を持たない。すなわち、
上記の接着空間モデルは、エレクトロニックマニュファクチャリングにおいてもまったく本質的に等しく適用することができる。エレクトロニックマニュファクチャリングプロセスを管理し、表示するために正確に同一の技術が要求される。エレクトロニックマニュファクチャリングが市場の需要に効果的に即応するためには、いかにしていろいろなサイズのコンポーネントを統一したデザインで組み立てるかを指定しなければならない。先に提示したエレクトロニックファイナンスは、顧客と取引会社をエレクトロニックマニュファクチャリングのコンポーネントとして組み立てることであると考えることにより、エレクトロニックファイナンスのためのWeb情報マネージメントシステムとWebグラフィックスは、実際にエレクトロニックマニュファクチャリングに適用可能となる。もし、異なるアプリケーションに異なる技術を使うとなると、急成長しているサイバーワールドは、タイムリーにWeb情報マネージメントシステムで管理することも、Webグラフィックスで表示することもできなくなる。 The above bonded space model can be applied essentially equally in electronic manufacturing. Exactly the same technology is required to manage and display the electronic manufacturing process. In order for electronic manufacturing to respond quickly to market demands, it must be specified how components of various sizes can be assembled in a unified design. Web information management system and Web graphics for electronic finance are actually electronic manufacturing, considering that the electronic finance presented above is assembling customers and trading companies as components of electronic manufacturing. It becomes applicable to. If different technologies are used for different applications, the rapidly growing cyber world cannot be managed in a timely manner by a Web information management system or displayed by Web graphics.
[14.3]エレクトロニックマニュファクチャリングのWeb情報モデリング
接着空間モデルによるエレクトロニックマニュファクチャリングのWeb情報モデリングはまったく簡単である。基本的には、エレクトロニックマニュファクチャリングと呼ばれるWeb上のマニュファクチャリングは、エレクトロニックマニュファクチャリングの工程に関する次の情報からなるWeb情報としてモデル化される。
1)製品仕様
2)組み立て仕様
3)Web上での部品購入
4)Web上の組み立てサイトでの購入
[14.3] Web Information Modeling for Electronic Manufacturing Web information modeling for electronic manufacturing using an adhesive space model is quite simple. Basically, manufacturing on the Web called electronic manufacturing is modeled as Web information consisting of the following information relating to the electronic manufacturing process.
1) Product specifications 2) Assembly specifications 3) Parts purchase on the Web 4) Purchases on the assembly site on the Web
各ステップは、必要に応じてより細かいサブステップに分解される。たとえば、ステップ1は次のサブステップに分解できる。
1.1)電子市場での製品のマーケット調査
1.2)マーケット調査から導き出される製品の要求
1.3)要求を満たすための製品の仕様
Each step is broken down into finer sub-steps as needed. For example, step 1 can be broken down into the following substeps.
1.1) Market research for products in the electronic market 1.2) Product requirements derived from market research 1.3) Product specifications to meet requirements
エレクトロニックマニュファクチャリングのためのWeb技術全体の中で核となる部分は、Web情報モデリングとしてのWeb上での製品と組み立てのモデリングである。図3は、座席と支持部という2つのコンポーネントをもつ椅子の単純な組み立て例を用いて、最も初歩的な組み立てのモデリングを明確に図示したものである。発展したマニュファクチャリングとしてのエレクトロニックマニュファクチャリングにおいて、製品のコンポーネントは、モジュール化されており、より品質の高いコンポーネントを買うため、最も有効なアップグレードを行うため、あるいは修理するために置き換え可能に構成されている。 The core part of the entire Web technology for electronic manufacturing is the modeling of products and assemblies on the Web as Web information modeling. FIG. 3 clearly illustrates the most basic assembly modeling using a simple assembly example of a chair with two components: a seat and a support. In electronic manufacturing as an advanced manufacturing, product components are modular and can be replaced to buy higher quality components, to make the most effective upgrades or to repair Has been.
エレクトロニックファイナンスとエレクトロニックマニュファクチャリングが接着空間と同値にもとづいて同一の情報モデリングを共有することは明らかである。 It is clear that electronic finance and electronic manufacturing share the same information modeling based on the equivalent value of the bonding space.
[15]実施例
図4は、実施の形態に係るソフトウエア開発支援装置100の構成を示す。オブジェクト集合記憶部190は、ソフトウエア開発に利用されるオブジェクトの集まりを保持する。ソフトウエア開発に利用されるオブジェクトすなわちソフトウエア部品は、データ構造体やプログラムモジュールである。ソフトウエア開発支援装置100は、オブジェクト集合記憶部190に格納されたオブジェクトの集まりを参照する。ソフトウエア開発支援装置100は、オブジェクト集合記憶部190を介さずに、ウェブ上の情報システムからオブジェクト集合を取得して参照してもよい。以下、実施の形態では、説明の便宜上、2つのオブジェクト集合の間に所定の対応関係またはインタフェイスを定義する場合を説明するが、これはより一般的に複数のオブジェクト集合を参照してそれらの間にインタフェイスを定義する場合の一例に過ぎない。
[15] Example FIG. 4 shows a configuration of the software
ソフトウエア開発支援装置100は、ホモトピーレベル処理ブロック110、集合レベル処理ブロック120、位相空間レベル処理ブロック130、接着空間レベル処理ブロック140、セル空間レベル処理ブロック150、表現レベル処理ブロック160、およびビューレベル処理ブロック170を含み、それぞれ既に述べたインクリメンタリモジュラな抽象階層モデルにおける各階層レベルの処理を行う。
The software
集合レベル処理ブロック120は、オブジェクト集合記憶部190に格納されたオブジェクトの集まりに集合演算を適宜施して、設計対象となる2つのオブジェクト集合を特定する。位相空間レベル処理ブロック130は、集合レベル処理ブロック120が特定した2つのオブジェクト集合に対して位相を規定することで、2つのオブジェクト集合はそれぞれ位相空間X、Yとして設計する。この時点で2つの位相空間X、Yは互いに素であり、これらの位相空間X、Yの直和あるいは排他的論理和である
接着空間レベル処理ブロック140は、図5にその詳細な構成を示すように、同値関係設定部44、同値関係保持部52、対応要素抽出部20、接着写像取得部22、等化写像取得部24、手順取得部26、および手順記録部28を含む。
As shown in FIG. 5 in detail, the bonding space
同値関係設定部44は、2つのオブジェクト集合に適用したい同値関係の入力をユーザから受け付ける他、ユーザの入力をもとにして自動的に同値関係を生成する。ユーザが同値関係を設定しやすいように、同値関係保持部52は同値関係の候補があらかじめ格納されている。また、ユーザがオブジェクト集合の要素を指定して同値関係を記述することのできるインタフェイスを設けてもよい。
The equivalence
同値関係設定部44により設定された同値関係(以下、目的同値関係ともいう)は、対応要素抽出部20へ伝えられる。対応要素抽出部20は、2つのオブジェクト集合において対応関係を定義すべき構成要素(以下、「対象要素」ともいう)を、目的同値関係をもとに抽出する。その際、ユーザが1つのオブジェクト集合において対象要素の一方を指定し、対応要素抽出部20が目的同値関係をもとに他方のオブジェクト集合から対応する対象要素を抽出するようにしてもよい。
The equivalence relation set by the equivalence relation setting unit 44 (hereinafter also referred to as a target equivalence relation) is transmitted to the corresponding
対応要素抽出部20により対応しあうことが判明した対象要素は、ひとつの部分位相空間、すなわち同値類を形成し、接着空間モデルの理論的保証により、同値類の排他的論理和として接着空間が形成される。同値類は同値関係で規定される不変量をもとに分類されるため、オブジェクト集合を客観的に分類することができ、分類の結果にはシステム設計者による個人差が含まれない。また、一方の対象要素を決めると、他方の対象要素が決まるため、前述のごとく、対応関係またはインタフェイスの数が線形になり、インターオペラビリティが保証されることになる。
The target elements found to correspond with each other by the corresponding
目的同値関係が決まると、対象要素間がどのような意味において対応するか、その関係も一意に決まる。そのため、接着写像取得部22は対象要素間の対応を示す接着写像fを特定することができる。接着写像fが決まると、接着空間も、
等化写像取得部24は、位相空間XとYの単なる排他的論理和の空間から、接着写像fによって定まる接着空間への写像である等化写像gを取得する。等化写像gは、現実には、その定義から位相空間X、Yおよび接着写像fによって記述することができる。
The equalization
手順取得部26は、同値関係設定部44から目的同値関係、対応要素抽出部20から対象要素、接着写像取得部22から接着写像f、等化写像取得部24から等化写像gの入力を受け、ユーザにより指定された対象要素および目的同値関係(以下、これらを「注目手順」ともいう)をホモトピーとして、一連の処理の結果で特定される、
・位相空間X、Y
・目的同値関係
・接着写像f
・等化写像g
と関連づけて手順記録部28へ記録する。
The
・ Phase space X, Y
-Objective equivalence relation-Adhesive mapping f
・ Equalization map g
And recorded in the
セル空間レベル処理ブロック150は、図6にその詳細な構成を示すように、セル接合部62、セル次元調整部64、および対応テーブル保持部66を含む。セル空間レベル処理ブロック150は、接着空間レベル処理ブロック140において目的同値関係をもとに接着空間として設計された複数のオブジェクト集合の仕様を継承して、セル空間レベルでオブジェクト集合の仕様を詳細化する。セル構造空間モデルは、接着空間モデルに次元を導入したものであり、オブジェクトの属性のIDや属性の個数に関する仕様がセル空間レベルで詳細化されることになる。
The cell space
セル接合部62は、2つのオブジェクト集合間で目的同値関係により対応関係にある2つの対象要素を接合し、各オブジェクト集合に属するオブジェクトの属性をセルで表現する。セル次元調整部64は、対応する2つの対象要素間に属性の次元に関する不整合がある場合、その不整合を解消するための処理を行う。セルの次元に関する不整合として、対象要素の属性のIDや個数の違いなどがある。セル次元調整部64は、必要に応じて、2つの対象要素間で属性のIDや属性の個数の不揃いを調整し、2つの対象要素間の属性の対応関係を示すテーブルを対応テーブル保持部66に格納する。
The
表現レベル処理ブロック160は、図7にその詳細な構成を示すように、表現生成部72、表現形式調整部74、および変換テーブル保持部76を含む。表現レベル処理ブロック160は、セル空間レベル処理ブロック150においてセル空間レベルで詳細化されたオブジェクト集合の仕様を継承して、表現レベルでオブジェクト集合の仕様をさらに詳細化する。表現レベルでは、セルの具体的な表現形式を決めるため、オブジェクトの属性のデータ型や桁数などに関する仕様が詳細化されることになる。
The expression
表現生成部72は、2つのオブジェクト集合のそれぞれに属するオブジェクトの属性の表現を生成する。表現形式調整部74は、目的同値関係により対応関係にある2つの対象要素間に表現レベルの不整合がある場合に、その不整合を調整するための処理を行う。表現レベルの不整合として、対象要素の属性のデータ型や桁数の違いなどがある。データ型には、ブール値、符号付き整数、正の整数、実数、倍精度実数、文字型などがあり、表現形式調整部74はこれらのデータ型を変換して対象要素のデータ型を揃えてもよい。また、データ型が同じでも文字列の桁数や数値の有効桁数などの桁数が異なる場合には、表現形式調整部74は2つの対象要素間で属性の桁数を調整して揃えてもよい。その他の不整合の例として、計量や貨幣などの単位の違いがあり、変換式を用いて、一方の単位系が他方の単位系に変換される。
The
表現形式調整部74は、位相空間Yを位相空間Xに接着する場合、表現レベルにおいて、位相空間Xのオブジェクト集合の対象要素と位相空間Yのオブジェクト集合の対象要素の属性のデータ型や桁数を比較して、相対的に精度が高い方の属性に揃えて、データ型や桁数を変換する。3つ以上のオブジェクト集合の対象要素間で属性の表現レベルの不整合を調整する場合も同じであり、表現形式調整部74は、複数のオブジェクト集合の対応する対象要素の属性表現の内、最も精度の高い属性表現を選んで、他の精度の低い対象要素の属性表現をその精度の高い対象要素の属性表現に合わせるように調整する。これにより、精度の異なる対象要素の接着後に、データ型変換や桁落ちなどにより元のデータが失われるのを防ぐことができる。
When adhering the phase space Y to the phase space X, the representation
表現形式調整部74は、最大の文字数や桁数をもった受容表現をもった表現フィルタとして作用し、当該表現フィルタを通過した表現は、表現レベルで同値になる。表現形式調整部74は、表現の不整合の調整をした場合の変換規則を記述したテーブルを変換テーブル保持部76に格納する。
The expression
ビューレベル処理ブロック170は、ユーザに合わせたビューを設定し、ビューにしたがってオブジェクト集合をディスプレイなどに表示する。 The view level processing block 170 sets a view suitable for the user, and displays an object set on a display or the like according to the view.
ホモトピーレベル処理ブロック110は、ソフトウエア開発支援装置100の各処理ブロックがオブジェクト集合に対して操作を行った際、その操作によって生じるオブジェクト集合の変化がホモトピー同値になるように保証する。ホモトピーレベル処理ブロック110は、手順記録部28に記録された接着空間生成に係る注目手順、対応テーブル保持部66に格納されたセルの次元の不整合の対応関係を示すテーブル、変換テーブル保持部76に格納されたセルの表現の変換規則を示すテーブルを利用し、各操作によってオブジェクト集合にもたらされた変化を逆にたどることにより、オブジェクト集合を変化前の状態に戻すことができる。
The homotopy
このようにして、集合レベル処理ブロック120から始めて、位相空間レベル処理ブロック130、接着空間レベル処理ブロック140、セル空間レベル処理ブロック150、表現レベル処理ブロック160、およびビューレベル処理ブロック170へと、同値関係を継承しつつ、2つのオブジェクト集合の仕様を段階的に詳細化していくことで、2つのオブジェクト集合が表現レベルまで同値となって出力される。このようにインクリメンタリモジュラな抽象階層モデルにもとづくソフトウエア開発支援装置100は、同値関係を、集合レベルから位相空間レベル、接着空間レベル、セル空間レベル、表現レベル、およびビューレベルまで保証する一貫性のあるフィルタとして機能し、フィルタを通過したオブジェクト集合は同値関係が数学的に保証されたインスタンスとなって出力される。
In this way, starting with the set
対応づけたい構成要素が複数あれば、それぞれの構成要素について目的同値関係を設定することによって、同様に接着写像が規定され、最終的に複数のオブジェクト集合間で対応する要素が接着された結果が出力される。一方のオブジェクト集合が注目する構成要素をn個もてば、そのn個のそれぞれについて、他方のオブジェクト集合のいずれかの構成要素との対応関係が特定されるため、インタフェイス数は線形であり、工数爆発の問題が解決する。 If there are multiple components to be associated, by setting the objective equivalence relationship for each component, an adhesion map is defined in the same way, and the result of finally bonding the corresponding elements between multiple object sets is Is output. If there are n components that one object set is interested in, the number of interfaces is linear for each of the n components because the corresponding relationship with any component of the other object set is specified. The problem of man-hour explosion is solved.
本実施の形態によれば、同値関係を設定すれば、複数のオブジェクト集合の構成要素間で対応づけができ、対応していない構成要素はそのまま残しつつ、同値関係にある構成要素については常に同じ情報をもつことができ、不変量を切り口に分類や対応づけができるので、データ利用性が向上し、ソフトウエア開発の効率を各段に高めることができる。 According to the present embodiment, if an equivalence relationship is set, the components of a plurality of object sets can be associated with each other. The components that do not correspond are left as they are, and the components having the equivalence relationship are always the same. Since it can have information and can be classified and associated with invariants as the starting point, data usability can be improved and the efficiency of software development can be increased in each stage.
[16]具体例
以上の構成のソフトウエア開発支援装置100によるソフトウエア開発支援手順の具体例を説明する。ソフトウエア開発支援装置100が各種プログラムモジュールをもとにソフトウエアを開発する際、プログラムモジュール間のインタフェイスを確定し、各プログラムモジュールで利用されるデータの仕様を詳細化する。[16.1]でデータの設計手順を述べ、[16.2]でプログラムモジュールの設計手順を述べる。
[16] Specific Example A specific example of the software development support procedure by the software
[16.1]データ設計
ソフトウエアにおいて利用される複数のオブジェクト集合の一例として、シューズショップXのオブジェクト集合300と、シューズメーカーYのオブジェクト集合200を考える。これらのオブジェクト集合は、集合レベル処理ブロック120によって設計され、オブジェクト集合記憶部190に格納されている。これらのオブジェクト集合はデータベースとして管理されているものであってもよい。位相空間レベル処理ブロック130は、シューズショップXのオブジェクト集合300を位相空間Xとして、シューズメーカーYのオブジェクト集合200を位相空間Yとして設計する。この時点で、2つの位相空間X、Yは互いに素である。
[16.1] Data Design As an example of a plurality of object sets used in software, an object set 300 of a shoe shop X and an object set 200 of a shoe manufacturer Y are considered. These object sets are designed by the set
接着空間レベル処理ブロック140は、オブジェクト集合記憶部190に格納されたシューズショップXのオブジェクト集合300を位相空間Xとして、シューズメーカーYのオブジェクト集合200を位相空間Yとして参照し、同値関係をもとに2つの位相空間X、Yから接着空間を生成する。図8に、接着空間レベル処理ブロック140により2つの位相空間が接着される様子を示す。
The adhesion space
いま、シューズメーカーYの製造する特定の運動靴Y0をシューズショップXが仕入れて、販売しているとする。このとき、ソフトウエアの開発者は、シューズショップXのオブジェクト集合、シューズメーカーYのオブジェクト集合との間でこの運動靴Y0をプログラム上では同一のオブジェクトとして扱いたい。同値関係設定部44は、シューズメーカーYとシューズショップXの位相空間の間で、注目すべき対象要素である運動靴Y0を同値関係にあるものとして設定する。
Now, it purchases a specific athletic shoes Y 0 to produce the shoe manufacturer Y is a shoe shop X, and sells. In this case, software developers, the object set of shoe shop X, want to treat as the same object of this exercise shoes Y 0 on the program between the objects set of shoe manufacturer Y. The equivalence
対応要素抽出部20は、シューズメーカーYの運動靴Y0(符号202)に対応するシューズショップXの運動靴f(Y0)(符号302)を抽出する。接着写像取得部22は、この対応関係をもとに、接着写像f:Y0→X|Y0⊆Yを取得する。
The corresponding
等化写像取得部24は、接着写像取得部22が取得した接着写像fによって、シューズショップXとシューズメーカーYの2つの位相空間の排他的論理和を接着空間
図9は、シューズメーカーYの位相空間における運動靴202のセル構造を説明する図である。運動靴202は、セルの属性として、靴のブランド名210、会社名212、種類214、サイズ216、色218、素材220、希望小売価格222、製造原価224、および原産国226を含む。
FIG. 9 is a diagram for explaining the cell structure of the
図10は、シューズショップXの位相空間における運動靴302のセル構造を説明する図である。運動靴302は、セルの属性として、靴のブランド名310、メーカー名312、種類314、サイズ316、色318、素材320、売価322、および販売店324を含む。
FIG. 10 is a diagram illustrating the cell structure of the
セル空間レベル処理ブロック150のセル接合部62は、図9に示すシューズメーカーYの位相空間における運動靴202と、図10に示すシューズショップXの位相空間における運動靴302をセルレベルで接合するため、共通する属性を互いに対応づける。靴のブランド名210、310、種類214、314、サイズ216、316、色218、318、素材220、320は属性名が一致するため、共通する属性として対応づけられる。
The cell
シューズメーカーYの運動靴202の会社名212と、シューズショップXの運動靴302のメーカー名312は、属性名は異なるが同一の要素である。そこで、セル空間レベル処理ブロック150のセル次元調整部64は、シューズメーカーY側の属性名をシューズショップX側の属性名に対応づけ、接合セルにおける属性名を「メーカー名」に統一することで不整合を調整し、シューズメーカーY側の「会社名」をシューズショップX側の「メーカー名」に対応づける関係を記述したテーブルを対応テーブル保持部66に保持する。
The
シューズメーカーYの運動靴202とシューズショップXの運動靴302をセルレベルで接合する際、一方の位相空間に属性が存在し、他方の位相空間にはそれに対応する属性が存在しないことがある。たとえば、シューズメーカーYの運動靴202には、原産国226という属性があるが、シューズショップXの運動靴302には、それに対応するものがない。逆に、シューズショップXの運動靴302には、販売店324という属性があるが、シューズメーカーYの運動靴202には、それに対応するものがない。このように、2つの対象要素間で属性の対応付けをする際、第1の位相空間に属性aが存在し、第2の位相空間にはそれに対応する属性が存在しない場合、第1の位相空間の属性aには対応づけられる属性がないとものして処理するか、もしくは第2の位相空間において空の属性bを追加して第1の位相空間の属性aと対応づける処理を行う。たとえば、セル次元調整部64は、シューズメーカーYの運動靴202の原産国226については対応づけられる属性がないとして処理し、一方、シューズショップXの運動靴302の販売店324については、空の属性をシューズメーカーYの運動靴202に追加し、シューズショップXの運動靴302の販売店324と対応づける処理を行い、属性の個数に関する不整合を調整する。
When the
属性の個数の調整の他の例として、一方の位相空間に「名前」という1つの属性があり、他方の位相空間には、「姓」と「名」という2つの属性がある場合、実質的には両者は同一の属性であるから、セル次元調整部64は、「名前」という1つの属性と、「姓」と「名」という2つの属性を対応づけることで、属性の個数の不整合を調整することができる。
As another example of adjusting the number of attributes, if there is one attribute “name” in one phase space and two attributes “last name” and “first name” in the other phase space, Since both have the same attribute, the cell
図11(a)〜(c)は表現レベルでの不整合の調整を説明する図である。シューズメーカーY側の会社名212は、図11(a)に示すように、M桁の文字列で表現されている。一方、シューズショップX側のメーカー名312は、図11(b)に示すように、L桁の文字列で表現されている。ここで、L<Mである。表現レベル処理ブロック70の表現形式調整部74は、桁数の大きいM桁に合わせて、図11(c)に示すように、接合セルの属性であるメーカー名412の表現形式を決めてもよい。
FIGS. 11A to 11C are diagrams for explaining the adjustment of mismatch at the expression level. The
対象要素の属性の表現形式において桁数の違いがあるときに、桁数の大きい方に合わせて表現することは、「受容表現レベル」の一例である。表現形式調整部74は、所定の受容表現レベルをフィルタとして用いることにより、対象要素の属性の表現形式の不整合を調整する。
When there is a difference in the number of digits in the expression format of the attribute of the target element, expressing according to the larger number of digits is an example of “acceptance expression level”. The expression
図12(a)〜(d)も表現レベルでの不整合の調整を説明する図である。シューズメーカーY側のサイズ216は、図12(a)に示すように、inchを単位とした実数値で表現されている。一方、シューズショップX側のサイズ316は、図12(b)に示すように、cmを単位とした実数値で表現されている。
FIGS. 12A to 12D are also diagrams for explaining the adjustment of mismatch at the expression level. As shown in FIG. 12A, the
ソフトウエアの設計仕様として、cmの単位を採用する場合、表現レベル処理ブロック160の表現形式調整部74は、図12(c)に示すように、接合セルの属性であるサイズ416の表現形式はcmを単位とすることにし、シューズショップX側のサイズ316の属性値を用いる。このとき、表現形式調整部74は、図12(d)に示す変換式516を変換テーブル保持部76に格納しておき、属性値の互換性を保つ。このようにいずれかの単位系に合わせることも受容表現レベルの一例である。
When the unit of cm is adopted as the design specification of the software, the expression
図13(a)〜(d)も表現レベルでの不整合の調整を説明する図である。シューズメーカーY側の色218は、図13(a)に示すように整数値で表現されている。一方、シューズショップX側の色318は、図13(b)に示すように文字列で表現されている。これは、シューズメーカーYでは靴の色を細かく識別するための番号体系を利用するのに対して、シューズショップXでは靴の色を顧客が理解しやすい「紺」「紫」などの名称で記述するからである。この違いは、シューズメーカーY、シューズショップXのそれぞれのシステムにおける設計者の設計意図や顧客のニーズにより生じたものである。
FIGS. 13A to 13D are also diagrams for explaining adjustment of mismatch at the expression level. The
ソフトウエアの設計仕様として、色の表現形式を文字列とする場合、表現レベル処理ブロック160の表現形式調整部74は、図13(c)に示すように、接合セルの属性である色418の表現形式を文字列として、シューズショップX側の色318の属性値を用いる。このとき、表現形式調整部74は、図13(d)に示すように、シューズメーカーY側の色を識別する整数値とシューズショップX側の色を識別する文字列との間の変換規則を示した変換テーブルを作成して、変換テーブル保持部76に格納し、属性値の互換性を保つ。このように文字列の表現形式に変換することも受容表現レベルの一例である。
As a software design specification, when the color expression format is a character string, the expression
上記の例では、ソフトウエアの開発者がシューズショップXとシューズメーカーYの間で同値関係にある運動靴を指定したが、シューズショップXと複数のシューズメーカーYとの間で同値関係を指定してもよい。たとえば、「素材が革である靴」という同値関係をもとに、シューズショップXの位相空間と、複数のシューズメーカーY1,Y2,…,Ynのそれぞれの位相空間との間で対応する構成要素を抽出し、接着空間を生成し、オブジェクトのデータ設計を行ってもよい。 In the above example, the software developer specified an athletic shoe that has an equivalence relationship between the shoe shop X and the shoe manufacturer Y. However, the software developer specified an equivalence relationship between the shoe shop X and multiple shoe manufacturers Y. May be. For example, on the basis of the equivalence relationship “shoe made from leather”, the corresponding elements between the top space of the shoe shop X and the top space of each of a plurality of shoe manufacturers Y1, Y2,. May be extracted, an adhesion space may be generated, and object data design may be performed.
[16.2]プログラムモジュールの設計
オブジェクト集合の一例として、プログラムを考え、本実施の形態に係るソフトウエア開発支援装置100により、複数のプログラムをもとにソフトウエアを開発する手順を説明する。
[16.2] Design of Program Module Considering a program as an example of an object set, a procedure for developing software based on a plurality of programs by the software
図14(a)、(b)は2つのプログラムXとプログラムYが統合される様子を説明する図である。これらのプログラムは、いずれも画像処理を行うものであるが、プログラムの開発者が異なるなどの理由で、プログラム構成が異なっているとする。これらのプログラムは、いずれも画像の符号化および復号の機能をもっており、たとえば、電子商取引で売買される商品の画像の符号化および復号を行うことができる。 FIGS. 14A and 14B are diagrams illustrating a state where two programs X and Y are integrated. All of these programs perform image processing, but it is assumed that the program configurations are different because of different program developers. These programs all have image encoding and decoding functions. For example, these programs can encode and decode images of products sold and sold in electronic commerce.
集合レベル処理ブロック120は、複数のモジュールからなるプログラムX、Yを集合として設計し、位相空間レベル処理ブロック130は、プログラムX、Yを位相空間として設計する。
The set
接着空間レベル処理ブロック140の同値関係設定部44は、プログラムX、Yを構成するモジュールに対して、「符号化処理機能をもつ」および「復号処理機能をもつ」という2つの同値関係を設定する。対応要素抽出部20は、同値関係設定部44により設定された2つの同値関係をもとにプログラムX、Y間の対応するモジュールを特定し、接着写像取得部22は、各同値関係による対応関係を与える接着写像f1、f2を取得する。
The equivalence
これにより、プログラムYの位相空間は、符号化処理機能をもつモジュールY0と、圧縮処理機能をもつモジュールY1と、それ以外の機能をもつモジュールの直和
等化写像取得部24は、図14(a)に示すプログラムX、Yの2つの位相空間の直和を図14(b)に示す接着空間
図15(a)、(b)は、接着写像により対応づけられた2つのモジュールA、Bの入出力インタフェイスを説明する図である。モジュールAの入力に使われている変数は整数型のa、bの2つであり、出力に使われている変数は実数型のcである。一方、モジュールBの入力に使われている変数は実数型のs、tの2つであり、出力に使われている変数は実数型のuである。接着空間レベル処理ブロック140において対応づけられた2つのモジュールA、B間で入力変数、出力変数の名前に違いがあるが、セル空間レベル処理ブロック150のセル次元調整部64は、2つのモジュールA、Bの入力変数、出力変数の名前を対応が取れるように調整する。また、2つのモジュールA、B間で入力変数、出力変数の個数に違いがあれば、セル次元調整部64は、2つのモジュールA、Bの入力変数、出力変数の個数を対応が取れるように調整する。
FIGS. 15A and 15B are diagrams illustrating the input / output interfaces of the two modules A and B associated with each other by the adhesive mapping. The variables used for input of module A are two integer types a and b, and the variable used for output is real type c. On the other hand, the variables used for the input of the module B are two of the real type s and t, and the variable used for the output is the real type u. Although there are differences in the names of input variables and output variables between the two modules A and B associated with each other in the adhesion space
表現レベル処理ブロック160の表現形式調整部74は、2つのモジュールA、Bの入力変数、出力変数のデータ型に違いがあれば、データ型を調整する。モジュールAの入力変数は整数型であり、モジュールBの入力変数は実数型であるから、たとえば、モジュールAの入力変数を実数型に変換する。また、変数が文字型の場合は、表現形式調整部74は、文字列の桁数の調整を行う。
The expression
図16〜図19において、ソフトウエア開発支援装置100によって、同値関係をもとにモジュールもしくはデータが対応づけられてソフトウエアが開発される手順を説明する。
16 to 19, a procedure for developing software by the software
図16(a)、(b)は、プログラムモジュールが新しいバージョンに更新される様子を説明する図である。図16(a)のように、新バージョンのモジュールAnewと旧バージョンのモジュールAoldがあるとする。それぞれ別の開発者が設計したものであってもよい。同値関係によって新バージョンのモジュールAnewが旧バージョンのモジュールAoldに対応づけられる。また、それに伴い、新バージョンのモジュールAnewの入力変数s、tが、旧バージョンのモジュールAoldの入力変数a、bにそれぞれ対応づけられ、新バージョンのモジュールAnewの出力変数uが旧バージョンのモジュールAoldの出力変数cに対応づけられる。 FIGS. 16A and 16B are diagrams for explaining how a program module is updated to a new version. Assume that there is a new version of module A new and an old version of module A old as shown in FIG. They may be designed by different developers. The new version of the module A new is associated with the old version of the module A old by the equivalence relation. Accordingly, the input variables s and t of the new version module A new are associated with the input variables a and b of the old module A old , respectively, and the output variable u of the new version module A new is changed to the old version. Is associated with the output variable c of the module A old .
このように同値関係で新旧バージョンのモジュールを対応づけることにより、ソフトウエア開発支援装置100は、図16(b)のように、旧バージョンのモジュールAoldを新バージョンのモジュールAnewに置き換えて、更新することができる。ソフトウエア開発支援装置100は、モジュールの置き換えをホモトピー同値になるように行うため、必要に応じて新バージョンのモジュールAnewを旧バージョンのモジュールAoldに戻すこともでき、ソフトウエアのデバッグを効率良く行うことができる。
In this way, by associating the old and new versions of the modules with the equivalence relation, the software
図17(a)、(b)は、2つのプログラムモジュールが合成される様子を説明する図である。図17(a)のように、モジュールAは2つのサブモジュールA1、A2をもち、モジュールBは2つのサブモジュールB1、B2をもつ。同値関係によってモジュールBのサブモジュールB1がモジュールAのサブモジュールA1に対応づけられる。また、それに伴い、サブモジュールB1の入力変数sとサブモジュールA1の入力変数aが対応づけられる。 FIGS. 17A and 17B are diagrams for explaining how two program modules are synthesized. As shown in FIG. 17A, the module A has two submodules A 1 and A 2 , and the module B has two submodules B 1 and B 2 . The sub-module B 1 of the module B is associated with the sub-module A 1 of the module A by the equivalence relation. Accordingly, the input variable s of the submodule B 1 is associated with the input variable a of the submodule A 1 .
図17(b)のように、同値関係により定まる接着写像によって、モジュールBのサブモジュールB1がモジュールAのサブモジュールA1と同一視されることにより、2つのモジュールA、Bが合成され、1つのプログラムが生成される。このとき、接着写像で対応づけられたサブモジュールB1とサブモジュールA1の入出力変数のデータ型や桁数などが調整される。ソフトウエア開発支援装置100は、モジュールの合成をホモトピー同値になるように行うため、必要に応じて合成されたプログラムから元のモジュールA、Bを分離して取り出すこともできる。
As shown in FIG. 17B, the sub-module B 1 of the module B is identified with the sub-module A 1 of the module A by the adhesive mapping determined by the equivalence relation, so that the two modules A and B are combined, One program is generated. At this time, data type and the number of digits of the correspondence obtained submodule B 1 and sub-module A 1 of the input and output variables are adjusted with an adhesive mapping. Since the software
このように、ソフトウエア開発支援装置100は、同値関係をもとにして複数のモジュールを合成したり、合成されたプログラムからモジュールを取り出したりすることができ、ソフトウエアの部品化を進め、再利用性を高めることができる。
As described above, the software
図18(a)、(b)は、2つのプログラムモジュール間でデータが共有される様子を説明する図である。図18(a)のように、2つの変数a、bを入力して変数cを出力するモジュールAと、2つの変数s、tを入力して変数uを出力するモジュールBとがあり、モジュールBの入力変数sとモジュールAの入力変数aが同値関係によって対応づけられ、それ以外の変数の間には対応関係がないとする。 18A and 18B are diagrams for explaining how data is shared between two program modules. As shown in FIG. 18A, there are a module A that inputs two variables a and b and outputs a variable c, and a module B that inputs two variables s and t and outputs a variable u. Assume that the input variable s of B and the input variable a of the module A are associated with each other by an equivalence relation, and there is no correspondence relation between other variables.
図18(b)のように、同値関係により定まる接着写像によって、モジュールBの入力変数sがモジュールAの入力変数aと同一視されることにより、2つのモジュールA、B間で入力変数の1つが共有される。このように、ソフトウエア開発支援装置100は、プログラムモジュール間で同値類として対応づけられるデータを共有し、データの利用性を高めることができる。
As shown in FIG. 18B, the input variable s of the module B is identified with the input variable a of the module A by the adhesive mapping determined by the equivalence relation, so that the input variable 1 between the two modules A and B is 1 Are shared. In this way, the software
図19(a)、(b)は、2つのプログラムモジュールが結合される様子を説明する図である。図19(a)のように、2つの変数a、bを入力して変数cを出力するモジュールAと、2つの変数s、tを入力して変数uを出力するモジュールBとがあり、モジュールBの出力変数uとモジュールAの入力変数aが同値関係によって対応づけられ、それ以外の変数の間には対応関係がないとする。 FIGS. 19A and 19B are diagrams illustrating a state in which two program modules are combined. As shown in FIG. 19A, there are a module A that inputs two variables a and b and outputs a variable c, and a module B that inputs two variables s and t and outputs a variable u. Assume that the output variable u of B and the input variable a of module A are associated by an equivalence relationship, and there is no correspondence relationship between other variables.
図19(b)のように、同値関係により定まる接着写像によって、モジュールBの出力変数sがモジュールAの入力変数aと同一視されることにより、モジュールBとモジュールAがこの順で結合され、1つのプログラムが生成される。このとき、モジュールBの出力変数とモジュールAの入力変数の間でデータ型や桁数などが調整される。このプログラムの結合は、ホモトピー同値になるように行われるため、必要に応じて結合を解除して、モジュールAとモジュールBを分離することもできる。このように、ソフトウエア開発支援装置100は、同値関係をもとにして複数のプログラムモジュールを結合したり、分離したりすることができ、プログラムモジュールの利用性を高めることができる。
As shown in FIG. 19B, the output variable s of the module B is identified with the input variable a of the module A by the adhesive mapping determined by the equivalence relation, so that the module B and the module A are coupled in this order. One program is generated. At this time, the data type and the number of digits are adjusted between the output variable of module B and the input variable of module A. Since the programs are combined so as to have the same homotopy value, the modules A and B can be separated by releasing the connection as necessary. As described above, the software
このように、ソフトウエア開発支援装置100によれば、同値関係にもとづいてソフトウエア部品の合成、置換、連結などの開発工程を線形操作で行うことができるため、ソフトウエア部品の個数が増えても、開発工数爆発が起きることなく、ソフトウエアを効率良く開発することができる。
As described above, according to the software
上記の具体例では、プログラムモジュールの仕様を特徴づける属性として、入出力インタフェイスを例に挙げ、対応するプログラムモジュール間で入出力インタフェイスの次元や表現形式の不整合を調整することを説明したが、これは属性の一例に過ぎない。プログラムモジュールの仕様を特徴づける他の属性の例として、そのプログラムモジュールが参照する変数を考えてもよい。その場合、対応するプログラムモジュール間で参照変数の次元や表現形式の不整合が調整される。また、プログラムモジュールが利用する関数を属性として考えてもよい。その場合、対応するプログラムモジュール間で関数の次元、すなわち関数名や関数の個数などの不整合が調整される。さらに、その関数の引数や戻り値の次元や表現形式の不整合が調整されてもよい。 In the above specific example, the input / output interface is taken as an example of the attribute that characterizes the specification of the program module, and the adjustment of inconsistencies in the dimension and expression format of the input / output interface between the corresponding program modules was explained. But this is just one example of an attribute. As an example of another attribute characterizing the specification of a program module, a variable referred to by the program module may be considered. In that case, inconsistencies in the dimension and expression format of the reference variable are adjusted between corresponding program modules. A function used by a program module may be considered as an attribute. In that case, inconsistencies such as the function dimension, that is, the function name and the number of functions, are adjusted between corresponding program modules. Furthermore, inconsistencies in the dimension and expression format of the arguments and return values of the function may be adjusted.
ソフトウエア開発支援装置100のビューレベル処理ブロック170は、ソフトウエア開発者毎に異なるビューを設計してもよい。たとえば、上級のソフトウエア開発者にはプログラムモジュールの内部変数の設計変更ができるように、プログラムモジュール内部のデータ操作が可能なビューを設定する。一方、初級のソフトウエア開発者にはプログラムモジュールの外部インタフェイスの設計変更だけを許すように、プログラムモジュールの内部のデータ操作が不可能なビューを設定する。このように、開発者のプログラミングの経験や技術などのレベルに応じてビューを異ならせてもよい。また、ソフトウエアを複数の開発者が共同開発する場合、各開発者が担当するプログラムエリアに限って設計変更ができるように、開発者毎にビューを異ならせてもよい。後述のようにソフトウエア開発支援装置100を保守工程で利用する場合は、ビューレベル処理ブロック170は、ソフトウエアの保守者毎に異なるビューを設計してもよい。
The view level processing block 170 of the software
[17]ソフトウエアのライフサイクル管理
ソフトウエア開発のアクティビティには、要求分析、システム設計、プログラム設計、プログラム実装、単体・結合テスト、システムテスト、受け入れテスト、および運用・保守があり、これらの一連のアクティビティがライフサイクルとして管理される。要求分析、システム設計、プログラム設計、およびプログラム実装は、ソフトウエアの開発工程である。開発工程において生成されたソフトウエアのプログラムモジュールについて単体・結合テストが行われ、次にシステム全体の機能面についてシステムテストが行われ、最終的にシステム出荷時の受け入れテストが行われる。これが試験工程である。受け入れテストに合格したシステムは運用され、稼働中にシステムが保守される。これが保守工程である。
[17] Software lifecycle management Software development activities include requirements analysis, system design, program design, program implementation, unit / combination testing, system testing, acceptance testing, and operation / maintenance. Activities are managed as a life cycle. Requirements analysis, system design, program design, and program implementation are software development processes. A unit program and a combination test are performed on the software program modules generated in the development process, a system test is performed on the functional aspects of the entire system, and finally an acceptance test at the time of system shipment is performed. This is the test process. A system that passes the acceptance test is operated and the system is maintained during operation. This is a maintenance process.
図20に示すソフトウエアライフサイクル管理装置600は、開発工程から試験工程を経て、保守工程に至るまでのソフトウエアのライフサイクルを管理する。開発機能ブロック610は、既に述べたソフトウエア開発支援装置100の各機能を有し、抽象階層間でソフトウエア部品集合の同値関係を不変量として継承しながら、ソフトウエア部品集合が満たすべき仕様を抽象階層毎にインクリメンタルに詳細化することにより、与えられた要求仕様に合致するソフトウエアをソフトウエア部品集合から自動生成する。開発機能ブロック610により、ソフトウエアの要求分析からシステム設計、プログラム設計、プログラム実装までが実行され、開発されたソフトウエアはソフトウエア記憶部640に記憶される。ソフトウエア記憶部640は、要求仕様、開発、試験、および保守工程におけるすべてのプログラムを保持する。
A software life
試験機能ブロック620は、開発機能ブロック610により生成されたソフトウエアが各抽象階層において詳細化された仕様に合致するか否かをテストし、問題が発見された場合に、いずれかの抽象階層において要求条件を修正し、開発機能ブロック610は、要求条件が修正された抽象階層から始めて、ソフトウエア部品集合が満たすべき仕様を抽象階層毎にインクリメンタルに詳細化する。
The test function block 620 tests whether the software generated by the
開発されたソフトウエアの試験は、要求分析、システム設計、プログラム設計、およびプログラム実装のいずれの段階でも行う必要がある。たとえば、試験機能ブロック620が、要求仕様に不具合を発見して修正をしたときは、開発機能ブロック610は、抽象階層モデルの位相空間レベルや接着空間レベルなどの上位階層にもどって、その階層から設計の詳細化をやり直して不具合を解消する。また、試験機能ブロック620が、プログラム実装において、関数の引数の数や変数のデータ型などに不具合を発見した場合は、開発機能ブロック610は、抽象階層モデルのセル空間レベルや表現レベルなどの下位階層から設計の詳細化をやり直して不具合を解消する。いずれの階層から作業をやり直すときでも、インクリメンタリモジュラな抽象階層にもとづくソフトウエア開発支援装置100によれば、新しい要求条件のもと、線形操作でソフトウエアを再構成することができる。
Testing of the developed software must be done at any stage of requirements analysis, system design, program design, and program implementation. For example, when the
保守機能ブロック630は、運用中のソフトウエアに修正もしくは機能拡張の必要があった場合に、その修正もしくは機能拡張を反映すべき抽象階層において要求条件を変更し、開発機能ブロック610は、要求条件が変更された抽象階層から始めて、ソフトウエア部品集合が満たすべき仕様を抽象階層毎に再度インクリメンタルに詳細化する。
The
ソフトウエアの保守には、システムの障害への対処もしくは予防のために修正を行うものとして、修正保守(corrective maintenance)と予防保守(preventive maintenance)があり、システムの機能拡張を行うものとして、改善保守(perfective maintenance)と適応保守(adaptive maintenance)がある。 There are two types of software maintenance: corrective maintenance and preventive maintenance, which can be corrected to deal with or prevent system failures. There are perfective maintenance and adaptive maintenance.
修正保守は、現行のシステムに障害が起きた場合に、障害の原因を発見して、ソフトウエアの必要な修正を行うものである。修正保守は、ソフトウエアの残存不良を修正する作業であり、一般には仕様の変更はしない。抽象階層モデルを利用した修正保守は、たとえば、セル空間レベルや表現レベルなど比較的下位の階層で要求条件を調整して行われる。 In the correction maintenance, when a failure occurs in the current system, the cause of the failure is discovered and necessary software is corrected. The correction maintenance is an operation for correcting a residual defect of software, and generally does not change the specification. For example, correction maintenance using the abstract hierarchy model is performed by adjusting a requirement condition in a relatively lower hierarchy such as a cell space level or an expression level.
予防保守は、現実には障害が起きてないが、潜在的な障害の可能性を発見し、システムの故障を未然に防ぐために、システムのある側面を修正、変更することであり、修正保守と同様に抽象階層モデルを利用して行うことができる。 Preventive maintenance is the correction and change of an aspect of the system in order to discover a potential failure and prevent a system failure before it has actually failed. Similarly, an abstract hierarchical model can be used.
改善保守は、障害を回避するためにソフトウエアを変更するのではなく、システムのある機能や性能を向上させるためにソフトウエアの変更を行うことである。改善保守は、ソフトウエアの仕様の変更を伴うものである。抽象階層モデルを利用した改善保守は、たとえば位相空間レベルや接着空間レベルなど比較的上位の階層で要求条件を調整した上で、下位の階層に向けて抽象階層を辿りながら、ソフトウエアを再設計することによって行われる。 Improving maintenance is not changing software to avoid failures, but changing software to improve certain functions and performance of the system. Improvement maintenance involves changes in software specifications. For improved maintenance using the abstract hierarchy model, the software is redesigned while following the abstract hierarchy toward the lower hierarchy after adjusting the requirements at a relatively higher hierarchy such as the phase space level and the adhesive space level. Is done by doing.
適応保守は、ハードウエアやソフトウエアの技術進歩などの変化に応じてソフトウエアの変更を行うものである。適応保守は、障害に対処するものではなく、進化していくシステムに適応させるために変更を行うものである。適応保守も他の保守と同様に抽象階層モデルを利用して行うことができる。 In adaptive maintenance, software is changed according to changes in hardware and software technology. Adaptive maintenance does not deal with failures, but changes to adapt to an evolving system. Adaptive maintenance can be performed using an abstract hierarchical model as well as other maintenance.
ソフトウエアの保守工程は、新たな要求を分析し、システムとプログラムの設計を評価し、コードをレビューし、必要に応じて修正を加える点で、ソフトウエアの開発工程およびソフトウエアの試験工程と共通するアクティビティを含んでいる。開発工程および試験工程が抽象階層モデルを利用して行われるように、保守工程も抽象階層モデルを有効に利用して、効率良く行うことができ、保守の負担を軽減することができる。 The software maintenance process includes the software development process and the software testing process in that it analyzes new requirements, evaluates system and program designs, reviews code, and makes modifications as necessary. Contains common activities. Just as the development process and the test process are performed using the abstract hierarchical model, the maintenance process can be efficiently performed using the abstract hierarchical model effectively, and the maintenance burden can be reduced.
一般に、欠陥修正は別の欠陥修正を引き起こす波及効果がある。保守による手直しがシステムの別の部分に影響を与えて、新たな障害を生み出すことがあるからである。一般的にソフトウエア開発は開発者依存であるため、開発者の作成した仕様書を丹念にレビューしても保守による影響を正確に予測することは困難である。しかしながら、本実施の形態のソフトウエアライフサイクル管理装置600によれば、抽象階層モデルを利用してソフトウエアの開発が行われ、開発者依存の設計要素が排除されるため、保守においても同じ抽象階層モデルを参照することで、何と何が同値関係にあるかを把握した上で、ある箇所の修正が他の箇所にどのような影響を与えるかを的確に予測して正しい修正を効率良く行うことができる。
In general, defect correction has a ripple effect that causes another defect correction. This is because maintenance rework can affect other parts of the system and create new obstacles. In general, software development depends on the developer, so it is difficult to accurately predict the impact of maintenance even if the specifications created by the developer are carefully reviewed. However, according to the software life
修正保守において、ソフトウエアのある部分について同値関係を新たに定義する必要が生じた場合や、最初から定義しておくべきであった同値関係が保守段階で発見された場合でも、抽象階層モデルを参照し、接着空間レベルで同値関係を定義し直し、その同値関係を下位のセル空間レベルや表現レベルにまで落として実装することにより、整合性を保証することができる。また、拡張保守や適応保守において、ソフトウエアに新たな機能を追加する場合や、新たなパラメータを設定する場合でも、抽象階層モデルにおいて適宜新たな同値関係を設定してインクリメンタルにソフトウエアの再設計を行うことができる。また、予防保守において、対応する変数の間でデータ型やデータ長の相違があり、不都合が生じることが予見される場合でも、抽象階層モデルを利用して、これらの変数に同値関係を定義してその部分について不整合を調整することができる。 Even if it is necessary to define a new equivalence relationship for a certain part of software during correction maintenance, or an equivalence relationship that should have been defined from the beginning is discovered at the maintenance stage, the abstract hierarchy model is used. By referring to and redefining the equivalence relation at the adhesion space level and dropping the equivalence relation to the lower cell space level and the expression level, it is possible to ensure consistency. In addition, even when adding new functions to software or setting new parameters for extended maintenance and adaptive maintenance, the software is redesigned incrementally by setting new equivalence relationships as appropriate in the abstract hierarchical model. It can be performed. Also, in preventive maintenance, even if there is a difference in data type or data length between corresponding variables and it is predicted that inconvenience will occur, the abstract hierarchy model is used to define equivalence relations for these variables. Inconsistency can be adjusted for that part.
このように、本実施の形態のソフトウエアライフサイクル管理装置600によれば、抽象階層モデルを利用することにより、保守段階で要求の変化が生じても、要求仕様にもとづいて同値関係を定め、設計および実装レベルまでその同値関係を不変量として継承して仕様の詳細化と具体化を図ることができ、変化に対して柔軟かつ効率良く対応することができる。抽象階層モデルを利用することにより、保守工程におけるソフトウエアに対する操作も、開発工程における操作と同じように、線形インターオペラビリティが保証されるため、線形操作で新たな機能の追加や不要な機能の削除を行うことができる。
As described above, according to the software life
ソフトウエアのライフサイクルモデルとして、ウォーターフォールモデル、ラピッドプロトタイピングモデル、スパイラルモデルなどいろいろなモデルが提案されているが、本実施の形態のソフトウエアライフサイクル管理装置600は、いずれかのライフサイクルモデルに依存するものでもなく、また、いずれかのライフサイクルモデルを前提として適用されるものでもない。もっとも、本実施の形態のソフトウエアライフサイクル管理装置600をいずれかのライフサイクルモデルに適合させる形で用いることを妨げない。本実施の形態のソフトウエアライフサイクル管理装置600の主要な利点は、インクリメンタリモジュラな抽象階層モデルを用いることにより、抽象階層間でソフトウエア部品集合間の同値関係を不変量として継承して整合性を保証するとともに、ソフトウエア部品集合の線形統合と線形操作を保証し、ソフトウエアの開発から試験、保守に至るまでのライフサイクルの管理に一貫性をもたせたことにある。
Various models such as a waterfall model, a rapid prototyping model, and a spiral model have been proposed as software life cycle models. The software life
以上、実施の形態を説明した。実施の形態は例示であり、さまざまな変形例が可能であり、そうした変形例も本発明に含まれることは当業者に理解されるところである。 The embodiment has been described above. The embodiments are exemplifications, and various modifications are possible, and those skilled in the art will understand that such modifications are also included in the present invention.
20 対応要素抽出部、 22 接着写像取得部、 24 等化写像取得部、 26 手順取得部、 28 手順記録部、 44 同値関係設定部、 52 同値関係保持部、 62 セル接合部、 64 セル次元調整部、 66 対応テーブル保持部、 72 表現生成部、 74 表現形式調整部、 76 変換テーブル保持部、 100 ソフトウエア開発支援装置、 110 ホモトピーレベル処理ブロック、 120 集合レベル処理ブロック、 130 位相空間レベル処理ブロック、 140 接着空間レベル処理ブロック、 150 セル空間レベル処理ブロック、 160 表現レベル処理ブロック、 170 ビューレベル処理ブロック、 190 オブジェクト集合記憶部、 600 ソフトウエアライフサイクル管理装置、 610 開発機能ブロック、 620 試験機能ブロック、 630 保守機能ブロック、 640 ソフトウエア記憶部。
20 Corresponding element extraction unit, 22 Adhesive mapping acquisition unit, 24 Equalization mapping acquisition unit, 26 Procedure acquisition unit, 28 Procedure recording unit, 44 Equivalence relationship setting unit, 52 Equivalence relationship holding unit, 62 Cell junction unit, 64 Cell dimension adjustment , 66 correspondence table holding unit, 72 expression generation unit, 74 expression format adjustment unit, 76 conversion table holding unit, 100 software development support device, 110 homotopy level processing block, 120 set level processing block, 130 phase space level processing block , 140 adhesive space level processing block, 150 cell space level processing block, 160 expression level processing block, 170 view level processing block, 190 object set storage unit, 600 software life cycle management device, 610
Claims (14)
前記ソフトウエア部品集合に集合演算を施して、所望の複数のソフトウエア部品集合を設計する集合設計部と、
前記ソフトウエア部品集合の部分集合を要素とする集合に位相を規定することにより、前記ソフトウエア部品集合を位相空間として設計する位相空間設計部と、
それぞれが位相空間として設計された前記複数のソフトウエア部品集合の上に同値関係を規定し、前記同値関係で対応づけられた部分空間を接着した接着空間を設計する接着空間設計部と、
前記接着空間において前記複数のソフトウエア部品集合に属するソフトウエア部品の仕様に係る属性をセルで表現し、前記セルの次元を設計するセル空間設計部と、
前記セルの表現形式を設計する表現設計部とを含むことを特徴とする請求項5から8のいずれかに記載のソフトウエアライフサイクル管理装置。 The abstract hierarchical model is configured to be modularized so that operations on software component sets can be performed in each hierarchy,
A set design unit for performing a set operation on the software component set to design a desired plurality of software component sets;
A phase space design unit that designs the software component set as a phase space by defining a phase in a set having a subset of the software component set as an element;
An adhesion space design unit that defines an equivalence relation on the plurality of software component sets each designed as a phase space, and designs an adhesion space in which the partial spaces associated with the equivalence relation are adhered,
The cell space design unit for expressing the attribute related to the specification of the software component belonging to the plurality of software component sets in the adhesion space by a cell, and designing the dimension of the cell,
The software life cycle management apparatus according to claim 5, further comprising an expression design unit that designs an expression format of the cell.
互いに素である第1の位相空間Xと第2の位相空間Yに対して、前記第2の位相空間のYの部分空間Y0から前記第1の位相空間Xへの連続写像を、前記同値関係を表す接着写像fとして取得する接着写像取得部と、
前記第2の位相空間Yの前記部分空間Y0における各点yを、前記接着写像fによる前記第1の位相空間Xにおける像f(y)と同一視することによって、前記第2の位相空間Yを前記第1の位相空間に接着し、前記接着空間を同値類の排他的論理和として取得する等化写像取得部とを含むことを特徴とする請求項9に記載のソフトウエアライフサイクル管理装置。 The bonding space design part is:
For the first phase space X and a second phase space Y are disjoint, the continuous function from the subspace Y 0 of Y of the second phase space into the first phase space X, the equivalence An adhesive map acquisition unit that acquires the adhesive map f representing the relationship;
Each point y in said subspace Y 0 of the second phase space Y, by identified with the image f (y) in the first phase space X by the adhesive mapping f, the second phase space The software life cycle management according to claim 9, further comprising: an equalization map acquisition unit that adheres Y to the first phase space and acquires the adhesion space as an exclusive OR of equivalence classes. apparatus.
前記接着写像fによって同一視された前記第1の位相空間Xのソフトウエア部品と前記第2の位相空間Yのソフトウエア部品をセル空間において対応づけて接合するセル接合部と、
前記セル空間において対応づけられた前記ソフトウエア部品の仕様に係る属性の次元に関する不整合を調整するセル次元調整部を含むことを特徴とする請求項12に記載のソフトウエアライフサイクル管理装置。 The cell space design unit
A cell joining portion for joining the software components of the first phase space X and the software components of the second phase space Y, which are identified by the adhesion map f, in association with each other in the cell space;
13. The software life cycle management apparatus according to claim 12, further comprising a cell dimension adjusting unit that adjusts an inconsistency related to a dimension of an attribute related to a specification of the software component associated in the cell space.
14. The expression design unit includes an expression format adjusting unit that adjusts inconsistencies related to attribute expression formats related to specifications of the software components associated with each other in the cell space according to an accepted expression. Software life cycle management device described in 1.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004176444A JP2006003939A (en) | 2004-06-15 | 2004-06-15 | Software life cycle management method and software life cycle management device |
PCT/JP2005/010355 WO2005124541A1 (en) | 2004-06-15 | 2005-06-06 | Software life cycle management method and software life cycle management device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004176444A JP2006003939A (en) | 2004-06-15 | 2004-06-15 | Software life cycle management method and software life cycle management device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006003939A true JP2006003939A (en) | 2006-01-05 |
Family
ID=35509887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004176444A Pending JP2006003939A (en) | 2004-06-15 | 2004-06-15 | Software life cycle management method and software life cycle management device |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2006003939A (en) |
WO (1) | WO2005124541A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007188334A (en) * | 2006-01-13 | 2007-07-26 | Kanazawa Inst Of Technology | System integrated unit |
WO2011068015A1 (en) * | 2009-12-02 | 2011-06-09 | コニカミノルタホールディングス株式会社 | System building support method |
JP2012503261A (en) * | 2008-09-22 | 2012-02-02 | パーソニクス ホールディングス インコーポレイテッド | Personalized voice management and method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06202859A (en) * | 1991-02-26 | 1994-07-22 | Texas Instr Inc <Ti> | Method and equipment for system design |
JPH0594483A (en) * | 1991-10-02 | 1993-04-16 | Nec Software Ltd | Tabular data connection system |
JP2922347B2 (en) * | 1991-11-07 | 1999-07-19 | 富士通株式会社 | Apparatus and method for connecting data between different databases |
JPH0916392A (en) * | 1995-06-27 | 1997-01-17 | Mitsubishi Electric Corp | Software development support system |
JP3411973B2 (en) * | 1998-09-14 | 2003-06-03 | 株式会社モノリス | Shape definition device |
JP2002312376A (en) * | 2001-04-17 | 2002-10-25 | Kanazawa Inst Of Technology | Method and system for supporting electronic commerce and business information management system usable for them |
JP2002342080A (en) * | 2001-05-16 | 2002-11-29 | Fujitsu Ltd | Software development support system and program |
JP2003271698A (en) * | 2002-03-18 | 2003-09-26 | Maeda Corp | Method for searching construction work data |
JP2004086782A (en) * | 2002-08-29 | 2004-03-18 | Hitachi Ltd | Apparatus for supporting integration of heterogeneous database |
-
2004
- 2004-06-15 JP JP2004176444A patent/JP2006003939A/en active Pending
-
2005
- 2005-06-06 WO PCT/JP2005/010355 patent/WO2005124541A1/en active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007188334A (en) * | 2006-01-13 | 2007-07-26 | Kanazawa Inst Of Technology | System integrated unit |
JP2012503261A (en) * | 2008-09-22 | 2012-02-02 | パーソニクス ホールディングス インコーポレイテッド | Personalized voice management and method |
WO2011068015A1 (en) * | 2009-12-02 | 2011-06-09 | コニカミノルタホールディングス株式会社 | System building support method |
Also Published As
Publication number | Publication date |
---|---|
WO2005124541A1 (en) | 2005-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Crnkovic et al. | Implementing and integrating product data management and software configuration management | |
Allen et al. | Component-based development for enterprise systems: applying the SELECT perspective | |
US6944514B1 (en) | Innovation information management model | |
Poole et al. | Common warehouse metamodel developer's guide | |
US20120054147A1 (en) | System and method for extract, transform, and load workflow generation | |
US7917344B2 (en) | Enterprise multi-program process development and integration process | |
WO2012051389A1 (en) | Method and system for developing data integration applications with reusable semantic types to represent and process application data | |
JP2000148814A (en) | Component part data management system and computer readable storage medium with component part data management program stored therein | |
JP2001273313A (en) | Device and method for describing process and method for classifying process | |
Yuan et al. | An automated functional decomposition method based on morphological changes of material flows | |
Tekinerdoğan et al. | Classifying and evaluating architecture design methods | |
Nardello et al. | Automated modeling with abstraction for enterprise architecture (AMA4EA): business process model automation in an industry 4.0 laboratory | |
Pepin et al. | An improved model facet method to support EA alignment | |
US20050154976A1 (en) | Method and system for automated metamodel system software code standardization | |
Berio et al. | The M*-OBJECT methodology for information system design in CIM environments | |
WO2005124541A1 (en) | Software life cycle management method and software life cycle management device | |
Nešic et al. | Applying multi-level modeling to data integration in product line engineering | |
JP2005092855A (en) | Software development support apparatus and software development support method | |
Yeager et al. | Entity-based system dynamics | |
León et al. | Model-to-model transformation: From uml class diagrams to labeled property graphs | |
Simitsis | Modeling and optimization of extraction-transformation-loading (ETL) processes in data warehouse environments | |
Silva et al. | Revisiting requirement engineering for intelligent manufacturing | |
Malekan et al. | A systematic approach for business service consolidation in virtual organizations | |
US11526895B2 (en) | Method and system for implementing a CRM quote and order capture context service | |
Azzaoui et al. | A model driven architecture approach to generate multidimensional schemas of data warehouses |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090414 |