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 PDF

Info

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
Application number
JP2004176444A
Other languages
Japanese (ja)
Inventor
Toshiyasu Kunii
利▲泰▼ 國井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kanazawa Institute of Technology (KIT)
Original Assignee
Kanazawa Institute of Technology (KIT)
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kanazawa Institute of Technology (KIT) filed Critical Kanazawa Institute of Technology (KIT)
Priority to JP2004176444A priority Critical patent/JP2006003939A/en
Priority to PCT/JP2005/010355 priority patent/WO2005124541A1/en
Publication of JP2006003939A publication Critical patent/JP2006003939A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software 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

<P>PROBLEM TO BE SOLVED: To provide a software life cycle management technique that can support the automation of software development, testing and maintenance by ensuring the interoperability of software components as a linear model. <P>SOLUTION: A topological space level processing block 130 designs programs stored in an object set storage part 190 as topological spaces. An attaching space level processing block 140 sets equivalence relations on the plurality of programs to design an attaching space in which program modules associated with the equivalence relations are attached together. A cellular space level processing block 150 represents the attributes of the modules in cells and designs the dimensions of the cells, and a representation level processing block 160 designs the representations of the cells. A view level processing block 170 designs a view for a software developer or maintainer. A homotopy level processing block 110 designs program changes caused by operations involved in software development, testing and maintenance as a homotopy. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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).

情報システム構築は、たとえば大手銀行の統合に伴う統合システムに典型的にみられるように、単一大規模サイト向けから、複数分散大規模サイト向けに加速度的に移行しつつある。ところが、その基盤技術となっている現在のソフトウエア工学、リエンジニアリング技術において、これに対応するための基本的枠組みとしてのエンジニアリングモデルが欠落している。その理由は、統合方法がモデルレベルで欠如しているために、各サイト構築担当のエンジニアが個々にモジュール群を工夫して設計・構築している点にある。このために、モジュール群仕様がサイト毎に自ずと異なる。モジュール群の仕様が相互に開示されれば、再構築も可能であるが、モジュールの数の組み合わせにより指数関数的に再構築システム数が増え、いわゆる「開発工数爆発」が生じる。しかも、実際には、企業機密保持上モジュール群の仕様が開示されない場合のほうが多い。この場合、モジュール間のインタフェイス作成情報が開示されるものの、インタフェイス数も組み合わせにより指数関数的に増加するので、一層「開発工数爆発」の様相が顕著となる。
シャリ・ローレンス・プリーガー著,堀内泰輔訳,「ソフトウエア工学 理論と実践」,初版,株式会社ピアソン・エデュケーション,2001年11月 Philip A. Laplante and Colin J. Neill, "The Demise of the Waterfall Model Is Imminent" and Other Urban Myths, ACM QUEUE (Feb. 2004), Vol.1, No.10, pp.10-15.
Information system construction is accelerating from a single large-scale site to a multi-distributed large-scale site, as is typically seen in integrated systems associated with the integration of large banks, for example. However, the current software engineering and re-engineering technology, which is the basic technology, lacks an engineering model as a basic framework for dealing with this. The reason is that the integration method is lacking at the model level, so that the engineers in charge of each site design and construct each module group individually. For this reason, module group specifications are naturally different for each site. If the specifications of the module group are disclosed to each other, reconstruction is possible, but the number of reconstruction systems increases exponentially by the combination of the number of modules, and so-called “development of man-hours” occurs. Moreover, in reality, there are more cases where the specifications of the module group are not disclosed for the purpose of maintaining corporate confidentiality. In this case, although interface creation information between modules is disclosed, the number of interfaces also increases exponentially by the combination, so the aspect of “development of man-hours” becomes even more prominent.
By Shari Lawrence Priger, translated by Taisuke Horiuchi, "Software Engineering Theory and Practice", First Edition, Pearson Education, November 2001 Philip A. Laplante and Colin J. Neill, "The Demise of the Waterfall Model Is Imminent" and Other Urban Myths, ACM QUEUE (Feb. 2004), Vol.1, No.10, pp.10-15.

ソフトウエアの効率的な開発と保守を支援するための理論的基礎となるエンジニアリングモデルが欠如しているために、要求分析からシステム設計、実装、テスト、保守に至るまでのソフトウエアライフサイクルのスムーズな流れが滞り、ソフトウエア開発が遅延し、また、運用段階で不測の事態が発生しやすいためリスク管理が難しく、ソフトウエアの保守にかかるコストが増大している。   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)

Figure 2006003939
は、Uを含むXのすべての閉部分集合の積である。言い換えれば、Uの閉包は、Uの外部(exterior)要素でないXの要素である。Xの部分集合{U|U⊆X}のすべてからなる集合をXの巾(べき)集合といい、2と表記する。これはまたXの離散位相(discrete topology)とも呼ばれる。離散位相はサイバースペースを部分サイバースペースからなるものとして設計する上でたいへん有用である。なお、集合を要素とする集合(いわゆる「集合の集合」)を「集合族」(family of sets)ということがある。Xの巾集合は、集合Xのすべての部分集合を要素とする集合族である。 Let's start designing the cyberspace architecture from set X as the first cyberspace. Given all the elements u of an unknown cyberspace U, if it is confirmed that they are all elements of cyberspace X, the unknown cyberspace is designated as a subset of X, ie X It is called “partial cyberspace” and written as U⊆X. Whether it is a subset can be automatically checked by processing (∀u) (uεU → uεX). U closure
Figure 2006003939
Is the product of all closed subsets of X including U. In other words, the closure of U is an element of X that is not an exterior element of U. A set consisting of all of the subsets {U | U⊆X} of X is referred to as a width (power) set of X and is expressed as 2X. This is also called the X discrete topology. Discrete phases are very useful in designing cyberspace as consisting of partial cyberspace. A set having a set as an element (a so-called “set of sets”) is sometimes referred to as a “family of sets”. The width set of X is a set family whose elements are all the subsets of the set X.

[2]位相幾何学的設計
これから、サイバースペースをXの(複数の)部分サイバースペースとその重複(overlap)の和として設計する作業に入る。このように設計されるサイバースペースは一般に位相(トポロジー)空間(X,T)と呼ばれる。ここでT⊆2である。位相空間の設計は次の仕様により自動化される。
1)X∈Tかつφ∈T;
2)任意の添え字の集合Jに対して、
∀j∈J(U∈T)→∪j∈J∈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の巾集合2からこの設計仕様を満たすように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')と同相であることを

Figure 2006003939
と書く。 How can we say that (X, T) and (Y, T ′) are equivalent when given two phase spaces (X, T) and (Y, T ′)? A criterion is provided here to automatically validate that the spaces are topologically equivalent using a computer. The two phase spaces (X, T) and (Y, T ′) are continuous with a continuous function f: (X, T) → (Y, T ′) and an inverse function thereof. Then, it is said to be topologically equivalent, ie, in-phase, in-phase, or homeomorphic. (X, T) is in phase with (Y, T ')
Figure 2006003939
Write.

それでは、関数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/〜∈2|x∈X}⊆2
推移律より、各x∈X、x/〜≠φについて、以下が成り立つ。

Figure 2006003939
これは集合Xが空でない互いに素の(すなわち共通要素をもたない)同値類に分割される(分解されるともいう)ことを意味する。 When xεX is given, a subset of X defined by x / ˜ = {yεX: x˜y} is called an equivalent class of x. Here, a class actually means a set, but it is traditionally called a class and is difficult to change now. A set X / ˜ of all equivalence classes is called a quotient space or equalization space of X.
X / ˜ = {x / ˜ε2 X | xεX} ⊆2 X
From the transition rule, the following holds for each x∈X and x / ˜ ≠ φ.
Figure 2006003939
This means that the set X is divided into disjoint equivalence classes (that is, no common elements) that are not empty (also referred to as being decomposed).

一般に、集合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の部分集合X⊆Xに対して、
が開である⇔f−1(X)|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)(別名、「排他的論理和」)といい、

Figure 2006003939
と表す。逆に集合Cは互いに素である2つの集合Aと集合Bに直和分解されるということができる。 [6] Adhesive space Generally, when there is no element common to the set A and the set B, that is, when AφB = φ, it is said that A and B are mutually disjoint. The union set C of the set A and the set B which are relatively prime is called a disjoint union (also called “exclusive OR”),
Figure 2006003939
It expresses. Conversely, it can be said that the set C is directly summed into two sets A and B which are relatively prime.

さて、位相空間Xから始めて、これに別の位相空間Yを接着する。図1は、2つの互いに素である位相空間X、Yから接着空間が生成される様子を説明する図である。

Figure 2006003939
は、接着写像(attaching map)fによってYをXに接着(attach)することによって得られる接着空間(attaching space)である。この接着写像fは、各点y∈Y|Y⊂Yをその像f(y)∈Xと同一視することにより同値関係を規定するものである。 Now, starting from the phase space X, another phase space Y is bonded thereto. FIG. 1 is a diagram illustrating a state in which an adhesive space is generated from two mutually prime phase spaces X and Y.
Figure 2006003939
Is an attaching space obtained by attaching Y to X by an attaching map f. This adhesion map f defines an equivalence relation by equating each point yεY 0 | Y 0 ⊂Y with its image f (y) εX.

接着写像fは、f:Y→Xである連続写像である。ただしY⊂Yである。このように、接着空間

Figure 2006003939
は商空間の一例であり、
Figure 2006003939
である。この場合における等化写像(identification map)gは、
Figure 2006003939
である。すなわち、等化写像gは、互いに素である2つの位相空間X、Yの直和
Figure 2006003939
を、接着写像fによって規定される同値関係による同値類の直和
Figure 2006003939
に写像する。 The adhesion map f is a continuous map of f: Y 0 → X. However, Y 0 ⊂Y. Thus, the adhesive space
Figure 2006003939
Is an example of a quotient space,
Figure 2006003939
It is. The identification map g in this case is
Figure 2006003939
It is. That is, the equalization map g is a direct sum of two phase spaces X and Y that are relatively prime.
Figure 2006003939
Is the direct sum of equivalence classes according to the equivalence relation defined by the adhesion map f.
Figure 2006003939
To map.

[7]制限と包含
任意の関数g:Y→Zに対して、gのX(X⊆Y)への制限(restriction)とは、

Figure 2006003939
である。ここで
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
Figure 2006003939
It is. Here, i: X → Y is an inclusion. That is, ∀x∈X, i (x) = x
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を満たす恒等写像1:A→Aの連続エクステンションである。したがって、r|A=1である。 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に対して、

Figure 2006003939
を満たすレトラクション(retraction)r:X→Aがあるならば、AをXの変形レトラクト(deformation retract)と呼び、
Figure 2006003939
で表す。
もし、Aがただ一つの点A={a}⊂Xであるならば、Aはレトラクト可能(retractable)といい、
Figure 2006003939
で表す。 For A⊂X,
Figure 2006003939
If there is a retraction r: X → A that satisfies A, then A is called the deformation retract of X,
Figure 2006003939
Represented by
If A is a single point A = {a} ⊂X, then A is said to be retractable,
Figure 2006003939
Represented by

[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}=fi
H|X×{1}=gi
ここで
=X×{0}→X
=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)

Figure 2006003939
である、すなわち同じホモトピー型をもつように設計する。それは、次の条件が満たされるように設計することでなされる。 Now, the design of the phase space at the homotopy level will be described. The two phase spaces X and Y are homotopically equivalent
Figure 2006003939
That is, it is designed to have the same homotopy type. This is done by designing so that the following conditions are satisfied.

2つの連続写像f:X→Yおよびh:Y→Xに対して、

Figure 2006003939
である。ここで1および1は恒等写像、すなわち1:X→X、1:Y→Yである。 For two successive maps f: X → Y and h: Y → X,
Figure 2006003939
It is. Here, 1 X and 1 Y are identity maps, that is, 1 X : X → X, 1 Y : Y → Y.

ホモトピー同値も同値関係の一例であるが、ホモトピー同値はトポロジー同値よりも広い概念である。ホモトピー同値は、変化の後、位相幾何学的にはもはや同値ではなくなる情報の変化を同定することができる。情報はいろいろな操作や処理により変化するが、その操作および処理はホモトピーによって指定され、情報の変化はホモトピー同値によって検証される。事実、不変性(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)を

Figure 2006003939
と表記する。 Closed n-cell
Figure 2006003939
Is written.

開のnセル(open n-cell)を

Figure 2006003939
と表記する(しばしばeとも書かれる)。 Open n-cell
Figure 2006003939
It referred to as (often written as e n).

閉のnセル

Figure 2006003939
は、n次元閉球体(closed n-dimensional ball)である。ここで
Figure 2006003939
はn次元の実数である。 Closed n cell
Figure 2006003939
Is a closed n-dimensional ball. here
Figure 2006003939
Is an n-dimensional real number.

開のnセル

Figure 2006003939
は、n次元開球体(open n-dimensional ball)であり、n次元閉球体
Figure 2006003939
の内部である。
Figure 2006003939
は、閉のnセルの境界であり、これは(n−1)次元球面(sphere)Sn−1である。 Open n cell
Figure 2006003939
Is an n-dimensional open ball (n-dimensional ball)
Figure 2006003939
Inside.
Figure 2006003939
Is a closed n-cell boundary, which is an (n−1) -dimensional sphere S n−1 .

位相空間Xに対して、特性写像(characteristic map)

Figure 2006003939
は、連続関数
Figure 2006003939
であり、次を満たす。
Figure 2006003939
For phase space X, characteristic map
Figure 2006003939
Is a continuous function
Figure 2006003939
And satisfy the following.
Figure 2006003939

Figure 2006003939
は、開のnセルであり、
Figure 2006003939
は、閉のnセルである。
Figure 2006003939
Is an open n-cell,
Figure 2006003939
Is a closed n-cell.

