マッピング定義

Alfabet のインポート設定は、ARIS と Alfabet の間のデータ交換を処理します。設定では、モデル、接続線、ARIS オブジェクトと Alfabet オブジェクトの間の割り当て、Alfabet オブジェクトが実際にどのように ARIS にマッピングされているかが定義されています。

使用されるオブジェクト タイプ属性を変更する場合、または異なる属性を転送する場合には、両方の設定ファイルを調整します。

一般に、Alfabet テーブルは ARIS オブジェクトにマッピングされます。Alfabet テーブルは、table XML プロパティを使用してマッピングされます。テーブル全体、または単一の Alfabet オブジェクトのインポート/接続のインポートは、次のようなインポート定義を使用して実行されます。

table 要素

<table name="VALUENODE" arisgroupname="Values" condition="Stereotype" aristype="OT_FUNC_INST">

name

VALUENODE などの Alfabet テーブル名です。

arisgroupname

ARIS データベース グループの名前です。

テーブル全体がインポートされる場合は、arisgroupname が、テーブルの内容に対して作成される下位グループの名前です。

arisgroupname が空または未指定の場合は、下位グループは作成されません。

condition

プロパティの値に基づく条件付きマッピングを定義します。値が指定され、下の condition 要素の一覧にある値の 1 つに対応する場合、table 要素の定義ではなく condition 要素の定義に従ってマッピングされます。

aristype

オブジェクト タイプ、モデル タイプ、またはシンボル タイプの API 名です。

<condition value="Initiative" arisgroupname="Initiatives" aristype="ST_INITIATIVE" />

condition

プロパティの値に基づく条件付きマッピングを定義します。値が指定され、下の condition 要素の一覧にある値の 1 つに対応する場合、table 要素の定義ではなく condition 要素の定義に従ってマッピングされます。

value

この条件が適用されることを指定するプロパティ値です。

arisgroupname

オプションで、この条件を満たすアイテムに関する <table> 要素のデフォルト グループ名を上書きします。

aristype

使用されるオブジェクト タイプの ARIS API 名です。ここで ARIS シンボルが指定されていると、そのシンボルからオブジェクト タイプが派生します。さらに、インポートされたアイテムのデフォルト シンボルが、このシンボル タイプに設定されます。

<condition value="Vision" arisgroupname="Visions" aristype="ST_VISION" />

<condition value="Business Requirement" arisgroupname="Business Requirements" aristype="ST_REQUIREMENT" />

<condition value="Architecture Requirement" arisgroupname="Architecture Requirements" aristype="ST_REQUIREMENT" />

All XML properties

name

name

VALUENODE などの Alfabet テーブル名です。

arisgroupname

arisgroupname

ARIS データベース グループの名前です。

テーブル全体がインポートされる場合は、arisgroupname が、テーブルの内容に対して作成される下位グループの名前です。

arisgroupname が空または未指定の場合は、下位グループは作成されません。

aristype

aristype

オブジェクト タイプ、モデル タイプ、またはシンボル タイプの API 名です。

overview-model (オプション)

overview-model

オプションで、概要モデルを作成し、モデルからこの条件に合う各テーブル オブジェクトのオカレンスを配置します。

check-master (オプション)

check-master

対応する ARIS オブジェクトの ARIS GUID を持つ Alfabet オブジェクトのために管理される ARIS_GUID, など、指定された Alfabet プロパティの存在を確認します。ARIS データベースにこの GUID が含まれる場合、Alfabet オブジェクトの代わりに関連する ARIS オブジェクトがマスターとして使用されます。例:

check-master="ARIS_GUID"

マスター オブジェクトの属性とプロパティはインポートでは上書きされません。Alfabet でオブジェクトが削除されてもマスターは削除されません。

condition (オプション)

condition

プロパティの値に基づく条件付きマッピングを定義します。値が指定され、下の condition 要素の一覧にある値の 1 つに対応する場合、table 要素の定義ではなく condition 要素の定義に従ってマッピングされます。

