www.specript.org

Specriptへようこそ!

Specript(次期版)は、

なお、Specript(当初版)は、独立行政法人 情報処理推進機構(IPA) 未踏ソフトウェア創造事業の支援を受けて開発されました。

現在(2012年2月)“Specript次期版開発”として再スタートしています。

Specript当初版の紹介がこちらにあります。前提知識としてまずご参照ください。

Specriptとは?

Specriptは、会計、在庫管理、受発注管理などに代表される企業システムを構築するときの、 ビジネスロジック記述用途に特化した言語です。ビジネスロジックの仕様を宣言的 ("What"指向)に記述できるDSL(Domain Specific Language)です。

Specriptは、実装用のプログラミング言語というより、いわばビジネスロジックの 詳細仕様記述と言うべきレベルの記述性の高さをもった言語です。 業務アプリケーション向けの形式的仕様記述を目指した言語であると言っても構いません。

現状の業務アプリケーション開発の現場では、次のような事態がよく発生しています。 それは・・・Javaなどで実装される場合、「仕様書」なるドキュメントが別途必要と なりますが、多くの現場でドキュメントは作成後にはほとんど保守されず、現状の仕様を 把握するのには役に立たなくなっていたりします。最新の仕様は担当者の頭の中にのみ 存在することとなります。そして、その担当者が異動等でいなくなると、結局、現状仕様は ソースコードから読み取らざるを得ないこととなります。しかし、Javaソースコードから 仕様を完全に読み取るにはやはり困難さがあります。この問題に起因するトラブルが 頻発している現場も現実に存在します。

そこで、我々開発チームは、実行されるソースコード自体に仕様記述と言えるほどの記述の 抽象度、記述性の高さがあれば、別途「仕様書」が無くともソースコードさえあれば、 確かに現在稼働中である仕様を確実に、かつ容易に、把握することができるのでは ないか、と考えました。

業務アプリケーション分野に形式的仕様記述を導入することで、保守局面における 品質問題を根本解決することができるものと考えました。

当初版に対する問題点と、次期版への取り組み

Specript当初版の紹介がこちらにあります。前提知識としてまずご参照ください。

Specriptは、IPA未踏ソフトウエア創造事業に採択いただきその開発に着手することができたものの、 実装方式上の問題点と、言語の設計コンセプトに再考すべき点とが見出され、 リリース品質といえるまでの完成度に達することなく今に至ってしまっております。

当初版に対する問題を解消するために、現在までに以下のような考え直しを行いました。

現在(2012年2月)、新しい設計コンセプトがまとまってきた段階にあり、“Specript次期版開発”として 再スタートするに至っております。

次期版には大きく次の4つの変更点があります。

アプリケーションのアーキテクチャ

Specript当初版では、UI(プレゼンテーション)−ビジネスロジック−データアクセスの3層モデルにおいて、 中間層であるビジネスロジック層を担うことを目的にしていました。次期版では、データアクセス層に 位置付く永続データのデータモデルの記述もスコープとなります。Specriptを用いて業務アプリケーションを構築する場合、 一般に下記のようなアーキテクチャを採ることとなります。

UI層

Specriptはビジネスロジック記述に特化しており、UI層を担うことはできません。

StrutsなどのWebアプリケーションフレームワークを使用してUI層を構築してください。 Struts ActionなどからSpecriptで記述されたビジネスロジックを呼び出します。 そのためのJava APIを提供します。

加えて次期版では、Specriptで記述されたビジネスロジックはWeb-APIとしてエクスポートされます。 JavaScriptなどからAjaxコールで利用することができます。

ビジネスロジック層

業務アプリケーションの中核となるビジネスロジックはSpecriptで記述します。 Specriptの詳細仕様記述と言えるほどの記述性の高さが、ビジネスロジック仕様を ソースコードから直接的に読解することを容易にするでしょう。

データアクセス層

Specript次期版では、外部の永続データ資源(※多くはRDB)のデータモデルを表現できます。

Specriptはオープンソースソフトウエアです

Specriptのコンパイラや実行環境の実装は、オープンソースソフトウエアとして公開します。

現時点(2008年6月)で具体的なライセンス体系は未定ですが、いずれにしても、企業内で フリーに導入していただくことを妨げないことを第一の要件に据える方針です。

アウトラインを理解するためのその他の資料

Specript(当初版)の概要を理解するために、下記文書も参照してみてください。

  • IPA 未踏ソフトウェア創造事業 事業成果報告集

    リンク先ページの「業務アプリケーション開発用途向けWhat記述指向言語の開発」を参照

  • プレゼンテーション資料 "the first study" [PDF]


    (c)2007-2016, Specript Development Team Last Updated: 2012-03-01