• ベストアンサー

ミドルウェア?ドライバ?SDK?…各々の関係性は?

お世話になります。 恥ずかしながら、PCへインストール・設定をするソフト(?)の カテゴリ分類がよく解りません。 具体的には、ミドルウェア、ドライバ、JAVA等のSDKと呼ばれる もの、ファームウェア、API、これら5つの関係性が理解できていません。 個々の用語は、Wikiなどで容易に調べることができますが、 それぞれが、どのような立ち位置にあるかとなると、今年度 入社した新人のメンバーへ教えることができません。 集合論で使われる「ベン図」や「論理記号」で、これらの関係を 表すと、どのようになるかをご教示願えませんでしょうか。 稚拙な質問で、お恥ずかしいですが、お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

●firmware 堅い(firm)という語源のとおり,電子機器(hardware)側のROMやLSIに組み込まれたソフトウェア。 ●device driver PCから電子機器(device)を操作するために,PC側にインストールされるソフトウェア。 アプリケーションプログラムがハードウェアを扱う際は,OSとデバイスドライバが絡んでこんな感じ。ハードウェア側にファームウェアが存在するか否かはモノによって異なる。 Application ~~~~~~~~ Operating System ~~~~~~~~ Device Driver ―――――――― (Firmware) Hardware ●middleware OSが提供する基本機能以上の,より高機能を各アプリケーションに提供するソフトウェア。例として,データベース管理システム(DBMS)やトランザクションモニタなど。 アプリケーションプログラムがミドルウェアを利用する場合はこんな感じ。 Application |Middleware ~~~~~~|~~~~~   Operating System ●API (Application Programming Interface) ソフトウェアの機能を呼び出すための仕様。 http://okwave.jp/qa/q7443196.html の私の回答ANo.4 これまで登場した「~~~~~」の箇所はすべてAPI。アプリ~OS間,OS~ドライバ間,OS~ミドルウェア間,いずれにおいても「ソフトウェアが有する機能を分かりやすい形でプログラムから呼び出したい」というニーズがあるので,すべてAPIになっている。 ●SDK (Software Development Kit) 文字どおり,ソフトウェア開発のための道具一式。 よくある形式としては,ライブラリソフトが提供され,ライブラリ内の機能の呼び出し方(APIの使い方)が分かるようなリファレンスマニュアルやサンプルコードが同梱されている。

retweet
質問者

お礼

お礼が遅れまして大変失礼いたしました。 かなり解りやすくご説明いただきありがとうございます。 APIというモノは、色々な箇所で登場してくるのですね。 恥のかき捨てで恐縮ですが、 SDKは、ミドルウェアに含まれるのでしょうか? また、ミドルウェアはソフトウェアの一種なのでしょうか? お恥ずかしい限りですが、再度ご教示いただけると幸いです。 何卒、宜しくお願いします。

その他の回答 (1)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

> ミドルウェアはソフトウェアの一種なのでしょうか? はい,ソフトウェアです。 http://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%89%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2 > SDKは、ミドルウェアに含まれるのでしょうか? 一概には言えないと思います。 開発時だけで使われる便利な道具一式,であるならミドルウェアとは呼ばないでしょう。 Java SDKに同梱されているJava仮想マシン(Java VM)のように,それが土台(platform)として稼動していることがアプリケーションプログラム実行の前提になっているようですと,ミドルウェアに該当するでしょう。

retweet
質問者

お礼

お忙しいところ、再度ご回答ありがとうございます。 先のお答えと共に、よく解りました。 重ねて御礼いたします。m(._.)m

