Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
device-modeling-language — ドメイン固有言語で、仮想プラットフォーム向けの高速な機能デバイスモデルを記述します。DMLをC言語にコンパイルし、Intel Simicsシミュレーター向けに調整されたAPIコールを生成することで、ハードウェアシミュレーションとセキュリティテストを可能にします。 | Kitploit
ツール/GitHubGitHub/intel/device-modeling-language
組み込みシステムセキュリティセキュリティ仮想化ハードウェアセキュリティハードウェアとIoTセキュリティファームウェア解析
GitHubintel/device-modeling-language

device-modeling-language

ドメイン固有言語で、仮想プラットフォーム向けの高速な機能デバイスモデルを記述します。DMLをC言語にコンパイルし、Intel Simicsシミュレーター向けに調整されたAPIコールを生成することで、ハードウェアシミュレーションとセキュリティテストを可能にします。

リポジトリを見る
139521ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

デバイスモデリング言語

デバイスモデリング言語(DML)は、仮想プラットフォーム向けに高速な機能モデルまたはトランザクションレベルのデバイスモデルを作成するためのドメイン固有言語です。DMLは、レジスタバンク、レジスタ、ビットフィールド、イベント投稿、モデル間インターフェース、ロギングなど、機能デバイスモデルに適した高水準の抽象化を提供します。DMLコードはDMLコンパイラ(DMLC)によってコンパイルされ、特定のシミュレータ向けのAPI呼び出しを含むCコードを生成します。

現在、コンパイラはIntel® Simics® シミュレータ向けのモデル構築をサポートしていますが、将来他のバックエンドが追加される可能性があります。

DMLCのビルドとテスト

DMLCをビルドするには、SimicsシミュレータのインストールとSimicsプロジェクトのセットアップが必要です。

Intel Simicsシミュレータの公開リリースを使用する場合

まだSimicsシミュレータのインストールや商用チャネル経由でのSimicsシミュレータへのアクセスがない場合は、Intel Simicsシミュレータの公開リリース をインストールし、Simicsプロジェクトを作成してください(デフォルトのインストールフローで自動的に行われます)。

SimicsプロジェクトからのDMLCのビルド

Simicsプロジェクト内で、DMLリポジトリを modules/dmlc ディレクトリにチェックアウトします。プロジェクトのトップレベルで make dmlc(Windowsの場合は bin\make dmlc)を実行します。

SimicsプロジェクトからのDMLCのテスト

DMLCに付属の単体テストを実行するには、プロジェクトのトップレベルから make test-dmlc または bin/test-runner --suite modules/dmlc/test を実行します。

環境変数

以下の環境変数はDMLCの開発時に便利です。ローカルでビルドしたDMLCを定期的に使用する場合は、.bashrc に DMLC_DIR、T126_JOBS、DMLC_PATHSUBST、PY_SYMLINKS を設定することを検討してください。残りの変数は、必要な場合のみ有効にすることをお勧めします。

DMLC_DIR

DMLCをビルドした後、ローカルでビルドしたコンパイラを使用してデバイスをビルドするには、後続の make 呼び出しで DMLC_DIR を <your-project>/<hosttype>/bin に設定する必要があります。<hosttype> はホストの種類に応じて linux64 または win64 です。

T126_JOBS

設定すると、指定された数のテストが並列実行されます。

DMLC_PATHSUBST

DMLCのビルドは、いくつかのDMLライブラリファイル(例:dml-builtins.dml)を <hosttype>/bin にコピーします。コンパイルエラーが発生した場合、エラーメッセージは通常、ソースではなくこのコピーを指します。DMLC_PATHSUBST を <hosttype>/bin/dml=modules/dmlc/lib に設定すると、エラーメッセージがソースファイルを指すように書き換えられます。<hosttype> はホストの種類に応じて linux64 または win64 です。

PY_SYMLINKS

1 に設定すると、make dmlc はPythonファイルをコピーする代わりにシンボリックリンクを作成します。これにより2つの効果があります:Pythonのトレースバックでリポジトリ内のソースファイルが表示されるようになり、Pythonファイルを編集した後に make を再実行する必要がなくなります。

DMLC_DEBUG

1 に設定すると、コンパイラ内で予期しない例外が発生した場合にstderrに出力されます。デフォルトでは、トレースバックは dmlc-error.log ファイルに隠されます。

DMLC_CC

単体テストで使用するデフォルトのコンパイラをオーバーライドします。

DMLC_PROFILE

設定すると、DMLCは自己プロファイリングを行い、プロファイルを .prof ファイルに書き込みます。

DMLC_DUMP_INPUT_FILES

設定すると、DMLCはすべてのDMLソースファイルを含む .tar.bz2 アーカイブを生成し、スタンドアロンでコンパイル可能な形式でパッケージ化します。これは、複雑なビルド環境内でDMLの問題が発生し、問題を分離して再現したい場合に便利です。作成されたアーカイブでは、すべてのDMLファイルが同じディレクトリ(トップレベルまたは _ というサブディレクトリの下)に配置され、相対インポートはアーカイブ内にシンボリックリンクを含めることで処理されます。Windowsでは、DMLCがこれらのシンボリックリンクを正しく解決できない場合があるため、アーカイブはLinux上でのみ展開およびコンパイルすることを推奨します。

DMLC_GATHER_SIZE_STATISTICS

設定すると、DMLCは -size-stats.json で終わるファイルを出力します。このファイルには、生成されるコードサイズを削減しコンパイル速度を向上させるのに役立つコード生成統計情報が表示されます。このファイルには、各DMLメソッドに対して生成されるCコードの量がリストされています。出力は [tot_size, location, num] のトリプルのリストです。tot_size は1つのメソッド宣言から生成されたCコードの合計バイト数、num はこの宣言からCコードが生成された回数(テンプレートによって展開されたため)、location は宣言のソース位置です。

tot_size が大きく num も大きいエントリは、メソッドを shared として宣言することで削減できます。これにより、サイズがおおよそ num で除算されます。tot_size が大きく num が1のエントリは、通常そのメソッドが #foreach や #select のような構文によって支配されていることを意味し、ループ本体を別のメソッドに分割するか、あるいはループを foreach のような別の構文に作り直すことで削減できます。

統計情報にはメソッド宣言から直接生成されたコードのみが含まれることに注意してください。総コードサイズはこれよりもはるかに大きくなります。メソッド宣言からのコードサイズが1メガバイトの場合、通常コンパイル時間が数秒増加します。

ツールをダウンロード