位相空間Xから、整数集合Zによってインデックスが与えられた、Xの部分空間であるセルXの有限または無限の系列{X|X⊆X,p∈Z}を構成することができる。これは、フィルトレーション(filtration)と呼ばれ、次の条件を満たす。XはXの被覆(covering)、すなわちX=∪p∈Zであり、かつ、Xp−1はXの部分空間、すなわちX⊆X⊆X⊆…⊆Xp−1⊆X⊆…⊆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={X|X⊂X,p∈Z}を位相空間Xのセル分解(cell decomposition)、あるいは、位相空間Xの、閉セルである部分空間Xへの分割(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が与えられたとき、スケルトンX⊆X⊆X⊆…⊆Xp−1⊆X⊆…⊆XをもったフィルトレーションXを以下の条件を満たす位相空間として帰納的に構成することができる。
(1)X⊂Xは、その要素がXの0次元セルである部分空間であり、かつ
(2)XはXp−1から次のようにして作られる。すなわち、Xは、接着写像と呼ばれる全射かつ連続な写像

Figure 2006003939
によって、Xp−1にp次元閉球体の直和(disjoint union)
Figure 2006003939
を接着することによって作られる。 More precisely, according to JHC Whitehead, "Algebraic Homotopy Theory", Proceedings of International Congress of Mathematics, II, Harvard University Press, pp. 354-357, 1950, when phase space X is given, skeleton X 0 The filtration X p having ⊆X 1 ⊆X 2 ⊆ ... ⊆X p-1 ⊆X p ⊆ ... ⊆X can be recursively configured as a phase space satisfying the following conditions.
(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.
Figure 2006003939
Gives the pjoint union of p-dimensional spheres in Xp -1.
Figure 2006003939
Made by gluing.

言い換えれば、Xは、直和

Figure 2006003939
を求め、
Figure 2006003939
における各点x、すなわち
Figure 2006003939
を、連続写像
Figure 2006003939
(ただし、各インデックスiに対してx〜f(x)である)
によって、その像
Figure 2006003939
と同一視(identify)することによって、Xp−1から構成される。 In other words, X p is a direct sum
Figure 2006003939
Seeking
Figure 2006003939
Each point x in
Figure 2006003939
A continuous mapping
Figure 2006003939
(Where x to f i (x) for each index i)
By that statue
Figure 2006003939
Is identified by X p−1 .

このように、Xは商空間(quotient space)あるいは等化空間(identification space)であり、

Figure 2006003939
と書くことができ、これは、接着空間の一例である。写像Fはセル
Figure 2006003939
の接着写像の一例である。 Thus, X p is a quotient space (quotient space) or equalization space (identification space),
Figure 2006003939
This is an example of an adhesive space. Map Fi is a cell
Figure 2006003939
It is an example of the adhesion map.

フィルトレーション空間(filtration space)は、フィルトレーションとホモトピー同値な(homotopically equivalent)空間である。位相空間XとスケルトンX⊆X⊆X⊆…⊆Xp−1⊆X⊆…⊆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.

このようにして、写像

Figure 2006003939
を等化写像(identification map)の一例として得る。
Figure 2006003939
In this way, the mapping
Figure 2006003939
Is obtained as an example of an identification map.
Figure 2006003939

各nセル

Figure 2006003939
に対する特性写像(characteristic map)
Figure 2006003939
は、
Figure 2006003939
と書ける。 N cells
Figure 2006003939
Characteristic map for
Figure 2006003939
Is
Figure 2006003939
Can be written.

p−1をXの閉の部分空間として埋め込むことは

Figure 2006003939
と書ける。 Embedding X p-1 as a closed subspace of X p is
Figure 2006003939
Can be written.

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)すなわちT位相空間に限られない。T位相空間では、分離公理により、異なる2点が開集合で分離できるが、異なる2点を開集合で分離することのできないT位相空間やT位相空間であっても、同様に接着空間が設計できることに留意する。したがって、抽象階層モデルは、非常に汎用性が高いものである。 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ページに投稿されている収益の期待できるファンドYを見つけたとする。この時点では、顧客XはWebで「ウインドウショッピング」をしている段階であるから、顧客Xと取引会社Yはファンドをまだ共有していない。したがって、XとYは互いに素であり、共通要素を持たない。すなわち、

Figure 2006003939
と表記することができる。一般化のために、XとYを位相空間とする。ファンドYは金融取引会社Yの属性の一部であるから、Y⊂Yが成り立つ。図2は、Web上のエレクトロニックファイナンスのプロセスをWebグラフィックスにおいて図示したものである。次に、ファンドが取引のために特定された後、顧客Xは取引会社Yとどのようにして関係づけられるかを述べる。ここで提案するWeb情報モデルは、顧客Xと取引会社Yの関係を接着写像fによって正確に表現し、また、「ファンドYが取引のために特定されている」という状況を2つの互いに素である位相空間X(顧客)と位相空間Y(金融取引会社)の接着空間として表現する。この接着空間は、顧客Xから始めて、金融取引会社Yを顧客Xに接着することにより得られる。ここで、YのXへの接着は、連続写像fを介して、各点y∈Y|Y⊆Yをその像f(y)∈Xと同一視することによって行われ、その結果、x〜f(y)|∀y∈Yである。このように、〜で表記される同値は、Web情報の接着空間モデルとして接着空間を作成するために、Web情報モデリングにおいて中心的な役割を果たす。 [14.2] in Web information modeling Electronic Finance of electronic finance, find customer X is, when you are surfing the Web, the fund Y 0 can be expected of the revenue that has been posted on the home page of the Web page of the financial transaction company Y Suppose. At this point, since the customer X is in the stage of “window shopping” on the Web, the customer X and the trading company Y have not yet shared the fund. Accordingly, X and Y are relatively prime and have no common elements. That is,
Figure 2006003939
Can be expressed as: For generalization, let X and Y be phase spaces. Since fund Y 0 is part of the attributes of financial transaction company Y, Y 0 ⊂Y holds. FIG. 2 illustrates the electronic finance process on the Web in Web graphics. The following describes how customer X is associated with trading company Y after the fund is identified for trading. The Web information model proposed here accurately represents the relationship between the customer X and the trading company Y by the adhesion map f, and the situation that “the fund Y 0 is specified for trading” It is expressed as a bonding space between the phase space X (customer) and the phase space Y (financial trading company). This bonding space is obtained by bonding the financial transaction company Y to the customer X starting from the customer X. Here, the adhesion of Y to X is performed by equating each point yεY 0 | Y 0 ⊆Y with its image f (y) εX via the continuous map f, so that x~f (y) | ∀y∈Y is 0. As described above, the equivalent value represented by ~ plays a central role in Web information modeling in order to create an adhesive space as an adhesive space model of Web information.

上記の接着空間モデルは、エレクトロニックマニュファクチャリングにおいてもまったく本質的に等しく適用することができる。エレクトロニックマニュファクチャリングプロセスを管理し、表示するために正確に同一の技術が要求される。エレクトロニックマニュファクチャリングが市場の需要に効果的に即応するためには、いかにしていろいろなサイズのコンポーネントを統一したデザインで組み立てるかを指定しなければならない。先に提示したエレクトロニックファイナンスは、顧客と取引会社をエレクトロニックマニュファクチャリングのコンポーネントとして組み立てることであると考えることにより、エレクトロニックファイナンスのための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 development support apparatus 100 according to the embodiment. The object set storage unit 190 holds a set of objects used for software development. Objects used for software development, that is, software components are data structures and program modules. The software development support apparatus 100 refers to a collection of objects stored in the object collection storage unit 190. The software development support apparatus 100 may acquire and refer to an object set from an information system on the web without using the object set storage unit 190. Hereinafter, in the embodiment, a case where a predetermined correspondence or interface is defined between two object sets will be described for convenience of explanation. More generally, a plurality of object sets are referred to to refer to those object sets. This is just an example of defining an interface between them.

ソフトウエア開発支援装置100は、ホモトピーレベル処理ブロック110、集合レベル処理ブロック120、位相空間レベル処理ブロック130、接着空間レベル処理ブロック140、セル空間レベル処理ブロック150、表現レベル処理ブロック160、およびビューレベル処理ブロック170を含み、それぞれ既に述べたインクリメンタリモジュラな抽象階層モデルにおける各階層レベルの処理を行う。   The software development support apparatus 100 includes a homotopy level processing block 110, an aggregation level processing block 120, a phase space level processing block 130, an adhesion space level processing block 140, a cell space level processing block 150, an expression level processing block 160, and a view level. A processing block 170 is included to perform processing at each hierarchical level in the incremental modular abstract hierarchical model already described.

集合レベル処理ブロック120は、オブジェクト集合記憶部190に格納されたオブジェクトの集まりに集合演算を適宜施して、設計対象となる2つのオブジェクト集合を特定する。位相空間レベル処理ブロック130は、集合レベル処理ブロック120が特定した2つのオブジェクト集合に対して位相を規定することで、2つのオブジェクト集合はそれぞれ位相空間X、Yとして設計する。この時点で2つの位相空間X、Yは互いに素であり、これらの位相空間X、Yの直和あるいは排他的論理和である

Figure 2006003939
が確定する。 The set level processing block 120 appropriately performs a set operation on the set of objects stored in the object set storage unit 190 to specify two object sets to be designed. The phase space level processing block 130 defines the phases for the two object sets specified by the set level processing block 120, and the two object sets are designed as phase spaces X and Y, respectively. At this point, the two phase spaces X and Y are relatively prime and are the direct sum or exclusive OR of these phase spaces X and Y.
Figure 2006003939
Is confirmed.

接着空間レベル処理ブロック140は、図5にその詳細な構成を示すように、同値関係設定部44、同値関係保持部52、対応要素抽出部20、接着写像取得部22、等化写像取得部24、手順取得部26、および手順記録部28を含む。   As shown in FIG. 5 in detail, the bonding space level processing block 140 includes an equivalence relation setting unit 44, an equivalence relation holding unit 52, a corresponding element extraction unit 20, an adhesion mapping acquisition unit 22, and an equalization mapping acquisition unit 24. The procedure acquisition unit 26 and the procedure recording unit 28 are included.

同値関係設定部44は、2つのオブジェクト集合に適用したい同値関係の入力をユーザから受け付ける他、ユーザの入力をもとにして自動的に同値関係を生成する。ユーザが同値関係を設定しやすいように、同値関係保持部52は同値関係の候補があらかじめ格納されている。また、ユーザがオブジェクト集合の要素を指定して同値関係を記述することのできるインタフェイスを設けてもよい。   The equivalence relation setting unit 44 receives an input of equivalence relations to be applied to two object sets from the user, and automatically generates an equivalence relation based on the user input. In order for the user to easily set the equivalence relation, the equivalence relation holding unit 52 stores candidates for the equivalence relation in advance. Further, an interface may be provided in which the user can specify the elements of the object set and describe the equivalence relation.

同値関係設定部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 element extraction unit 20. The corresponding element extraction unit 20 extracts constituent elements (hereinafter also referred to as “target elements”) for which a correspondence relationship is to be defined in the two object sets based on the target equivalence relationship. At this time, the user may designate one of the target elements in one object set, and the corresponding element extraction unit 20 may extract the corresponding target element from the other object set based on the target equivalence relationship.

対応要素抽出部20により対応しあうことが判明した対象要素は、ひとつの部分位相空間、すなわち同値類を形成し、接着空間モデルの理論的保証により、同値類の排他的論理和として接着空間が形成される。同値類は同値関係で規定される不変量をもとに分類されるため、オブジェクト集合を客観的に分類することができ、分類の結果にはシステム設計者による個人差が含まれない。また、一方の対象要素を決めると、他方の対象要素が決まるため、前述のごとく、対応関係またはインタフェイスの数が線形になり、インターオペラビリティが保証されることになる。   The target elements found to correspond with each other by the corresponding element extraction unit 20 form one partial phase space, that is, an equivalence class, and with the theoretical guarantee of the adhesion space model, the adhesion space is obtained as an exclusive OR of the equivalence classes. It is formed. Since equivalence classes are classified based on invariants defined by equivalence relations, the object set can be objectively classified, and the classification results do not include individual differences by the system designer. When one target element is determined, the other target element is determined. As described above, the correspondence or the number of interfaces is linear, and interoperability is guaranteed.

目的同値関係が決まると、対象要素間がどのような意味において対応するか、その関係も一意に決まる。そのため、接着写像取得部22は対象要素間の対応を示す接着写像fを特定することができる。接着写像fが決まると、接着空間も、

Figure 2006003939
と定まる。接着空間は、もとは共通部分をもたない位相空間XとYの間に、接着写像fを媒介として対応関係を持たせた位相空間である。 When the objective equivalence relationship is determined, the relationship between the target elements is also determined uniquely. Therefore, the adhesion map acquisition unit 22 can specify the adhesion map f indicating the correspondence between the target elements. Once the adhesive map f is determined, the adhesive space is
Figure 2006003939
Is determined. The adhesion space is a phase space in which a correspondence relationship is established between the phase spaces X and Y that originally have no common part, using the adhesion map f as a medium.

等化写像取得部24は、位相空間XとYの単なる排他的論理和の空間から、接着写像fによって定まる接着空間への写像である等化写像gを取得する。等化写像gは、現実には、その定義から位相空間X、Yおよび接着写像fによって記述することができる。   The equalization map acquisition unit 24 acquires an equalization map g, which is a map to the adhesive space determined by the adhesive map f, from the space of the mere exclusive OR of the phase spaces X and Y. The equalization map g can actually be described by the phase space X, Y and the adhesion map f from its definition.

手順取得部26は、同値関係設定部44から目的同値関係、対応要素抽出部20から対象要素、接着写像取得部22から接着写像f、等化写像取得部24から等化写像gの入力を受け、ユーザにより指定された対象要素および目的同値関係(以下、これらを「注目手順」ともいう)をホモトピーとして、一連の処理の結果で特定される、
・位相空間X、Y
・目的同値関係
・接着写像f
・等化写像g
と関連づけて手順記録部28へ記録する。
The procedure acquisition unit 26 receives the target equivalence relationship from the equivalence relationship setting unit 44, the target element from the corresponding element extraction unit 20, the adhesion map f from the adhesion map acquisition unit 22, and the equalization map g from the equalization map acquisition unit 24. The target element specified by the user and the target equivalence relationship (hereinafter also referred to as “attention procedure”) are identified as the result of a series of processing, using homotopy.
・ Phase space X, Y
-Objective equivalence relation-Adhesive mapping f
・ Equalization map g
And recorded in the procedure recording unit 28.

セル空間レベル処理ブロック150は、図6にその詳細な構成を示すように、セル接合部62、セル次元調整部64、および対応テーブル保持部66を含む。セル空間レベル処理ブロック150は、接着空間レベル処理ブロック140において目的同値関係をもとに接着空間として設計された複数のオブジェクト集合の仕様を継承して、セル空間レベルでオブジェクト集合の仕様を詳細化する。セル構造空間モデルは、接着空間モデルに次元を導入したものであり、オブジェクトの属性のIDや属性の個数に関する仕様がセル空間レベルで詳細化されることになる。   The cell space level processing block 150 includes a cell junction 62, a cell dimension adjusting unit 64, and a correspondence table holding unit 66, as shown in detail in FIG. The cell space level processing block 150 inherits the specifications of a plurality of object sets designed as an adhesion space based on the objective equivalence relation in the adhesion space level processing block 140, and refines the object set specifications at the cell space level. To do. The cell structure space model is obtained by introducing a dimension into the adhesion space model, and specifications regarding the attribute ID of the object and the number of attributes are detailed at the cell space level.

セル接合部62は、2つのオブジェクト集合間で目的同値関係により対応関係にある2つの対象要素を接合し、各オブジェクト集合に属するオブジェクトの属性をセルで表現する。セル次元調整部64は、対応する2つの対象要素間に属性の次元に関する不整合がある場合、その不整合を解消するための処理を行う。セルの次元に関する不整合として、対象要素の属性のIDや個数の違いなどがある。セル次元調整部64は、必要に応じて、2つの対象要素間で属性のIDや属性の個数の不揃いを調整し、2つの対象要素間の属性の対応関係を示すテーブルを対応テーブル保持部66に格納する。   The cell joining unit 62 joins two target elements that are in a correspondence relationship between two object sets by a target equivalence relation, and expresses attributes of objects belonging to each object set by cells. When there is an inconsistency regarding the attribute dimension between the two corresponding target elements, the cell dimension adjusting unit 64 performs processing for eliminating the inconsistency. As the inconsistency regarding the dimension of the cell, there is a difference in the attribute ID or number of the target element. The cell dimension adjusting unit 64 adjusts attribute IDs and the number of attributes between the two target elements as necessary, and a table indicating the attribute correspondence between the two target elements. To store.

表現レベル処理ブロック160は、図7にその詳細な構成を示すように、表現生成部72、表現形式調整部74、および変換テーブル保持部76を含む。表現レベル処理ブロック160は、セル空間レベル処理ブロック150においてセル空間レベルで詳細化されたオブジェクト集合の仕様を継承して、表現レベルでオブジェクト集合の仕様をさらに詳細化する。表現レベルでは、セルの具体的な表現形式を決めるため、オブジェクトの属性のデータ型や桁数などに関する仕様が詳細化されることになる。   The expression level processing block 160 includes an expression generation unit 72, an expression format adjustment unit 74, and a conversion table holding unit 76, as shown in detail in FIG. The expression level processing block 160 inherits the specification of the object set detailed at the cell space level in the cell space level processing block 150, and further refines the specification of the object set at the expression level. At the expression level, in order to determine the specific expression format of the cell, the specifications regarding the data type and the number of digits of the attribute of the object will be detailed.

表現生成部72は、2つのオブジェクト集合のそれぞれに属するオブジェクトの属性の表現を生成する。表現形式調整部74は、目的同値関係により対応関係にある2つの対象要素間に表現レベルの不整合がある場合に、その不整合を調整するための処理を行う。表現レベルの不整合として、対象要素の属性のデータ型や桁数の違いなどがある。データ型には、ブール値、符号付き整数、正の整数、実数、倍精度実数、文字型などがあり、表現形式調整部74はこれらのデータ型を変換して対象要素のデータ型を揃えてもよい。また、データ型が同じでも文字列の桁数や数値の有効桁数などの桁数が異なる場合には、表現形式調整部74は2つの対象要素間で属性の桁数を調整して揃えてもよい。その他の不整合の例として、計量や貨幣などの単位の違いがあり、変換式を用いて、一方の単位系が他方の単位系に変換される。   The expression generation unit 72 generates expression of attributes of objects belonging to each of the two object sets. The expression format adjustment unit 74 performs processing for adjusting the inconsistency when there is an inconsistency in the expression level between two target elements that are in a correspondence relationship due to the objective equivalence relation. As an inconsistency in the expression level, there is a difference in the data type and the number of digits of the attribute of the target element. Data types include Boolean values, signed integers, positive integers, real numbers, double precision real numbers, character types, etc., and the expression format adjustment unit 74 converts these data types to align the data types of the target elements. Also good. If the number of digits, such as the number of digits of a character string or the number of significant digits of a numeric value, is different even if the data type is the same, the expression format adjustment unit 74 adjusts the number of digits of the attribute between the two target elements to align them Also good. Other examples of inconsistencies include unit differences such as weighing and money, and one unit system is converted to the other unit system using a conversion formula.

表現形式調整部74は、位相空間Yを位相空間Xに接着する場合、表現レベルにおいて、位相空間Xのオブジェクト集合の対象要素と位相空間Yのオブジェクト集合の対象要素の属性のデータ型や桁数を比較して、相対的に精度が高い方の属性に揃えて、データ型や桁数を変換する。3つ以上のオブジェクト集合の対象要素間で属性の表現レベルの不整合を調整する場合も同じであり、表現形式調整部74は、複数のオブジェクト集合の対応する対象要素の属性表現の内、最も精度の高い属性表現を選んで、他の精度の低い対象要素の属性表現をその精度の高い対象要素の属性表現に合わせるように調整する。これにより、精度の異なる対象要素の接着後に、データ型変換や桁落ちなどにより元のデータが失われるのを防ぐことができる。   When adhering the phase space Y to the phase space X, the representation format adjusting unit 74 at the representation level, the data type and the number of digits of the attributes of the target element of the object set of the phase space X and the target element of the object set of the phase space Y And convert the data type and the number of digits to align with the attribute with higher accuracy. The same applies when adjusting the inconsistency of the attribute expression level among the target elements of three or more object sets, and the expression format adjusting unit 74 is the most common among the attribute expressions of the corresponding target elements of a plurality of object sets. A highly accurate attribute expression is selected, and the attribute expression of another target element with low accuracy is adjusted to match the attribute expression of the target element with high accuracy. As a result, it is possible to prevent the original data from being lost due to data type conversion or digit loss after the target elements having different precisions are bonded.

表現形式調整部74は、最大の文字数や桁数をもった受容表現をもった表現フィルタとして作用し、当該表現フィルタを通過した表現は、表現レベルで同値になる。表現形式調整部74は、表現の不整合の調整をした場合の変換規則を記述したテーブルを変換テーブル保持部76に格納する。   The expression format adjustment unit 74 acts as an expression filter having an acceptance expression having the maximum number of characters and digits, and expressions that pass through the expression filter have the same value at the expression level. The expression format adjustment unit 74 stores, in the conversion table holding unit 76, a table describing conversion rules when adjustment of expression mismatch is made.

ビューレベル処理ブロック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 level processing block 110 ensures that, when each processing block of the software development support apparatus 100 performs an operation on the object set, the change of the object set caused by the operation becomes the homotopy equivalence. The homotopy level processing block 110 includes a table indicating the correspondence between the attention procedure related to the generation of the adhesion space recorded in the procedure recording unit 28, the dimension mismatch of the cells stored in the correspondence table holding unit 66, and the conversion table holding unit 76. By using the table showing the conversion rules of the cell representation stored in the table, the object set can be returned to the state before the change by tracing back the change brought about by the respective operations.

このようにして、集合レベル処理ブロック120から始めて、位相空間レベル処理ブロック130、接着空間レベル処理ブロック140、セル空間レベル処理ブロック150、表現レベル処理ブロック160、およびビューレベル処理ブロック170へと、同値関係を継承しつつ、2つのオブジェクト集合の仕様を段階的に詳細化していくことで、2つのオブジェクト集合が表現レベルまで同値となって出力される。このようにインクリメンタリモジュラな抽象階層モデルにもとづくソフトウエア開発支援装置100は、同値関係を、集合レベルから位相空間レベル、接着空間レベル、セル空間レベル、表現レベル、およびビューレベルまで保証する一貫性のあるフィルタとして機能し、フィルタを通過したオブジェクト集合は同値関係が数学的に保証されたインスタンスとなって出力される。   In this way, starting with the set level processing block 120, the equivalence to the phase space level processing block 130, the adhesion space level processing block 140, the cell space level processing block 150, the representation level processing block 160, and the view level processing block 170 By inheriting the relationship and refining the specifications of the two object sets step by step, the two object sets are output as equivalent values up to the expression level. In this way, the software development support apparatus 100 based on the incremental modular abstract hierarchical model guarantees the equivalence relation from the collective level to the phase space level, the adhesive space level, the cell space level, the representation level, and the view level. The object set that passed through the filter is output as an instance whose equivalence relation is mathematically guaranteed.

対応づけたい構成要素が複数あれば、それぞれの構成要素について目的同値関係を設定することによって、同様に接着写像が規定され、最終的に複数のオブジェクト集合間で対応する要素が接着された結果が出力される。一方のオブジェクト集合が注目する構成要素を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 development support apparatus 100 having the above configuration will be described. When the software development support apparatus 100 develops software based on various program modules, the interface between the program modules is determined and the specification of data used in each program module is detailed. [16.1] describes the data design procedure, and [16.2] describes the program module design procedure.

[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 level processing block 120 and stored in the object set storage unit 190. These object sets may be managed as a database. The phase space level processing block 130 designs the object set 300 of the shoe shop X as the phase space X and the object set 200 of the shoe manufacturer Y as the phase space Y. At this point, the two phase spaces X and Y are disjoint.

接着空間レベル処理ブロック140は、オブジェクト集合記憶部190に格納されたシューズショップXのオブジェクト集合300を位相空間Xとして、シューズメーカーYのオブジェクト集合200を位相空間Yとして参照し、同値関係をもとに2つの位相空間X、Yから接着空間を生成する。図8に、接着空間レベル処理ブロック140により2つの位相空間が接着される様子を示す。   The adhesion space level processing block 140 refers to the object set 300 of the shoe shop X stored in the object set storage unit 190 as the phase space X and the object set 200 of the shoe manufacturer Y as the phase space Y, and based on the equivalence relation. A bonding space is generated from the two phase spaces X and Y. FIG. 8 shows how two phase spaces are bonded by the bonding space level processing block 140.

いま、シューズメーカーYの製造する特定の運動靴YをシューズショップXが仕入れて、販売しているとする。このとき、ソフトウエアの開発者は、シューズショップXのオブジェクト集合、シューズメーカーYのオブジェクト集合との間でこの運動靴Yをプログラム上では同一のオブジェクトとして扱いたい。同値関係設定部44は、シューズメーカーYとシューズショップXの位相空間の間で、注目すべき対象要素である運動靴Yを同値関係にあるものとして設定する。 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 relation setting unit 44 sets the athletic shoe Y 0 that is a target element to be noted between the shoe manufacturer Y and the phase space of the shoe shop X as having an equivalence relation.

対応要素抽出部20は、シューズメーカーYの運動靴Y(符号202)に対応するシューズショップXの運動靴f(Y)(符号302)を抽出する。接着写像取得部22は、この対応関係をもとに、接着写像f:Y→X|Y⊆Yを取得する。 The corresponding element extraction unit 20 extracts the athletic shoes f (Y 0 ) (reference numeral 302) of the shoe shop X corresponding to the athletic shoes Y 0 (reference numeral 202) of the shoe manufacturer Y. The adhesion map acquisition unit 22 acquires the adhesion map f: Y 0 → X | Y 0 ⊆Y based on this correspondence.

等化写像取得部24は、接着写像取得部22が取得した接着写像fによって、シューズショップXとシューズメーカーYの2つの位相空間の排他的論理和を接着空間

Figure 2006003939
に写像する等化写像gを取得する。すなわち、等化写像取得部24は、等化写像
Figure 2006003939
を取得する。ここで、
Figure 2006003939
であり、同図に示すように、運動靴f(Y)(符号402)において2つの位相空間X、Yが接着する。 The equalization map acquisition unit 24 calculates an exclusive logical sum of the two phase spaces of the shoe shop X and the shoe manufacturer Y by the adhesive map f acquired by the adhesive map acquisition unit 22.
Figure 2006003939
An equalization map g that maps to is obtained. That is, the equalization map acquisition unit 24 performs the equalization map.
Figure 2006003939
To get. here,
Figure 2006003939
As shown in the figure, the two phase spaces X and Y are bonded to each other in the athletic shoe f (Y 0 ) (reference numeral 402).

図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 athletic shoe 202 in the phase space of the shoemaker Y. The athletic shoe 202 includes a shoe brand name 210, a company name 212, a type 214, a size 216, a color 218, a material 220, a suggested retail price 222, a manufacturing cost 224, and a country of origin 226 as cell attributes.

図10は、シューズショップXの位相空間における運動靴302のセル構造を説明する図である。運動靴302は、セルの属性として、靴のブランド名310、メーカー名312、種類314、サイズ316、色318、素材320、売価322、および販売店324を含む。   FIG. 10 is a diagram illustrating the cell structure of the athletic shoe 302 in the phase space of the shoe shop X. The athletic shoe 302 includes shoe brand name 310, manufacturer name 312, type 314, size 316, color 318, material 320, selling price 322, and sales store 324 as cell attributes.

セル空間レベル処理ブロック150のセル接合部62は、図9に示すシューズメーカーYの位相空間における運動靴202と、図10に示すシューズショップXの位相空間における運動靴302をセルレベルで接合するため、共通する属性を互いに対応づける。靴のブランド名210、310、種類214、314、サイズ216、316、色218、318、素材220、320は属性名が一致するため、共通する属性として対応づけられる。   The cell joint unit 62 of the cell space level processing block 150 joins the athletic shoe 202 in the phase space of the shoemaker Y shown in FIG. 9 and the athletic shoe 302 in the phase space of the shoe shop X shown in FIG. , And associate common attributes with each other. The shoe brand names 210 and 310, the types 214 and 314, the sizes 216 and 316, the colors 218 and 318, and the materials 220 and 320 are associated with each other because the attribute names match.

シューズメーカーYの運動靴202の会社名212と、シューズショップXの運動靴302のメーカー名312は、属性名は異なるが同一の要素である。そこで、セル空間レベル処理ブロック150のセル次元調整部64は、シューズメーカーY側の属性名をシューズショップX側の属性名に対応づけ、接合セルにおける属性名を「メーカー名」に統一することで不整合を調整し、シューズメーカーY側の「会社名」をシューズショップX側の「メーカー名」に対応づける関係を記述したテーブルを対応テーブル保持部66に保持する。   The company name 212 of the athletic shoes 202 of the shoe manufacturer Y and the manufacturer name 312 of the athletic shoes 302 of the shoe shop X are the same elements, although the attribute names are different. Therefore, the cell dimension adjusting unit 64 of the cell space level processing block 150 associates the attribute name on the shoe manufacturer Y side with the attribute name on the shoe shop X side, and unifies the attribute name in the joint cell to “maker name”. The correspondence table holding unit 66 holds a table describing the relationship in which the inconsistency is adjusted and the “company name” on the shoe manufacturer Y side is associated with the “maker name” on the shoe shop X side.

シューズメーカー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 athletic shoes 202 of the shoe manufacturer Y and the athletic shoes 302 of the shoe shop X are joined at the cell level, there may be an attribute in one phase space and no corresponding attribute in the other phase space. For example, the athletic shoe 202 of the shoe maker Y has the attribute of the country of origin 226, but the athletic shoe 302 of the shoe shop X has no corresponding one. Conversely, the athletic shoe 302 of the shoe shop X has an attribute of the store 324, but the athletic shoe 202 of the shoe maker Y has no corresponding item. As described above, when associating attributes between two target elements, if the attribute a exists in the first phase space and the corresponding attribute does not exist in the second phase space, the first phase Processing is performed assuming that there is no attribute to be associated with the attribute a of the space, or processing for associating with the attribute a of the first phase space by adding an empty attribute b in the second phase space. For example, the cell dimension adjusting unit 64 processes the country of origin 226 of the athletic shoe 202 of the shoe manufacturer Y as having no attribute to be associated, while the store 324 of the athletic shoe 302 of the shoe shop X has an empty space. The attribute is added to the athletic shoes 202 of the shoe maker Y, and the process of associating with the store 324 of the athletic shoes 302 of the shoe shop X is performed to adjust the mismatch regarding the number of attributes.

属性の個数の調整の他の例として、一方の位相空間に「名前」という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 dimension adjusting unit 64 associates one attribute “name” with two attributes “last name” and “first name”, thereby mismatching the number of attributes. Can be adjusted.

図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 company name 212 on the shoe manufacturer Y side is represented by an M-digit character string as shown in FIG. On the other hand, the manufacturer name 312 on the shoe shop X side is represented by an L-digit character string as shown in FIG. Here, L <M. The expression format adjustment unit 74 of the expression level processing block 70 may determine the expression format of the manufacturer name 412 that is the attribute of the joined cell, as shown in FIG. .

対象要素の属性の表現形式において桁数の違いがあるときに、桁数の大きい方に合わせて表現することは、「受容表現レベル」の一例である。表現形式調整部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 format adjustment unit 74 adjusts the inconsistency in the expression format of the attribute of the target element by using a predetermined reception expression level as a filter.

図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 size 216 on the shoe manufacturer Y side is expressed by a real value in units of inches. On the other hand, the size 316 on the shoe shop X side is represented by a real value in units of cm, as shown in FIG.

ソフトウエアの設計仕様として、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 format adjustment unit 74 of the expression level processing block 160 uses the expression format of the size 416 that is the attribute of the junction cell as shown in FIG. The attribute value of size 316 on the shoe shop X side is used in units of cm. At this time, the expression format adjustment unit 74 stores the conversion formula 516 shown in FIG. 12D in the conversion table holding unit 76 to maintain compatibility of attribute values. Matching to any unit system in this way is also an example of the accepted expression level.

図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 color 218 on the shoe manufacturer Y side is represented by an integer value as shown in FIG. On the other hand, the color 318 on the shoe shop X side is represented by a character string as shown in FIG. This is because the shoe manufacturer Y uses a numbering system for finely identifying the color of the shoe, while the shoe shop X describes the color of the shoe with a name such as “紺” or “purple” that is easy for the customer to understand. Because it does. This difference is caused by the design intention of the designer and the needs of customers in the systems of the shoe manufacturer Y and the shoe shop X.

ソフトウエアの設計仕様として、色の表現形式を文字列とする場合、表現レベル処理ブロック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 format adjustment unit 74 of the expression level processing block 160 uses the color 418 that is the attribute of the junction cell as shown in FIG. Using the expression format as a character string, the attribute value of the color 318 on the shoe shop X side is used. At this time, as shown in FIG. 13D, the expression format adjusting unit 74 sets a conversion rule between an integer value that identifies the color on the shoe manufacturer Y side and a character string that identifies the color on the shoe shop X side. The indicated conversion table is created and stored in the conversion table holding unit 76 to maintain compatibility of attribute values. Such conversion to a character string representation format is also an example of a reception representation level.

上記の例では、ソフトウエアの開発者がシューズショップ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 development support apparatus 100 according to the present embodiment will be described.

図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 level processing block 120 designs programs X and Y consisting of a plurality of modules as a set, and the phase space level processing block 130 designs programs X and Y as a phase space.

接着空間レベル処理ブロック140の同値関係設定部44は、プログラムX、Yを構成するモジュールに対して、「符号化処理機能をもつ」および「復号処理機能をもつ」という2つの同値関係を設定する。対応要素抽出部20は、同値関係設定部44により設定された2つの同値関係をもとにプログラムX、Y間の対応するモジュールを特定し、接着写像取得部22は、各同値関係による対応関係を与える接着写像f、fを取得する。 The equivalence relation setting unit 44 of the adhesion space level processing block 140 sets two equivalence relations “having an encoding processing function” and “having a decoding processing function” for the modules constituting the programs X and Y. . Corresponding element extraction unit 20 identifies a corresponding module between programs X and Y based on the two equivalence relationships set by equivalence relationship setting unit 44, and adhesive mapping acquisition unit 22 creates a correspondence relationship based on each equivalence relationship. Adhesive maps f 1 and f 2 are obtained.

これにより、プログラムYの位相空間は、符号化処理機能をもつモジュールYと、圧縮処理機能をもつモジュールYと、それ以外の機能をもつモジュールの直和

Figure 2006003939
に分割され、一方、プログラムXの位相空間は、符号化処理機能をもつモジュールでYに対応するf(Y)と、圧縮処理機能をもつモジュールでYに対応するf(Y)と、それ以外の機能をもつモジュールの直和
Figure 2006003939
に分割される。 Thus, the phase space of the program Y is a module Y 0 having encoding processing function, the module Y 1 having the compression function, the direct sum of the modules with other functions
Figure 2006003939
On the other hand, the phase space of the program X is f (Y 0 ) corresponding to Y 0 in the module having the encoding processing function and f (Y 1 ) corresponding to Y 1 in the module having the compression processing function. And the direct sum of modules with other functions
Figure 2006003939
It is divided into.

等化写像取得部24は、図14(a)に示すプログラムX、Yの2つの位相空間の直和を図14(b)に示す接着空間

Figure 2006003939
に写像する等化写像gを取得する。 The equalization map acquisition unit 24 calculates the direct sum of the two phase spaces of the programs X and Y shown in FIG. 14A as an adhesive space shown in FIG.
Figure 2006003939
An equalization map g that maps to is obtained.

図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 level processing block 140, the cell dimension adjustment unit 64 of the cell space level processing block 150 includes two modules A and B. , B so that the names of the input variables and output variables can be matched. Further, if there is a difference in the number of input variables and output variables between the two modules A and B, the cell dimension adjusting unit 64 can correspond to the number of input variables and output variables of the two modules A and B. adjust.

表現レベル処理ブロック160の表現形式調整部74は、2つのモジュールA、Bの入力変数、出力変数のデータ型に違いがあれば、データ型を調整する。モジュールAの入力変数は整数型であり、モジュールBの入力変数は実数型であるから、たとえば、モジュールAの入力変数を実数型に変換する。また、変数が文字型の場合は、表現形式調整部74は、文字列の桁数の調整を行う。   The expression format adjustment unit 74 of the expression level processing block 160 adjusts the data type if there is a difference between the data types of the input variables and output variables of the two modules A and B. Since the input variable of module A is an integer type and the input variable of module B is a real number type, for example, the input variable of module A is converted into a real number type. When the variable is a character type, the expression format adjustment unit 74 adjusts the number of digits of the character string.

図16〜図19において、ソフトウエア開発支援装置100によって、同値関係をもとにモジュールもしくはデータが対応づけられてソフトウエアが開発される手順を説明する。   16 to 19, a procedure for developing software by the software development support apparatus 100 in which modules or data are associated with each other based on the equivalence relation will be described.

図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 development support apparatus 100 replaces the old version of the module A old with the new version of the module A new as shown in FIG. Can be updated. Since the software development support apparatus 100 replaces modules so that they have the same homotopy value, the new version of the module A new can be returned to the old version of the module A old as necessary, so that the software can be debugged efficiently. Can be done well.

図17(a)、(b)は、2つのプログラムモジュールが合成される様子を説明する図である。図17(a)のように、モジュールAは2つのサブモジュールA、Aをもち、モジュールBは2つのサブモジュールB、Bをもつ。同値関係によってモジュールBのサブモジュールBがモジュールAのサブモジュールAに対応づけられる。また、それに伴い、サブモジュールBの入力変数sとサブモジュールAの入力変数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のサブモジュールBがモジュールAのサブモジュールAと同一視されることにより、2つのモジュールA、Bが合成され、1つのプログラムが生成される。このとき、接着写像で対応づけられたサブモジュールBとサブモジュールAの入出力変数のデータ型や桁数などが調整される。ソフトウエア開発支援装置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 development support apparatus 100 performs the synthesis of modules so as to have the same homotopy value, the original modules A and B can be separated and extracted from the synthesized program as necessary.

このように、ソフトウエア開発支援装置100は、同値関係をもとにして複数のモジュールを合成したり、合成されたプログラムからモジュールを取り出したりすることができ、ソフトウエアの部品化を進め、再利用性を高めることができる。   As described above, the software development support apparatus 100 can synthesize a plurality of modules based on the equivalence relation, and can extract a module from the synthesized program. Usability can be increased.

図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 development support apparatus 100 can share data associated as equivalence classes between program modules, and can improve the usability of the data.

図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 development support apparatus 100 can combine or separate a plurality of program modules based on the equivalence relation, and can improve the usability of the program modules.

このように、ソフトウエア開発支援装置100によれば、同値関係にもとづいてソフトウエア部品の合成、置換、連結などの開発工程を線形操作で行うことができるため、ソフトウエア部品の個数が増えても、開発工数爆発が起きることなく、ソフトウエアを効率良く開発することができる。   As described above, according to the software development support apparatus 100, since the development process such as composition, replacement, and connection of software parts can be performed by linear operation based on the equivalence relation, the number of software parts increases. However, software can be developed efficiently without explosion of development man-hours.

上記の具体例では、プログラムモジュールの仕様を特徴づける属性として、入出力インタフェイスを例に挙げ、対応するプログラムモジュール間で入出力インタフェイスの次元や表現形式の不整合を調整することを説明したが、これは属性の一例に過ぎない。プログラムモジュールの仕様を特徴づける他の属性の例として、そのプログラムモジュールが参照する変数を考えてもよい。その場合、対応するプログラムモジュール間で参照変数の次元や表現形式の不整合が調整される。また、プログラムモジュールが利用する関数を属性として考えてもよい。その場合、対応するプログラムモジュール間で関数の次元、すなわち関数名や関数の個数などの不整合が調整される。さらに、その関数の引数や戻り値の次元や表現形式の不整合が調整されてもよい。   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 development support apparatus 100 may design a different view for each software developer. For example, an advanced software developer sets a view that allows data manipulation inside a program module so that the design of internal variables of the program module can be changed. On the other hand, in order to allow only the design change of the external interface of the program module to beginner software developers, a view in which data manipulation inside the program module is impossible is set. In this way, the view may be varied depending on the level of developer's programming experience and skill. In addition, when a plurality of developers jointly develop software, the view may be different for each developer so that the design can be changed only in the program area that each developer is responsible for. As will be described later, when the software development support apparatus 100 is used in a maintenance process, the view level processing block 170 may design a different view for each software maintainer.

[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 cycle management apparatus 600 shown in FIG. 20 manages the life cycle of software from the development process to the test process to the maintenance process. The development function block 610 has each function of the software development support apparatus 100 described above, and inherits the equivalence relation of the software parts set as an invariant between the abstract hierarchies, while satisfying the specifications to be satisfied by the software parts set. By incrementally refining for each abstract hierarchy, software that matches a given required specification is automatically generated from a software component set. The development function block 610 executes software requirement analysis, system design, program design, and program implementation, and the developed software is stored in the software storage unit 640. The software storage unit 640 holds all programs in required specifications, development, testing, and maintenance processes.

試験機能ブロック620は、開発機能ブロック610により生成されたソフトウエアが各抽象階層において詳細化された仕様に合致するか否かをテストし、問題が発見された場合に、いずれかの抽象階層において要求条件を修正し、開発機能ブロック610は、要求条件が修正された抽象階層から始めて、ソフトウエア部品集合が満たすべき仕様を抽象階層毎にインクリメンタルに詳細化する。   The test function block 620 tests whether the software generated by the development function block 610 conforms to the detailed specification in each abstract layer, and if a problem is found, Modifying the requirement conditions, the development function block 610 incrementally refines the specifications to be satisfied by the software component set for each abstract hierarchy, starting from the abstract hierarchy in which the requirement conditions are modified.

開発されたソフトウエアの試験は、要求分析、システム設計、プログラム設計、およびプログラム実装のいずれの段階でも行う必要がある。たとえば、試験機能ブロック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 test function block 620 finds and corrects a defect in the required specifications, the development function block 610 returns to the upper hierarchy such as the phase space level and the adhesion space level of the abstract hierarchy model, and starts from that hierarchy. Redo the design details to eliminate the problem. In addition, when the test function block 620 finds a problem in the number of function arguments or the data type of the variable in the program implementation, the development function block 610 determines the subordinate level such as the cell space level and the expression level of the abstract hierarchical model. Redo the design from the hierarchy and resolve the problem. The software development support apparatus 100 based on the incremental and modular abstract hierarchy can reconfigure software by linear operation regardless of which hierarchy is redone.

保守機能ブロック630は、運用中のソフトウエアに修正もしくは機能拡張の必要があった場合に、その修正もしくは機能拡張を反映すべき抽象階層において要求条件を変更し、開発機能ブロック610は、要求条件が変更された抽象階層から始めて、ソフトウエア部品集合が満たすべき仕様を抽象階層毎に再度インクリメンタルに詳細化する。   The maintenance function block 630 changes the requirement condition in the abstract hierarchy that should reflect the modification or function extension when the software being operated needs to be modified or expanded, and the development function block 610 is a requirement condition. Starting from the abstract hierarchy in which is changed, the specifications to be satisfied by the software component set are incrementally detailed again for each abstract hierarchy.

ソフトウエアの保守には、システムの障害への対処もしくは予防のために修正を行うものとして、修正保守(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 cycle management apparatus 600 of the present embodiment, software development is performed using an abstract hierarchical model, and developer-dependent design elements are eliminated, so that the same abstraction can be achieved in maintenance. By referring to the hierarchical model, after grasping what is equivalent to what, the correct correction is efficiently performed by accurately predicting how the correction of one part will affect the other part. be able to.

修正保守において、ソフトウエアのある部分について同値関係を新たに定義する必要が生じた場合や、最初から定義しておくべきであった同値関係が保守段階で発見された場合でも、抽象階層モデルを参照し、接着空間レベルで同値関係を定義し直し、その同値関係を下位のセル空間レベルや表現レベルにまで落として実装することにより、整合性を保証することができる。また、拡張保守や適応保守において、ソフトウエアに新たな機能を追加する場合や、新たなパラメータを設定する場合でも、抽象階層モデルにおいて適宜新たな同値関係を設定してインクリメンタルにソフトウエアの再設計を行うことができる。また、予防保守において、対応する変数の間でデータ型やデータ長の相違があり、不都合が生じることが予見される場合でも、抽象階層モデルを利用して、これらの変数に同値関係を定義してその部分について不整合を調整することができる。   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 cycle management apparatus 600 of the present embodiment, by using the abstract hierarchical model, even if a change in the requirement occurs in the maintenance stage, the equivalence relationship is determined based on the requirement specification, The equivalence relation can be inherited as an invariant up to the design and implementation level, so that the specification can be refined and embodied, and the change can be flexibly and efficiently dealt with. By using the abstract hierarchical model, software operations in the maintenance process are guaranteed linear interoperability, as in the development process. Can be deleted.

ソフトウエアのライフサイクルモデルとして、ウォーターフォールモデル、ラピッドプロトタイピングモデル、スパイラルモデルなどいろいろなモデルが提案されているが、本実施の形態のソフトウエアライフサイクル管理装置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 cycle management apparatus 600 according to the present embodiment is one of the life cycle models. It does not depend on any of the above and is not applied on the assumption of any life cycle model. However, it does not prevent the software life cycle management apparatus 600 of the present embodiment from being used in a form adapted to any one of the life cycle models. The main advantage of the software life cycle management apparatus 600 according to the present embodiment is that the equivalence relation between software component sets is inherited as an invariant between the abstract hierarchies by using the incremental modular abstract hierarchy model. In addition to guaranteeing performance, it guarantees linear integration and linear operation of a set of software components, and has consistent lifecycle management from software development to testing and maintenance.

以上、実施の形態を説明した。実施の形態は例示であり、さまざまな変形例が可能であり、そうした変形例も本発明に含まれることは当業者に理解されるところである。   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.

2つの互いに素である位相空間から接着空間が生成される様子を説明する図である。It is a figure explaining a mode that adhesion space is generated from two mutually disjoint phase spaces. 顧客と取引会社の位相空間が接着される様子を説明する図である。It is a figure explaining a mode that the phase space of a customer and a trading company is pasted up. 座席と支持部の位相空間が接着される様子を説明する図である。It is a figure explaining a mode that the phase space of a seat and a support part is pasted up. 実施の形態に係るソフトウエア開発支援装置の構成図である。It is a block diagram of the software development assistance apparatus which concerns on embodiment. 図4の接着空間レベル処理ブロックの構成図である。It is a block diagram of the adhesion space level processing block of FIG. 図4のセル空間レベル処理ブロックの構成図である。It is a block diagram of the cell space level processing block of FIG. 図4の表現レベル処理ブロックの構成図である。It is a block diagram of the expression level processing block of FIG. 図5の接着空間レベル処理ブロックにより、2つの位相空間が接着されて接着空間が生成される様子を説明する図である。It is a figure explaining a mode that two phase spaces are adhere | attached and the adhesion | attachment space is produced | generated by the adhesion space level process block of FIG. オブジェクトのセル構造を説明する図である。It is a figure explaining the cell structure of an object. オブジェクトのセル構造を説明する図である。It is a figure explaining the cell structure of an object. 図7の表現レベル処理ブロックにより、表現レベルでの不整合が調整される様子を説明する図である。It is a figure explaining a mode that inconsistency in an expression level is adjusted by the expression level process block of FIG. 図7の表現レベル処理ブロックにより、表現レベルでの不整合が調整される様子を説明する図である。It is a figure explaining a mode that inconsistency in an expression level is adjusted by the expression level process block of FIG. 図7の表現レベル処理ブロックにより、表現レベルでの不整合が調整される様子を説明する図である。It is a figure explaining a mode that inconsistency in an expression level is adjusted by the expression level process block of FIG. 2つのプログラムが統合される様子を説明する図である。It is a figure explaining a mode that two programs are integrated. 接着写像により対応づけられた2つのモジュールの入出力インタフェイスを説明する図である。It is a figure explaining the input / output interface of two modules matched by the adhesive mapping. プログラムモジュールが新しいバージョンに更新される様子を説明する図である。It is a figure explaining a mode that a program module is updated to a new version. 2つのプログラムモジュールが合成される様子を説明する図である。It is a figure explaining a mode that two program modules are synthesize | combined. 2つのプログラムモジュール間でデータが共有される様子を説明する図である。It is a figure explaining a mode that data are shared between two program modules. 2つのプログラムモジュールが結合される様子を説明する図である。It is a figure explaining a mode that two program modules are combined. 実施の形態に係るソフトウエアライフサイクル管理装置の構成図である。It is a block diagram of the software life cycle management apparatus which concerns on embodiment.

符号の説明Explanation of symbols

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 development function block 620, test function block, 630 maintenance function block, 640 software storage unit.

Claims (14)

ソフトウエア部品集合間の線形インターオペラビリティを保証するインクリメンタリモジュラな抽象階層モデルを利用して、ソフトウエアの開発工程から試験工程を経て、保守工程に至るまでのライフサイクルを一貫して管理することを特徴とするソフトウエアライフサイクル管理方法。   Using an incremental and modular abstract hierarchical model that guarantees linear interoperability between software component sets, consistently manages the life cycle from software development to testing and maintenance. Software life cycle management method characterized by the above. 前記開発工程は、抽象階層間で前記ソフトウエア部品集合の同値関係を不変量として継承しながら、前記ソフトウエア部品集合が満たすべき仕様を前記抽象階層毎にインクリメンタルに詳細化することにより、与えられた要求仕様に合致するソフトウエアを前記ソフトウエア部品集合から自動生成することを特徴とする請求項1に記載のソフトウエアライフサイクル管理方法。   The development process is given by incrementally refining the specifications to be satisfied by the software component set for each abstract layer while inheriting the equivalence relation of the software component set between the abstract layers as an invariant. 2. The software life cycle management method according to claim 1, wherein software that matches the required specifications is automatically generated from the software component set. 前記試験工程は、前記開発工程により生成された前記ソフトウエアが各抽象階層において詳細化された仕様に合致するか否かをテストし、発見された問題に応じていずれかの抽象階層において要求条件を修正した上で、その抽象階層から前記開発工程を繰り返すことにより、前記問題を除去することを特徴とする請求項2に記載のソフトウエアライフサイクル管理方法。   The test step tests whether the software generated by the development step conforms to detailed specifications in each abstract layer, and according to the problem found, the requirement condition in any abstract layer 3. The software life cycle management method according to claim 2, wherein the problem is eliminated by repeating the development process from the abstract hierarchy after correcting the problem. 前記保守工程は、運用中の前記ソフトウエアに修正もしくは機能拡張の必要があった場合に、その修正もしくは機能拡張を反映すべき抽象階層において要求条件を変更した上で、その抽象階層から前記開発工程を繰り返すことにより、前記ソフトウエアの保守を行うことを特徴とする請求項2または3に記載のソフトウエアライフサイクル管理方法。   In the maintenance process, when it is necessary to modify or extend the function of the software in operation, the development condition is changed from the abstract layer after changing the requirements in the abstract layer to reflect the modification or function extension. 4. The software life cycle management method according to claim 2, wherein the software is maintained by repeating the steps. ソフトウエア部品集合間の線形インターオペラビリティを保証するインクリメンタリモジュラな抽象階層モデルを利用した、ソフトウエアの開発機能ブロック、試験機能ブロック、および保守機能ブロックを備え、ソフトウエアのライフサイクルを前記抽象階層モデルにもとづいて一貫して管理することを特徴とするソフトウエアライフサイクル管理装置。   Software development function blocks, test function blocks, and maintenance function blocks using an incremental modular abstract hierarchy model that guarantees linear interoperability between software component sets, and the software life cycle is abstracted Software lifecycle management device characterized by consistent management based on hierarchical model. 前記開発機能ブロックは、抽象階層間で前記ソフトウエア部品集合の同値関係を不変量として継承しながら、前記ソフトウエア部品集合が満たすべき仕様を前記抽象階層毎にインクリメンタルに詳細化することにより、与えられた要求仕様に合致するソフトウエアを前記ソフトウエア部品集合から自動生成することを特徴とする請求項5に記載のソフトウエアライフサイクル管理装置。   The development function block is provided by incrementally refining the specifications to be satisfied by the software component set for each abstract layer while inheriting the equivalence relation of the software component set between the abstract layers as an invariant. 6. The software life cycle management apparatus according to claim 5, wherein software that conforms to the required specification is automatically generated from the software component set. 前記試験機能ブロックは、前記開発機能ブロックにより生成された前記ソフトウエアが各抽象階層において詳細化された仕様に合致するか否かをテストし、問題が発見された場合に、いずれかの抽象階層において要求条件を修正し、前記開発機能ブロックは、前記要求条件が修正された抽象階層から前記詳細化を繰り返すことを特徴とする請求項6に記載のソフトウエアライフサイクル管理装置。   The test function block tests whether the software generated by the development function block conforms to a detailed specification in each abstract layer, and when a problem is found, The software life cycle management apparatus according to claim 6, wherein the requirement condition is modified in step, and the development function block repeats the refinement from an abstract hierarchy in which the requirement condition is modified. 前記保守機能ブロックは、運用中の前記ソフトウエアに修正もしくは機能拡張の必要があった場合に、その修正もしくは機能拡張を反映すべき抽象階層において要求条件を変更し、前記開発機能ブロックは、前記要求条件が変更された抽象階層から前記詳細化を再度行うことを特徴とする請求項6または7に記載のソフトウエアライフサイクル管理装置。   The maintenance function block changes a requirement condition in an abstract hierarchy that should reflect the modification or function extension when the software in operation needs to be modified or expanded, and the development function block includes the development function block 8. The software life cycle management apparatus according to claim 6, wherein the refinement is performed again from an abstract hierarchy whose request condition has been changed. 前記抽象階層モデルは、各階層においてソフトウエア部品集合に対する操作が可能にモジュラ化されて構成されており、
前記ソフトウエア部品集合に集合演算を施して、所望の複数のソフトウエア部品集合を設計する集合設計部と、
前記ソフトウエア部品集合の部分集合を要素とする集合に位相を規定することにより、前記ソフトウエア部品集合を位相空間として設計する位相空間設計部と、
それぞれが位相空間として設計された前記複数のソフトウエア部品集合の上に同値関係を規定し、前記同値関係で対応づけられた部分空間を接着した接着空間を設計する接着空間設計部と、
前記接着空間において前記複数のソフトウエア部品集合に属するソフトウエア部品の仕様に係る属性をセルで表現し、前記セルの次元を設計するセル空間設計部と、
前記セルの表現形式を設計する表現設計部とを含むことを特徴とする請求項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.
前記モジュラ化された抽象階層モデルは、前記複数のソフトウエア部品集合に関して、前記ソフトウエアの開発者または保守者に対するビューを設計し、前記開発者または保守者毎に前記複数のソフトウエア部品集合の操作可能範囲を異ならせるビュー設計部をさらに含むことを特徴とする請求項9に記載のソフトウエアライフサイクル管理装置。   The modular abstract hierarchy model designs a view for the software developer or maintainer with respect to the plurality of software component sets, and for each developer or maintainer the plurality of software component sets. The software life cycle management apparatus according to claim 9, further comprising a view design unit that varies an operable range. 前記モジュラ化された抽象階層モデルは、前記ソフトウエアの開発、試験、および保守のいずれかの工程において各設計部による前記ソフトウエア部品集合に対する操作によって生じた前記ソフトウエア部品集合の変化がホモトピー同値になるように設計し、前記ソフトウエア部品集合を変化前の状態に戻せるように、その操作手順を記録するホモトピー設計部をさらに含むことを特徴とする請求項9または10に記載のソフトウエアライフサイクル管理装置。   In the modular abstract hierarchical model, a change in the software component set caused by an operation on the software component set by each design unit in any step of development, testing, and maintenance of the software is homotopy equivalent. The software life of claim 9 or 10, further comprising a homotopy design unit that records the operation procedure so that the software component set can be returned to the state before the change. Cycle management device. 前記接着空間設計部は、
互いに素である第1の位相空間Xと第2の位相空間Yに対して、前記第2の位相空間のYの部分空間Yから前記第1の位相空間Xへの連続写像を、前記同値関係を表す接着写像fとして取得する接着写像取得部と、
前記第2の位相空間Yの前記部分空間Yにおける各点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.
前記表現設計部は、前記セル空間において対応づけられた前記ソフトウエア部品の仕様に係る属性の表現形式に関する不整合を受容表現にしたがって調整する表現形式調整部を含むことを特徴とする請求項13に記載のソフトウエアライフサイクル管理装置。
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.
JP2004176444A 2004-06-15 2004-06-15 Software life cycle management method and software life cycle management device Pending JP2006003939A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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