value

value

この条件が適用されることを指定するプロパティ値です。

aristype

aristype

使用されるオブジェクト タイプの ARIS API 名です。ここで ARIS シンボルが指定されていると、そのシンボルからオブジェクト タイプが派生します。さらに、インポートされたアイテムのデフォルト シンボルが、このシンボル タイプに設定されます。

arisgroupname

arisgroupname

オプションで、この条件を満たすアイテムに関する <table> 要素のデフォルト グループ名を上書きします。

overview-model (オプション)

overview-model

オプションで、概要モデルを作成し、モデルからこの条件に合う各テーブル オブジェクトのオカレンスを配置します。

table 要素の assign 下位要素

このテーブルからインポートされるすべてのオブジェクトのアサインメントを作成します。

すべての XML プロパティ

type

type

インポートされたオブジェクトごとに 1 つのアサイン モデルを作成します。table 下位要素としては使用できません。

model

model

割り当てられる ARIS モデルのモデル タイプの API 名 (MT_APPL_SYS_TYPE_DGM など) です。

child-symbol

child-symbol

アサイン モデルで使用される ARIS オブジェクトのシンボル タイプの API 名 (ST_APPL_SYST_TYPE) です。

参照される要素がモデル自体の場合は使用されません。

add-parent

add-parent

上位オブジェクトのオカレンスをアサイン モデルに追加します。

デフォルト設定は false です。

これを true に変更すると、上位オブジェクトのオカレンスがアサイン モデルに追加されます。そのため、parent-symbol 属性は必須です。

parent-symbol

parent-symbol

アサイン モデルで使用される 上位 ARIS オブジェクトのシンボル タイプの API 名 (ST_APPL_SYS_TYPE) です。

add-parent 属性が true の場合のみ必要です。

attr 下位要素

Alfabet プロパティ値をマッピングします。StringDateReferenceReferenceArray などは許可されません。

<attr alfabet="StartDate" condition="Status" value="Evaluation" aris="AT_EVALUATION_START" />

attr XML プロパティ

属性の処理を定義します。

1 つ以上のattr 下位要素が指定されていると、ARIS にインポートされる属性の一覧が、ここに記載される attr 要素の一覧に合わせて制限されます。

alfabet

Alfabet プロパティの名前です。

condition

値に対して確認されるプロパティです。プロパティの値が所定の値と等しい場合のみ、属性がインポートされます。

value

条件付き属性インポート用の condition XML プロパティの値に対して確認される値です。

aris XML プロパティ

ARIS 属性の API 名です。

空の文字列 (""): マッピングされず、無視されます。

<attr alfabet="EndDate" condition="Status" value="Evaluation" aris="AT_EVALUATION_END" />

<attr alfabet="StartDate" condition="Status" value="Pilot" aris="AT_TO_BE_PHASED_IN_START" />

<attr alfabet="EndDate" condition="Status" value="Pilot" aris="AT_TO_BE_PHASED_IN_END" />

In this case, the value of the "StartDate" property is written to the aris attribute "AT_EVALUATION_START" only if the alfabet property "Status" has the value "Evaluation", etc.

When used as a sub-element of the <cxn> element (see below), the property is mapped to an attribute of the connection.

すべての XML プロパティ

attr

attr XML プロパティ

属性の処理を定義します。

1 つ以上のattr 下位要素が指定されていると、ARIS にインポートされる属性の一覧が、ここに記載される attr 要素の一覧に合わせて制限されます。

alfabet

alfabet

Alfabet プロパティの名前です。

aris

aris XML プロパティ

ARIS 属性の API 名です。

空の文字列 (""): マッピングされず、無視されます。

条件付き属性インポート用 XML プロパティ

condition

condition

値に対して確認されるプロパティです。プロパティの値が所定の値と等しい場合のみ、属性がインポートされます。

value

