InfoQ ホームページ Embedded_App_Dev に関するすべてのコンテンツ
-
TinyGoはモノのインターネットに持ち込むことが目的
Googleが提供するTinyGoは、LLVMベースの新しいGoコンパイラーで、Arduino UnoやBBC micro.bitなどのマイクロコントローラ、およびWeb Assemblyを使用する最新のブラウザでGoプログラムを実行できるようにする。
-
不適切なcastの修正とRocket Webフレームワークのサポート安定化が図られたRust 1.45
Rust 1.45では、未定義動作の原因になる可能性があると以前から指摘されていた、浮動小数点のキャスト問題に対する修正と、人気のWebフレームワークであるRocketで使用される機能の安定化が行われている。
-
ZetZ、形式的検証機能を備えたCのダイアレクト
ZetZ、略してZZは、RustにインスパイアされたCのダイアレクト(diarect, 方言)だ。コンパイル時に仮想マシン内でシンボリック実行することによって、コードの形式的検証を行う。作者でメンテナのAvid Picciani氏に話を聞いた。
-
セキュアなIoTプラットフォームのAzure SphereがGAに到達
先日のブログ記事でMicrosoftは、エンドツーエンドIoTセキュリティプラットフォームAzure SphereのGA(General Availability)を発表した。マイクロコントローラユニット(MCU)、Linuxをベースとしたセキュアなオペレーティングシステム(OS)、ソフトウェア・アップデートや新たな脅威の検出などのクラウド・セキュリティサービスの提供、という3つの重要領域にフォーカスしたプラットフォームだ。
-
Rust AnalyzerによってIDEフレンドリなコンパイラを目指すRust
rust Analyzerは、優れたIDEエクスペリエンスをRustに実現することを目的とした、Rustエコシステムの新たな取り組みだ。InfoQは今回、同プロジェクトの主要なコントリビュータであるAleksey Kladov氏と、Rust Core TeamメンバのSteve Klabnik氏に、その詳細を聞くことができた。
-
Rustが1.39でゼロコストAsync/Awaitをサポート
Rustのバージョン1.36で先行サポートされていたasync/.await機能が、バージョン1.39で最終的な安定版になった。RustコアチームメンバのNiko Matsakis氏の説明によると、他言語とは異なり、Rustのasync/.awaitはゼロコスト抽象化(zero-cost abstraction)である。
-
iRobotがLinuxベースの組み込みプラットフォームでのROS2実行を評価
ROSCon 2019で、iRobotのAlberto Soragna、Juan Oxoby、Dhiraj Goelの3氏が、低価格の組み込みプラットフォームでのROS 2の使用経験について講演した。さまざまなDDS(Data Distribution Service)実装を試験することで、氏らは、アプリケーションのCPUおよびメモリ使用量を削減し、それによってパフォーマンスを向上することができた。
-
Microsoft、組み込みデバイスをターゲットとしたTypeScriptの高速サブセット”Static TypeScript”を発表
Microsoftは先頃、Static TypeScript(STS)を紹介する研究論文を、Managed Programming Languages and Runtimes 2019 (MPLR 2019)国際会議に提出した。STSは、リソースの少ない組み込みデバイスを対象とした、TypeScriptのサブセットである。STSプログラムは、わずか16kBのRAMしか搭載していないデバイス上で、組み込みのインタープリタよりも高速に動作することにより、バッテリの持続時間を延ばすことができる。
-
機能の安定化とNLLのバックポートを備えたRust 1.36
Rust 2018のロードマップに続くRust 1.36で最も待ち望まれていた新機能は、同言語でasync/awaitを実現するための最初のステップとなる、Futureトレイトのサポートだ。さらに、ボローチェッカの向上を目的としてNLL(non-lexical lifetime)がバックポートされた他、stdを必要としないメモリ割り当て依存ライブラリの構築を可能にするために、新たなallocクレートが導入されている。
-
IBM POWER命令セットアーキテクチャがオープンソースに
IBMはPOWER Instruction Set Architecture(ISA)をオープンソース化した。ISAは、Power Seriesチップや他のメーカの多くの組み込みデバイスで使用されている。さらに、OpenPOWER FoundationはLinux Foundationの一部となり、オープンガバナンスをさらに強化する。
-
MozillaがWASIイニシアティブを発表、WebAssemblyをすべてのデバイス、コンピュータ、オペレーティングシステムで動作可能に
Mozillaは先頃、あらゆるデバイス、マシン、オペレーティングシステムで同じWebAssemblyコードを実行することを目的とした、新たな標準化の取り組みを発表した。新標準のWebAssembly System Interface(WASI)では、複数の実際のオペレーティングシステムで実装可能な、概念的な単一のオペレーティングシステムインターフェイスを定義する。MozillaとFastlyがすでに、WASI実装のプロトタイプを提供している。
-
トレース,モジュール,マクロなどが改良されたRust 1.32
Rust 1.32には,デバッグ目的でプログラム実行をトレースする時の開発者エクスペリエンスを向上するための,新たな言語機能が多数含まれている。さらに,デフォルトでシステムアロケータが使用されるようになるとともに,モジュールシステムの開発が完成して使いやすくなっている。
-
Baidu、オープンソースのエッジコンピューティングプラットフォームOpenEdgeを発表
Baidu Inc.は、中国初のオープンソースのエッジコンピューティングプラットフォームOpenEdgeを発表した。これを使うことで、開発者は軽量でスケーラブルなエッジアプリケーションを構築できる。OpenEdgeプラットフォームは、スマート家電やウェアラブルといった「エッジデバイス」に処理能力をもたらすものだ。
-
メタプログラミングのサポートとモジュールが改善されたRust 1.30
Rustの最新リリースであるバージョン1.30では、プロシージャマクロが拡張され、新しい属性や関数風のマクロが定義可能になった。また、合理化と簡素化により、Rustモジュールシステムの効率が向上している。
-
C言語の次期ISO標準となるC2x
2022年の完成に向けて、C言語委員会(C committee)が進めるC2x標準が、その進化を開始した。InfoQでは今回、同委員会における新標準の推進役であり、Modern Cの著者であるJens Gustedt氏と話す機会を得ることができた。