LINC(「Logic and Information Network Compiler」)は第4世代のプログラミング言語であり、[ 1 ]主にUnisysコンピュータシステムで使用されています。
LINCはもともと、要件や仕様が類似する複数の企業向けにコンピュータアプリケーションを複製・自動化するためのショートカット(またはテンプレート)として、2人のプログラマーによって開発されました。これらの企業が共通の汎用的なビジネスモデルを採用していたため、要件が類似していたのです。
つまり、これらの企業は「商品」、「部品」、「供給業者」、「顧客」(LINC用語では「コンポーネント」と呼ばれる)を扱っていた。そして、それらは「製造」、「組み立て」、「購入」、「販売」(LINC用語では「イベント」と呼ばれる行為)された。
これらのコンポーネントとイベントは「インターフェース仕様」または「ispec」と呼ばれ、アプリケーションシステムのデータベース定義、画面デザイン、およびビジネスルールを含んでいた。
LIRC(Logic and Information Report Compiler)はLINCの一部であり、プログラマがレポート(例えば、「発注書」、「請求書」、「クレジットノート」、「委託伝票」、「売買契約書」など)を作成できるように開発されました。これらのレポートに含まれる情報は、「プロファイル」と呼ばれる、これらのコンポーネントとイベントのさまざまなユーザー定義ビューを使用してアクセスされました。
レポートは独立したタスク(独立した実行スレッド)として実行されるため、バックグラウンドプロセスとして実行するように記述することも可能です。つまり、一定期間、または起動されるまで自身をスリープ状態にして何らかの処理を実行し、その後再びスリープ状態に戻るようにすることができます。
この新しい用語が導入された理由の一つは、プログラマーにとってシステムを使いやすくするためでした。これにより、プログラマーは多くの基盤技術から切り離されました。(同様に、制御構造にも意図的に異なる名前が使用されました。IFやLOOPではなくDO.WHEN、READではなくLOOK.UPやDETERMINEが使用され、OPENおよびCLOSEステートメントは自動的に生成されました。)
LINCがプログラマの効率を大幅に向上させ、彼らが作成するアプリケーションシステムの読みやすさと保守性を向上させ、単なる第三世代の高級言語の一つに留まらなかったのは、LINCが、開発対象であるBurroughsコンピュータに搭載され、利用可能であったすべての機能(オペレーティングシステム、ジョブ制御言語、COBOLプログラミング言語、データベース管理システム、ネットワーク定義、ユーザー端末など)を前提とし、活用し、完全に依存していたからである。(下記の「歴史」も参照のこと。)
バージョン11以降、その性質は変化した。以前はソースコードファイルに格納されていたLINC(およびLIRC)仕様は、LINC 4GLを使用して設計・開発されたデータベースに格納され、厳格な自動検証の対象となるようになった。仕様が格納されるこの新しいLINCベースのシステムは、LINCインタラクティブ、またはLINC開発環境(LDE)と名付けられた。
システム定義を支援するために、端末の「スクリーンペイント」(つまり、 CRTデータ入力画面の「モックアップ」)に大きく依存していました。例えば、コンポーネントのデータベース属性(名前、長さ、英数字、検証ルールなど)を定義したり、レポートレイアウトを定義したりするために使用されました。
1990年代初頭、LINC仕様開発のための新しいPCベースのツール、LINC開発アシスタント(LDA)がリリースされた。LDAはLINC 4GL(パーソナルコンピュータでの動作を想定していなかった)ではなく、SmalltalkとC++の混合言語で記述されていた。バージョン17以降は、すべての開発をLDAで行うことが意図されていた。
LINC は現在Unisys Enterprise Application Environment (EAE) として知られており、Unisys ClearPath システム、Dorado および Libra (旧 Burroughs A-Series および Sperry OS1100 メインフレーム)、 Microsoft Windows、およびさまざまなUnixおよびLinuxプラットフォーム向けに実行可能コード (Cobol) を生成することでアプリケーションを構築します。また、GUI フロントエンド クライアントも生成します。
生成されたコードのコンパイルや、仕様に準拠したデータベースのデプロイに加え、以下の機能も提供します。サポート対象のデータベースには、Burroughs DMSII、Sperry RDMS、Oracleデータベース、Microsoft SQL Serverなどがあります。
最新情報:
Unisys EAEはUnisys Agile Business Suite(AB Suite)へと進化しました。LDL言語はLDL+に昇格し、新たなオブジェクト指向機能が追加されました。開発環境にはMicrosoft Visual Studio IDEが使用されています。モデル駆動型アプローチは、UMLベースのクラス図をソリューションのすべてのソースコードと統合することで拡張され、双方向の更新が可能になりました。ビジネスルールの変更はUML表現の変更につながり、その逆もまた同様です。
AB Suite 4.0はVisual Studio 2012を利用し、Team Foundation Server 2012と統合されています。
AB Suiteは、.NET環境またはClearPath MCP環境のいずれかにデータを生成します。
コード生成はユーザーにとって透過的であり、開発者はアプリケーションを迅速に設計・展開できます。新しいバージョンでは、データベースの変更が自動的に認識され、開発者の介入なしに、必要に応じてデータ構造を新しい構造に移行するためのコードが生成されます。
AB Suiteを使用する際の重要な差別化要因は、迅速なファンクションポイント作業を可能にすることです。つまり、システム全体で並行作業を行うことで、未処理の作業のバックログを解消できます。
LINCは、1980年代初頭にサウジアラビアで働いていた2人のニュージーランド人コンピュータプログラマー(ギル・シンプソン[ 1 ]とピーター・ホスキンス)によって開発されました。当初は、完全に統合されたシステムであるバローズ社のコンピュータシステムの単一モデルでのみ動作するように開発されました。
等
LINCシステムは、第3世代CL COBOL(アプリケーション)、DMSII(データベース定義)、NDLII(ネットワーク記述)、およびWFL(ジョブ制御)のソースコードを生成しました。生成されたジョブ制御文は、他の要素をコンパイルし、データベース、アプリケーション、およびユーザー端末ネットワークからなる統合システムを構築するために実行されました。
バローズ社は1982年に製品の販売権を取得したが、製品開発は元の開発者たちが引き続き担当した。初期の課題の一つは、バローズ社の中規模および大規模コンピューティングプラットフォームで使用できるように製品を拡張することだった。
バロウズ社がスペリー社と合併してユニシス社を設立した後、この言語はスペリー社のUNIVAC 1100/2200シリーズのマシンでも使用できるように拡張された。
その後、ギル・シンプソンによってニュージーランドのクライストチャーチに開発センターが設立され、製品開発が行われた。所有権は後にユニシスに移管され、製品とメインフレームコンピュータセンターのリソースは、オーストラリアのシドニーにある「ユニシスソフトウェアのオーストラリアセンター」であるユニシスACUSに移管された。
ギル・シンプソンのクライストチャーチのチームは、市販のハードウェア上でLINCコードをインポートして実行できるJade言語/データベースを開発した。
LINC自体は、以下のプラットフォームでサポートされています(されていました)。
開発作業はACUS Unisysが行っていましたが、2008年初頭にACUSからインドのアウトソーシング会社に移管されました。最終的に、この製品は100万以上の企業に販売されました。世界中に4000社の顧客。
主な問題点として、LINCは他の多くの企業(特にIBM )から容易に入手できる無数のターンキーシステムと競争することができない。既存製品(例えばHoganの小売銀行システム)を購入してカスタマイズするコストは、LINCを使用してすべてのルールを含むビジネスシステム全体をゼロから構築するコストやリスクよりも低いと認識されている。
その他の弱点は、主にBurroughs DMSとCOBOLへの依存とそれらに基づく設計に起因しており、これらは他のコンピューティングプラットフォームとは大きく異なる。