value

条件付き属性インポート用の condition XML プロパティの値に対して確認される値です。

cxn 下位要素

接続線定義、または現在のテーブル アイテムと参照されたアイテムの間のアサインメント、あるいはその両方を作成します。

すべての XML プロパティ

property

property XML プロパティ

Alfabet プロパティの名前です。プロパティは、Reference タイプまたは ReferenceArray タイプである必要があります。

『Alfabet メタモデルの文書化』を参照してください。 詳細については、「ARIS - Alfabet 相互運用インターフェイス」の Alfabet リファレンス マニュアルをお読みください。 文書 Web サイト.から技術ヘルプを開く、あるいはダウンロードすることができます。文書は、ARIS ダウンロード センターにある ARIS インストール パッケージにも含まれます 。

cxntype

cxntype

ARIS 接続線タイプの API 名です。

空の文字列 (""): マッピングされず、無視されます。

Value="-1": 接続線を作成しません。アサインメント定義が下位要素としてある場合のみ、許可されます。

srctotarget

srctotarget

接続線の方向を定義します。

true:

class 要素から参照された要素へ。

false:

参照された要素から class 要素へ。

forceexist (オプション)

forceexist

インポートで、参照された要素のターゲット オブジェクトまたはソース オブジェクトがデータベースに存在することを強制するかどうかを指定します。値が true に設定されている場合は、参照されたオブジェクトのマッピング定義を使用してターゲット オブジェクトまたはソース オブジェクトが作成されます。ターゲット オブジェクトまたはソース オブジェクトが存在する場合のみ、接続線がインポートされます。ターゲット オブジェクトまたはソース オブジェクトの存在が必要になるかどうかは、srctotarge XML プロパティで指定された値によります。

デフォルト値は false です。

make-parent-group (オプション)

make-parent-group

参照された要素を含むグループが、問題の要素の上位グループになることを指定します。

親マッピングを isgroup="true" に設定する必要があります。

connected-objtype (オプション)

connected-objtype

ソース/ターゲット オブジェクト タイプの確認に使用されます。既存オブジェクトのタイプが無効と認識されると、インポート中に例外がスローされます。

overview-model (オプション)

overview-model

テーブル要素で overview-model プロパティが指定されている場合、概要モデルにターゲット オブジェクトと対応する接続線のオカレンスを作成します。

シンボル タイプ番号に対応する値です (「API 名」を参照)。

assigned-model (オプション)

assigned-model

table 要素に割り当てられた下位要素がある場合、アサイン モデルにターゲット オブジェクトと対応する接続線のオカレンスを作成します。

シンボル タイプ番号に対応する値です (「API 名」を参照)。

cxn 要素の assign 下位要素

モデルへのアサインメントを、接続線の追加、接続線の代わり、または参照されているアイテムがほかの Alfabet テーブルから派生したモデルの場合、モデルへのいずれかで作成します。

すべての XML プロパティ

type

type

アサインメントのタイプです。使用できる値:

all

すべてを 1 つのモデルの上位アイテムにアサインします。

each

下位アイテムごとに 1 つのモデルをアサインします。

model

model

割り当てられる ARIS モデルのモデル タイプの API 名 (MT_APPL_SYS_TYPE_DGM など) です。

child-symbol

child-symbol

アサイン モデルで使用される ARIS オブジェクトのシンボル タイプの API 名 (ST_APPL_SYST_TYPE) です。

参照される要素がモデル自体の場合は使用されません。

add-parent

add-parent

上位オブジェクトのオカレンスをアサイン モデルに追加します。

デフォルト設定は false です。

これを true に変更すると、上位オブジェクトのオカレンスがアサイン モデルに追加されます。そのため、parent-symbol 属性は必須です。

parent-symbol

parent-symbol

アサイン モデルで使用される 上位 ARIS オブジェクトのシンボル タイプの API 名 (ST_APPL_SYS_TYPE) です。

