Spec#
パラダイム マルチパラダイム: 構造化, 命令型, オブジェクト指向, イベント駆動, 関数型, 契約
登場時期 2004年 (22年前) (2004)
設計者 Microsoft Research
開発者 Microsoft Research
最新リリース SpecSharp 2011-10-03/ 2011年10月7日 (14年前) (2011-10-07)
型付け 静的型付け, 強い型付け, 安全, 公称的派生型
影響を受けた言語 C#, Eiffel
影響を与えた言語 Sing#
ウェブサイト research.microsoft.com/specsharp/
テンプレートを表示

Spec#とは、C#Eiffel風の仕様記述言語的要素を追加したプログラミング言語である。Spec#ではオブジェクト不変条件事前条件事後条件などの契約を記述するための構文を持つ。ESC/Javaのように、定理証明機を用いた静的検証ツールを持っており、不変条件の多くを静的に検証できる。

.NET Framework 4.0におけるコードコントラクトAPIはSpec#とともに発展してきた。 Spec#はSing#の基礎にもなっている。

特徴

編集

C#と比べ、Spec#には以下の要素を持つ。

  • null非許容参照型
  • 事前条件・事後条件を書くための構文
  • Java風の検査例外
  • 簡易構文

編集

事前条件・事後条件・null非許容参照型を用いた例を以下に示す。(ブラウザ上でSpec#を試す)

static int Main(string![] args)
    requires args.Length > 0;
    ensures return == 0;
{
    foreach(string arg in args)
    {
        Console.WriteLine(arg);
    }
    return 0;
}
  • ! はnull非許容参照型である。argsはnullであってはいけない。
  • requires は事前条件である。この例ではargsの数が0以下であることは許されない。
  • ensures 事後条件である。Main関数は0を返さなければならない。

Sing#

編集

Sing#はMicrosoft ResearchSingularity(OS)を開発するためにSpec#を拡張した言語である。Sing#では低水準プログラミング言語におけるチャネルと契約を扱える。

脚注

編集

出典

編集
  • Barnett, M., K. R. M. Leino, W. Schulte, "The Spec# Programming System: An Overview." Proceedings of Construction and Analysis of Safe, Secure and Interoperable Smart Devices (CASSIS), Marseilles. Springer-Verlag, 2004.

関連項目

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

マーヴェレッツ

Marvelettes Sing』では4人編成となった。この頃、ディー・ディー・シャープ(Dee Dee Sharp)が「プリーズ・ミスター・ポストマン」に酷似した楽曲「マッシュポテト・タイム(Mashed Potato Time)」を大ヒットさせていたが、『The Marvelettes Sing

アイル・ビー・ゼア・フォー・ユー/ユーアー・オール・アイ・ニード・トゥ・ゲット・バイ

ョンズ~ア・レトロスペクティブ』(Reflections (A Retrospective))には、レイザー・シャープ・ミックス (Razor Sharp Mix)のバージョンが収録されている。 楽曲制作とプロデュースは、RZAとメソッド・マンによって行われ、基調となるサンプリングには、ニコラス・

ルイス・バカルター

Daily Eagle, P. 1, 1937.3.8 ^ Andrew Tully, P.74 ^ Lepke, Gurrah Escape Sharp Sheriff's Bail Brooklyn Daily Eagle, P. 1, 1937.11.20 ^ Report Racket Leader

The Society for Information Display

Engineering for LCD Projection, by Michael Robinson, Jianmin Chen, and Gary Sharp Projection Displays, by Edward Stupp & Matthew Brennesholtz 3Dディスプレイ 3D

自己ベスト (小田和正のアルバム)

アルバム『MY HOME TOWN』から。第一生命パスポート5000CM曲。新録音。 風の坂道 (1993) - (4:06) 11thシングル。SHARP液晶ビューカムCM曲、NHK『人間マップ』テーマ曲、名古屋鉄道企業CM曲。 伝えたいことがあるんだ (1997) - (4:23)

SWING-O a.k.a. 45

『Tokyo Crossover Night 2012』 V.A.『Black Finger~Queen Never Dies~』 ズクナシ『We Sing One Voice』 Chara『Cocoon』 V.A.『NO DANCE, NO LIFE』 V.A.『TOWER RECORDS CAFE

Eternal Love 〜光の天使より〜

れたブロッコリー主催のライブ「Broccoli the Live」にゲスト出演し、本曲のほか、カップリングの『天使たちの休息』と自身の楽曲である『Sing for me』、『愛・おぼえていますか』を歌っている。本曲はゲーム版『GALAXY ANGEL』最終話戦闘シーンのバックミュージックとしても使われている。

スキマスイッチ

Fenderの魅力やインタビュー当月に発売されたFender Highwayシリーズについて語っている。 SHARP「AQUOS QD-OLED」FS1ライン特集(2023年12月14日・2024年2月29日、SHARP) SHARPのAQUOS QD-OLEDのプロモーション。 全2回の特集であり、第1回では、ワンマンライブ「スキマスイッチ