関連するQ&A

  • ド・モルガンの法則の証明

    ド・モルガンの法則ってありますよね?(集合論か何かにある) ベン図でだと証明できるのですが、真理値表と論理演算(∧や∨を使う演算)での証明がどうしてもできません。わかりやすく教えてください。

  • 本物の要素関係∈と言語としてのεの関係

    再質問になります、御容赦ください。 「数とは何かそして何であるべきか」や「ゲーデルと20世紀の論理学 4」などにおいて 集合論の言語として{ε}を用いる、ただしεは2変数関係記号である。体系の外で考えているとき、あるいは集合論のモデルで考えているときの、「本当の」要素関係∈と区別するためこの記号を使用する とあり、言語記号としてのεと実際の要素関係を表す∈を区別しています、しかしこの区別はどういう意味があるのでしょうか。 記号そのものと、それが表現するものの違いだ、と一旦は分かった気になるのですが、さらに考えてみると本物の要素関係∈なるものも何らかの公理と推論規則、つまり形式体系で書かれるしかないのではないか?ならばそれも言語記号と違わないのでは?と堂々巡りになっていますのです。(この二つの記号はいつも同じ内容を表すとは限らないために区別しているのだ、と考えても両者とも結局包含関係を表す訳で・・・、二者の間に意味の違いがあるという状況を想像出来ないのです。) また、 「体系の言語で記述される(内的な)無限降下列 とモデルでの無限降下列の区別」と http://kurt.scitec.kobe-u.ac.jp/~fuchino/foundation.html (渕野 昌先生) にある文章においても(同じことだと思うのですが、)悩んでおり、その区別がいかなるものか分かっていません。 「本物の」要素関係なるものが記述はされないが存在する などと言うことではないと感じるのですが・・・。 おそらくはじめの部分で勘違いをしていると思います、しかし、それがどういうものなのかはっきりしておらず苦しんでおります、この方面に明るい方助けていただければ幸いです。

  • 【命題「P→Q」における論理の相対性について 】

    命題「P→Q」を否定、論理和、論理積の記号で 表記した場合、  (¬P)∨Q・・・(1)  ¬(P∧(¬Q))・・・(2) となることが書籍に記載されておりました。 (「プログラマの数学」(ソフトバンククリエイティブ)に(1) 「論理と集合のはなし」(日科技連)に(2) がそれぞれ掲載されていました。) ベン図や真理値表も併せて記されていたため、 「P→Q」が上記、2つの式で表記できることまでは 理解できました。 ここで、(1)から(2)、(2)から(1)を導出する場合に、 どのような式変形をすれば  (¬P)∨Q ≡ ¬(P∧(¬Q)) を証明できるのでしょうか? ド・モルガンの法則を導出する際に使う 「論理の相対性」が大いに関係していると (むしろ、「論理の相対性」そのもの?) 勘繰っているのですが、確証できません。 お知恵の拝借を頂けませんでしょうか? よろしくお願いします。

  • 圏論を公理的に扱うには

    圏のはじめの定義において対象のcollection、射のcollectionという若干曖昧な言い方がなされるのが普通だと思います。 圏の対象、set全体やgroup全体はproper classになり一階述語論理で書かれた集合論の公理では記述できないことが書籍などでは書かれており、また圏論の解説などで量化記号(∀∃など)を使っているのも見ません。 しかし圏論を公理的に定式化できなければそれも問題だと思うので、公理的な扱いができるとも思っているのですが、それはどういうように行われているのでしょう。 また集合論が数学の基礎づけになっているというのと同じような意味で、圏論がいろいろな数学を展開する場を与えてくれると考えられると感じるのですが、一つ一つの具体的な圏、Set、Group、Top、Htpyなどは圏論全体の枠組みの中でどのようにして導入されるのでしょうか。圏の具体例として急に外から与えられているようにみえるのですが...(たとえば、群全体なるものがどこかで想定されていて圏の定義を満たしていることは確認されるように記述されているように感じます) おそらく公理的な集合論と圏論との関係がわかっていないための混乱なのですが、圏論はどのように形式的に定まっているものなのでしょうか。

  • JavaでのAPIの覚え方ってみさなんどうされてますか?

    初めまして。最近Javaを勉強し始めたんですが、 友人に聞いたところ短期間にJavaが理解出来るコツは 『Java (TM)2 SDK ドキュメント(API仕様)』を読みながら 次の順番でサンプルを作りながら主要なパッケージを覚えて行けばいいんじゃない? と言われました。 (1)JAVA.LANG (2)JAVA.IO (3)JAVA.UTIL (4)JAVA.NET (5)JAVA.TEXT (6)JAVA.STRING (7)JAVA.MATH 必死でメソッドやインターフェース等のサンプルを作っている所なのですが、 同じような単語があったり、継承関係が複雑だったり。。。 頭の中で整理出来ず、ただ闇雲にやっているだけのような感じがしてきました。 皆さんはどのような工夫や方法でAPIを覚えて行きましたか? 是非ご回答の程お願いします。

    • ベストアンサー
    • Java
  • 言語としてのεと本物の包含関係∈の違いについて

    「数とは何かそして何であるべきか」や「ゲーデルと20世紀の論理学 4」などにおいて 集合論の言語として{ε}を用いる、ただしεは2変数関係記号である。体系の外で考えているとき、あるいは集合論のモデルで考えているときの、「本当の」要素関係∈と区別するためこの記号を使用する とあり、言語記号としてのεと実際の要素関係を表す∈を区別しています、しかしこの区別はどういう意味があるのでしょうか。 記号そのものと、それが表現するものの違いだ、と一旦は分かった気になるのですが、さらに考えてみると本物の要素関係∈なるものも何らかの公理と推論規則、つまり形式体系で書かれるしかないのではないか?ならばそれも言語記号と違わないのでは?と堂々巡りになっていますのです。(この二つの記号はいつも同じ内容を表すとは限らないために区別しているのだ、と考えても両者とも結局包含関係を表す訳で・・・、二者の間に意味の違いがあるという状況を想像出来ないのです。) また、 「体系の言語で記述される(内的な)無限降下列 とモデルでの無限降下列の区別」と http://kurt.scitec.kobe-u.ac.jp/~fuchino/foundation.html (渕野 昌先生) にある文章においても(同じことだと思うのですが、)悩んでおり、その区別がいかなるものか分かっていません。 「本物の」要素関係なるものが記述はされないが存在する などと言うことではないと感じるのですが・・・。 おそらくはじめの部分で勘違いをしていると思います、しかし、それがどういうものなのかはっきりしておらず苦しんでおります、この方面に明るい方助けていただければ幸いです。

  • 推論規則と日本語による証明の対応関係

    以前、論理学の本を読み、コンピュータに軽く関わっている事もあり、数学基礎論に興味が発展しました。 推論規則などについて知る内に、高校で習った自然言語による証明との対応関係に疑問がわきました。 例えばゲッツェンの自然演繹などとどの様に対応しているのでしょうか? 論理記号で定義された、背理法や帰納法などの個々の規則は単独では納得していますが、数学の一般向けの本などに書かれている自然言語で記述された証明を見てもどうにも納得できない(論理構造を抜き出せない)事があります。 ぜひ、推論規則と日本語による証明の関係性を教えていただきたいのです。 何かいい本や、WEBサイト等ありましたら是非教えてください。

  • ZFCの論理式の表す内容について

    集合論と形式的な論理式の関係についてです、よろしくお願いします。 ZFCで扱われるのは煎じ詰めれば、有限の文字列(∋などを含んだ論理式)だと思うのですが、そんなZFCにより再帰的でない関数や実数から実数への関数全体などのいろいろな無限構造を表現し議論することが多いと感じます。しかし再帰的ですらない関数全体などを有限にすぎない記号列で表現できるのでしょうか。 つまりZFCはどうして十分な高い表現能力を持っているといえるのだろう、ということなのですが。 もちろん、そのような複雑な無限構造も考えたり、思い描いたりすることはできると思いますし、可能ならば数学的に扱えるようにしておくべきだとも思います。 誤解されるかもしれませんが、哲学的な話をしたいわけではありません。そうではなく、フォーマルな意味で有限の形式的な文字列がきちんと意図した構造を表現している、ということは数学的にはどのようにして保証されているのか、ということを伺いたいのです。

  • 形式化の表す内容について

     再質問になります。  以前、言葉尻の異なる同じような内容の質問をしております。ご容赦ください。    スコーレムの定理によりべき集合公理をもつ公理系にも可算モデルが存在する  無限体k上のベクトル空間の次元という概念は論理式では表現できない  ペアノ算術において自然数の非標準モデルが存在する  といったものから  モデル側の性質をすべて形式体系で書くことはできないということが結論されているのを見るのですが、自分としてはそのような形式体系で書くことができない性質があるということ、その性質について考えるとことが、なぜ記号を対象とした数学という分野でできるのかということが不思議なのです。  つまり(あくまで建前上ではですが)、イメージや心象を閉め出して形式的な文字列の変形、生成で議論できるはずの数学においては形式体系、公理系のモデルも結局何らかの形式的な文字列の変形、生成で定義される以外無いはずであって(モデルを決めるというのは形式体系側の記号や述語に、新しい記号や述語を対応させた新しい形式体系を実装として定めるということだと考えています) 例えば 実数の公理系の非可算のモデルの更なる可算モデルを考えると、そもそも非可算モデルとはなんだったのだろうか(何をもって非可算といっていたのだろうか もちろん元の体系内で、ある集合が可算無限の集合と1:1対応のつけられないということが証明できるということをもってなのでしょうが、しかしそれも体系の外に出てみると可算モデルになっていることがあるということならどこまで行っても本当に非可算かどうかを確かめることはできないのではないだろうか つまり何をもって非可算となすという基準が作れないように見え、それならば非可算というもの自体がどういうものかわからないのではないか なら最初の非可算モデルとはいったい何だったんだろうといったように) ベクトルの次元という概念も表現できる視点があって初めて、ある論理上では表現できないということが分かるのであってその表現できる視点というのも論理式の集合で書かれるしかないのではないか ならば次元という概念も論理式の集合で表現できることになるのでは 標準的な(N,0,1,+,・,<)のNも数学で考えるために論理式で定義されるものなら標準モデルだけを表す公理系があるのではないだろうか もしないならどうやって数学の議論の台に乗せるのだろうか などといった、おそらく擬似問題に悩んでしまうのです。  認識といってしまうといきなり怪しい話になってしまい恐縮ですが、「モデル側の性質をすべて形式体系で書くことはできない」ということは一見して数学の論理は、人間の心象、意味内容を全て認識することができないと受け取ってしまいそうになりますが、形式とモデルの関係はそのようなことをいっているのではなく、数学上の話である以上、体系間の関係のことをいっていると思うのですが正確にはどういうことを表しているのかわからないのです。 おおざっぱにいうと論理式で表せない性質があるということをいうためにはその性質を表すことが必要であり、数学においてはそれも論理式で書くことになると思うので、結局どういうことをしているのか混乱しているのです。  それとも最初に書いたようなことは人間側の推論と論理式での推論の関係(これは本当にイメージ心象と論理式の関係であって、想像上の集合、モデルと形式体系は1:1には対応しない)を、体系同士の関係で表した、まねさせたことから出てきた成果なので たとえば非可算かどうかを確認する絶対的基準なものがどこにあるかなどと言うことは意味をなさないのでしょうか。つまり実装(モデル)側で、ある論理式(可算性、非可算性に相当する)を証明できるものを可算モデル、非可算モデルという名前を付けているだけであって人間の使う非可算という意味とは(建前上は)関係がないということでしょうか。  もちろん例えば、自然数といわれればその意味するところはわかりますし、その自然数と同型でないモデルというのも色々なところで図などをつかって解説されている限り同型でないということや、どういうものかということは分かります、ただそれは明らかにイメージに頼ったものであって、厳密な意味での数学ではどうするのだろう(というか論旨式で表せないものを表すとは何だろう)と考え質問いたしました。 メタレベルと対象レベルを区別できてないが故の疑問だと感じているのですが、モデル(実装)にたいしても、その実装は?さらにその実装は?といっていくと結局非可算かどうかを区別できる視点などないのではないかということにならないのでしょうか? かなり初歩的な勘違いをしていると思いますが、この方面に明るい方、過去このような疑問を持たれた方、お時間ありましたら解答、解説お願いします

  • スコーレムの定理の意味 論理式の表現の可能性

     以前、言葉尻の異なる同じような内容の質問をしております。ご容赦ください。    スコーレムの定理によりべき集合公理をもつ公理系にも可算モデルが存在する  無限体k上のベクトル空間の次元という概念は論理式では表現できない  ペアノ算術において自然数の非標準モデルが存在する  といったものから  モデル側の性質をすべて形式体系で書くことはできないということが結論されているのを見るのですが、自分としてはそのような形式体系で書くことができない性質があるということ、その性質について考えるとことが、なぜ記号を対象とした数学という分野でできるのかということが不思議なのです。  つまり(あくまで建前上ではですが)、イメージや心象を閉め出して形式的な文字列の変形、生成で議論できるはずの数学においては形式体系、公理系のモデルも結局何らかの形式的な文字列の変形、生成で定義される以外無いはずであって(モデルを決めるというのは形式体系側の記号や述語に、新しい記号や述語を対応させた新しい形式体系を実装として定めるということだと考えています) 例えば 実数の公理系の非可算のモデルの更なる可算モデルを考えると、そもそも非可算モデルとはなんだったのだろうか(何をもって非可算といっていたのだろうか もちろん元の体系内で、ある集合が可算無限の集合と1:1対応のつけられないということが証明できるということをもってなのでしょうが、しかしそれも体系の外に出てみると可算モデルになっていることがあるということならどこまで行っても本当に非可算かどうかを確かめることはできないのではないだろうか つまり何をもって非可算となすという基準が作れないように見え、それならば非可算というもの自体がどういうものかわからないのではないか なら最初の非可算モデルとはいったい何だったんだろうといったように) ベクトルの次元という概念も表現できる視点があって初めて、ある論理上では表現できないということが分かるのであってその表現できる視点というのも論理式の集合で書かれるしかないのではないか ならば次元という概念も論理式の集合で表現できることになるのでは 標準的な(N,0,1,+,・,<)のNも数学で考えるために論理式で定義されるものなら標準モデルだけを表す公理系があるのではないだろうか もしないならどうやって数学の議論の台に乗せるのだろうか などといった、おそらく擬似問題に悩んでしまうのです。  認識といってしまうといきなり怪しい話になってしまい恐縮ですが、「モデル側の性質をすべて形式体系で書くことはできない」ということは一見して数学の論理は、人間の心象、意味内容を全て認識することができないと受け取ってしまいそうになりますが、形式とモデルの関係はそのようなことをいっているのではなく、数学上の話である以上、体系間の関係のことをいっていると思うのですが正確にはどういうことを表しているのかわからないのです。 おおざっぱにいうと論理式で表せない性質があるということをいうためにはその性質を表すことが必要であり、数学においてはそれも論理式で書くことになると思うので、結局どういうことをしているのか混乱しているのです。  それとも最初に書いたようなことは人間側の推論と論理式での推論の関係(これは本当にイメージ心象と論理式の関係であって、想像上の集合、モデルと形式体系は1:1には対応しない)を、体系同士の関係で表した、まねさせたことから出てきた成果なので たとえば非可算かどうかを確認する絶対的基準なものがどこにあるかなどと言うことは意味をなさないのでしょうか。つまり実装(モデル)側で、ある論理式(可算性、非可算性に相当する)を証明できるものを可算モデル、非可算モデルという名前を付けているだけであって人間の使う非可算という意味とは(建前上は)関係がないということでしょうか。  もちろん例えば、自然数といわれればその意味するところはわかりますし、その自然数と同型でないモデルというのも色々なところで図などをつかって解説されている限り同型でないということや、どういうものかということは分かります、ただそれは明らかにイメージに頼ったものであって、厳密な意味での数学ではどうするのだろう(というか論旨式で表せないものを表すとは何だろう)と考え質問いたしました。 メタレベルと対象レベルを区別できてないが故の疑問だと感じているのですが、モデル(実装)にたいしても、その実装は?さらにその実装は?といっていくと結局非可算かどうかを区別できる視点などないのではないかということにならないのでしょうか? かなり初歩的な勘違いをしていると思いますが、この方面に明るい方、過去このような疑問を持たれた方、お時間ありましたら解答、解説お願いします