add-parent 属性が true の場合のみ必要です。

srctotarget

srctotarget

オプションで割り当ての方向を定義できます。

true (デフォルト値):

table 要素から参照された要素へ。

false:

参照された要素から table 要素へ。

group

group (srctotarget に基づきます)

オプションで、割り当てられたモデルが作成されるデータベース グループを定義できます。source はテーブル要素のグループで、target は接続される要素のグループです。

source (デフォルト値):

割り当てのソース テーブル要素が保存されるデータベース グループ。

target:

割り当ての接続されているテーブル要素が保存されるデータベース グループ。

cxn 要素の foreignattr 下位要素

ほかの Alfabet テーブルからの属性を、インポートされた ARIS アイテムに追加します。

すべての XML プロパティ

table

table

ほかの Alfabet テーブルの名前です。

property

property

現在の table 要素を参照するほかのテーブルのプロパティの名前です ( Owner など)。

マッピングの例の [例 3] の、attr 要素の一覧である foreignattr 要素は許容されます。この一覧で、インポートされる属性を定義します。

例 1

この例では、テーブルがオブジェクト定義にマッピングされる方法と (value) プロパティが ARIS 属性にマッピングされる方法を示します。さらに、概要モデルを作成し、このテーブルからモデルに各オブジェクトのオカレンスを配置することができます。Reference または ReferenceArray のプロパティは、接続線、アサインメント、または接続線とアサインメントにマッピングできます。Value プロパティは、接続線またはアサインメント、あるいは両方に同時にマッピングすることが可能です。Value プロパティは、オブジェクト自体に割り当てる代わりに、作成された接続線に割り当てることができます。

<table name="APPLICATIONGROUP" arisgroupname="Application groups" aristype="OT_APPL_SYS_CLS" isgroup="true" overview-model="MT_APPL_SYS_TYPE_DGM,ST_APPL_SYS_CLS">

<attr alfabet="name" aris="AT_NAME" />

<attr alfabet="description" aris="AT_DESC" />

<attr alfabet="a_size" aris="" /> <!-- not mapped-->

...

<cxn property="belongsto" cxntype="CT_CAN_SUBS_2" srctotarget="false" />

<!-- overview-model="ST_APPL_SYS_CLS" means: show in overview model with its CXN and the given symbol -->

<!-- an attr element within a cxn element maps an attribute from the Alfabet table to the cxn -->

<cxn property="belongsto" cxntype="CT_CAN_SUBS_2" srctotarget="false" connected-objtype="OT_APPL_SYS_CLS" overview-model="ST_APPL_SYS_CLS" ordernum="1" >

<attr alfabet="refstr" aris="AT_EXTERNAL_ID" />

</cxn>

<cxn property="applications" cxntype="CT_BELONGS_TO_CLS" srctotarget="true" >

<!-- "each" would mean 1 assignment per child, all=assign them all to the parent in one model -->

<!-- add-parent: assignment contains occ of the parent. This needs: parent-symbol="ST_APPL_SYS_CLS" -->

<assign type="all" model="MT_APPL_SYS_TYPE_DGM" add-parent="true" parent-symbol="ST_APPL_SYS_CLS" child-symbol="ST_APPL_SYS_TYPE" />

</cxn>

<cxn property="processes" /> <!-- not mapped-->

</table>

例 2

この例は、モデルがアサインされたオブジェクトへのマッピングを示します。さらに、ターゲット モデルにオブジェクト オカレンスが作成されます。

<table name="BUSINESSPROCESS" arisgroupname="Business processes" aristype="OT_FUNC" isgroup="true" overview-model="MT_VAL_ADD_CHN_DGM,ST_VAL_ADD_CHN_SML_2" check-master="ARIS_GUID" >

<!-- "each" would mean 1 assignment per child, all=assign them all to the parent in one model -->

<!-- add-parent: assignment contains occ of the parent. This needs: parent-symbol="ST_APPL_SYS_CLS" -->

