Changes between Version 13 and Version 14 of Eiffel FAQ


Ignore:
Timestamp:
Aug 1, 2007, 10:56:03 PM (12 years ago)
Author:
KOBAYASHI, Shinji
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Eiffel FAQ

    v13 v14  
    99openEHRはEiffel言語を使っていることを知っている人は多いけれども,どうしてEiffelでopenEHRが記述される必要があるのか,EiffelがopenEHRでどのような特別な役割をはたしているのか不思議に思っているでしょう。Eiffelは公開の場で定義された言語であり,Eiffelに対する国際的な非営利コンソーシアム(国際的なユーザーグループ)とECMAが公式な標準化プロセスを担っています。数多くの商用実装があり([http://www.eiffel.com/ ISE], [http://www.object-tools.com/ Object Tools])があり,[http://smarteiffel.loria.fr/ 公式オープンソースコンパイラ]("!SmartEiffel")と数多くのライブラリがあります。
    1010
    11 Many people have noticed that openEHR uses the Eiffel language, and wonder whether openEHR needs to be written in Eiffel, or whether Eiffel is in some way special in openEHR. By way of background, Eiffel is an openly defined language, has its own Non-profit International Consortium for Eiffel (an international user group) and ECMA formal standardisation process. It has a number of commercial implementations (ISE, Object Tools), an official open source compiler ("SmartEiffel") and large numbers of libraries.
     11Many people have noticed that openEHR uses the Eiffel language, and wonder whether openEHR needs to be written in Eiffel, or whether Eiffel is in some way special in openEHR. By way of background, Eiffel is an openly defined language, has its own Non-profit International Consortium for Eiffel (an international user group) and ECMA formal standardisation process. It has a number of commercial implementations (ISE, Object Tools), an official open source compiler ("!SmartEiffel") and large numbers of libraries.
    1212
    1313EiffelはopenEHRでは最初のCASEツールとして使われています。どうしてプログラミング言語をCASEツールとして使うのか,どのように使っているのか,少し奇妙に感じるかもしれません。事実として,Eiffelは他のプログラミング言語とは少し違うところがあります。まず,型付けが完全になされていることと完全なオブジェクト指向言語です。C++以外でUMLのすべてのセマンティクス(特に「総称」(genericity)クラスや多重継承,ポリモルフィズム,selective export)を実装できる唯一の生産的言語でもあります。しかしながら,C++とはことなりメモリ構造のような実装の詳細には拘束されません。さらに,利用できる他の生産的言語とは異なり,OCL(OMG Object Constraint Language)と同等の実装がなされています。「同等」というのは,OCLが存在する15年も前からEiffelが実現していたことですから。openEHRに関係のあるOCLの重要な特徴は「アサーション(言明)」とよばれるもので,事前条件,事後条件とクラスアサーションを含みます。これらの命令文によりクラスモデルの状態を正確に定義することができます。
     
    6363First of all, you might not care about this, since there are a growing number of native Java and C# implementations of openEHR - and there is absolutely nothing stopping you writing all your software in your favourite language. Some reference components written in Eiffel already have a C# wrapper, and will soon have a Java wrapper, such as the ADL reference parser.
    6464
    65 それでも心配というのなら,C#なら簡単です。Eiffelベンダーの一つであるISEは
     65それでも心配というのなら,C#なら簡単です。Eiffelベンダーの一つであるISEは直接VB.netやC#.netなどの.net言語から直接利用できる.netのDLLをEiffelのソフトウェアの一部分として利用できる安定した.netツールを作成しました。これはC#やVB.netを両方グラフィカルなフロントエンドとして利用するADLツールでテストされてきており,C#でプログラムされた機能からEiffelへディスパッチする機能もあります。
    6666
    6767For those who do care...C# is easy. ISE, one of the Eiffel vendors has produced a solid set of .net tools which enable any Eiffel piece of software to be made available as a .net DLL, directly usable by VB.net, C#.net, and any other .net language. This has been tested in the ADL tools with both C# and VB.net graphical front-ends, including the ability to dispatch C# -programmed functions in Eiffel.
    6868
     69Javaへの接続はもう少し手間がかかります。EiffelからJavaへのインターフェースはスウェーデンのENEA-dataをはじめ様々な会社が医療ソフトウェアとして開発しています。あまり手のかからないよく知られた方法もたくさんあります。openEHRのADL参照パーサのために開発されたJavaラッパーもあります。
     70
    6971Interfacing to Java is somewhat more work. Eiffel to Java interfacing has already been done in production health software by various companies, including ENEA-data in Sweden. There are well-known methods for doing it, but it requires a little work. A java wrapping is in development for the openEHR ADL reference parser.
     72
     73== オープンソース版のEiffelはありますか? ==
     74
    7075Is there an open source version of Eiffel?
    7176
    72 Yes, it's called SmartEiffel, and as far as we know, it implements everything in the Eiffel specification, plus well-known extensions such as "agents".
     77[http://smarteiffel.loria.fr/ !SmartEiffel]があります。私たちの知る限りEiffelの仕様をすべて実装しており,「agents」のような有名な拡張も実装されています。
     78
     79Yes, it's called !SmartEiffel, and as far as we know, it implements everything in the Eiffel specification, plus well-known extensions such as "agents".
     80
     81そのほかのリソース:
     82 * [news://comp.lang.eiffel ニュースグループ]
     83 * たくさんある書籍; Amazon.comで探してみてください
     84 * たくさんあるライブラリ(たとえば[http://directory.google.com/Top/Computers/Programming/Languages/Eiffel/Libraries/ Google Eiffel directory]を参照してください)
     85    * newsgroup
     86    * numerous books; try searching Amazon.com
     87    * numerous libraries (see e.g. Google Eiffel directory)
     88
    7389
    7490Other resources include: