Changes between Version 5 and Version 6 of Support Information Model 3 Assumed Types


Ignore:
Timestamp:
Sep 22, 2008, 7:52:11 PM (16 years ago)
Author:
KOBAYASHI, Shinji
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Support Information Model 3 Assumed Types

    v5 v6  
    3030!ISO8601:2004 is used as the definitional basis for assumed date/time types, since it is commonly used  around the world, and is also the basis for the date/time types in W3C XML-schema. See section 3.4 on page 22 below for details of dates and times.
    3131
    32 想定される型(assumed type)は二つのグループに識別される。プリミティブ型は形式のための型システムとして組み込まれているものであり、形式で定義される(クラス)ライブラリで利用されると想定されるライブラリ型もそうである。つまり、ブール型は常に形式の中に存在すると想定されており、Array<T>型はライブラリで利用されると想定されている。実用のためには、二つのカテゴリはそう問題とはならない。String型は通常はライブラリ型であるが、それが組み込まれた型であってもプログラマには何の違いももたらさない。ここで二つに分けたのは便宜上の問題である。
     32想定される型(assumed type)は二つのグループに識別される。プリミティブ型は形式のための型システムとして組み込まれているものであり、形式で定義される(クラス)ライブラリで利用されると想定されるライブラリ型もそうである。つまり、ブール型は常に形式の中に存在すると想定されており、Array<T>型はライブラリで利用されると想定されている。実用のためには、二つのカテゴリはそう問題とはならない。String型は通常はライブラリ型であるが、それが組み込まれた型であってもプログラマには何の違いももたらさない。ここで二つに分けたのは便宜上の理由である。
    3333
    3434Two groups of assumed types are identified: primitive types, which are those built in to a formalism’s type system, and library types, which are assumed to be available in a (class) library defined in the formalism. Thus, the type Boolean is always assumed to exist in a formalism, while the type Array<T> is assumed to be available in a library. For practical purposes, these two categories do not matter that much - whether String is really a library class (the usual case) or an inbuilt type doesn’t make much difference to the programmer. They are shown separately here mainly as an explanatory convenience.
     35
     36openEHRが既存の型に対して想定していることについては、インターフェースの定義の観点から下記のように記述されている。これらの定義はそれぞれ、openEHRの参照モデル(Reference Model)で使用されている既定の型で必要となると想定されるものだけを収載していて、完全なインターフェース定義というわけではない。想定される型(assumed type)に関連してここで利用されている全ての機能の名前やセマンティクスは、いくつかの実装技術でみられるものとまったく同じではないことがある。なんらかの必要なマッピングについては、関連する実装技術仕様(ITS; Implementation Technology Specification)で示されるべきものである。具体的な例を示すと、以下に想定される型(assumed type)としてSet<T>が定義されていて、has(item: T)という操作を持っているが(Bool型(Boolean)はopenEHR仕様の全てで使われている)、JavaのSet<T>クラスにはcontains()というメソッドがある。Javaで実装する際には、has()メソッドの代わりにcontainsメソッドがJavaで表現されるopenEHRクラスの全てで使用されるはずである。
    3537
    3638The assumptions that openEHR makes about existing types are documented below in terms of interface definitions. Each of these definitions contains only the assumptions required for the given type to be used in the openEHR Reference Model -it is not by any means a complete interface definition. The name and semantics of any function used here for an assumed type might not be identical to those found in some implementation technologies. Any mapping required should be stated in the relevant implementation technology specification (ITS). To give a concrete example, where the assumed Set<T> type defined below has an operation has(item: T): Boolean which is used throughout the openEHR specifications, Java has the method contains() on its Set<T> class. In a Java implementation, the contains() method should then be used throughout the openEHR classes as expressed in Java, in place of the has() method.