<assign type="each" model="MT_FUNC_ALLOC_DGM" add-parent="true" parent-symbol="ST_VAL_ADD_CHN_SML_2" child-symbol="ST_FUNC" />

<attr alfabet="name" aris="AT_NAME" />

<attr alfabet="shortname" aris="AT_REM" />

...

<cxn property="belongsto" srctotarget="false" cxntype="CT_IS_PRCS_ORNT_SUPER" overview-model="ST_VAL_ADD_CHN_SML_2" /> <!-- BusinessProcess–>

<createocc property="model" symbol="ST_VAL_ADD_CHN_SML_2" forceexist="false" /> <!-- creates occ in the model if the model exists -->

<cxn property="executingorganizations" srctotarget="false" cxntype="CT_EXEC_1" forceexist="true" assigned-model="ST_ORG_UNIT_2" />

<cxn property="applications" srctotarget="false" cxntype="CT_CAN_SUPP_1" forceexist="true" assigned-model="ST_APPL_SYS_TYPE"/>

...

</table>

例 3

次の例では、attr プロパティの一覧である foreignattr プロパティは許容されます。この一覧で、インポートされる属性を定義します。この例は、外部属性と属性条件の使用方法を示します。外部属性は、別の Alfabet テーブルから読み込まれます。

<table name="APPLICATION" arisgroupname="Application" aristype="OT_APPL_SYS_TYPE" isgroup="false" overview-model="MT_APPL_SYS_TYPE_DGM,ST_APPL_SYS_TYPE">

<foreignattr table="TIMESTATUS" property="Owner"> <!-- Select * from TIMESTATUS where Owner = '<our AlfabetID>'. Will be written after processing "normal" attr-Elements, so will probably overwrite them -->

property

現在の table 要素を参照するほかのテーブルのプロパティの名前です ( Owner など)。

<attr alfabet="StartDate" condition="Status" value="Evaluation" aris="AT_EVALUATION_START" />

<attr alfabet="EndDate" condition="Status" value="Evaluation" aris="AT_EVALUATION_END" />

<attr alfabet="StartDate" condition="Status" value="Pilot" aris="AT_TO_BE_PHASED_IN_START" />

<attr alfabet="EndDate" condition="Status" value="Pilot" aris="AT_TO_BE_PHASED_IN_END" />

<attr alfabet="StartDate" condition="Status" value="Production" aris="AT_STANDARD_START" />

<attr alfabet="EndDate" condition="Status" value="Production" aris="AT_STANDARD_END" />

<attr alfabet="StartDate" condition="Status" value="Limited Production" aris="" /> <!-- tbd -->

<attr alfabet="EndDate" condition="Status" value="Limited Production" aris="" />

<attr alfabet="StartDate" condition="Status" value="Retired - Shut Down" aris="AT_TO_BE_PHASED_OUT_START" />

<attr alfabet="EndDate" condition="Status" value="Retired - Shut Down" aris="AT_TO_BE_PHASED_OUT_END" />

</foreignattr>

<attr alfabet="Name" aris="AT_NAME" />

<attr alfabet="ObjectState" aris="AT_REM" />

<attr alfabet="Description" aris="AT_DESC" />

...

<cxn property="NextVersion" cxntype="CT_IS_PRED_OF" srctotarget="true" forceexist="true" connected-objtype="OT_APPL_SYS_TYPE" overview-model="ST_APPL_SYS_TYPE"/>

<cxn property="ApplicationGroups" cxntype="CT_BELONGS_TO_CLS" srctotarget="true" forceexist="true" connected-objtype="OT_APPL_SYS_CLS" />

<cxn property="ICTObject" cxntype="CT_GENERAL" srctotarget="false" forceexist="true" connected-objtype="OT_APPL_SYS_TYPE" overview-model="ST_APPL_SYS_TYPE"/>

<cxn property="Products" />

...

</table>