Language tooling for the Architecture Analysis & Design Language (AADL), built on OSATE 2.20.0 and Xtext.`
This repository contains a reusable language server and two ways to work with it: a bundled Visual Studio Code extension and a command-line interface. Together they support interactive AADL editing as well as model instantiation and latency, bus-load, and mode reachability analyses.
| Interface | Use it when | Documentation |
|---|---|---|
| Bundled VS Code extension | You want the normal editor experience and automatic language-server startup | VS Code extension guide |
osate-cli |
You want scriptable validation, instantiation, analysis, or multi-project workspace management | CLI manual |
| Language server | You are integrating another LSP client or changing the Java/Xtext implementation | Server development guide |
The osate skill gives AI coding agents guidance for
using osate-cli to validate AADL models, generate instances, run flow latency,
bus-load, and mode reachability analyses, and manage OSATE project metadata and
workspace-server sessions.
Install osate-cli and make it available on your PATH,
then load skills/osate/ using your agent's skill support.
Include the references/ directory, which explains the analysis output formats
and how to interpret the results.
Example requests:
- “Use the osate skill to validate the AADL models in this workspace.”
- “Use the osate skill to instantiate this system implementation and analyze its flow latency.”
The skill guides the agent to reuse compatible workspace servers, review model diagnostics, and verify generated files before reporting success.
aadl-language-server/— the Java/Xtext language server and its Tycho repository.vscode-extension/— the primary VS Code extension; it packages and starts the server.osate-cli/— the CLI, long-lived workspace server, assembled distribution, and release packaging.skills/osate/— the OSATE agent skill and analysis output references for working with AADL models throughosate-cli.osate2/— the pinned OSATE source submodule used to build the parent POM, target platform, and p2 repository consumed by the language server.
The top-level Maven build covers the language server and primary VS Code extension. The CLI has a separate Maven reactor that consumes the server build. See the repository working guide for prerequisites, build commands, outputs, validation commands, and cross-module constraints.
Clone with the pinned OSATE source:
git clone --recurse-submodules https://github.com/osate/aadl-tooling.git
cd aadl-toolingFor an existing checkout:
git submodule update --init osate2Run the complete build:
./scripts/build-test-releaseThe script verifies the submodule gitlink, builds OSATE first, then builds the language server and VS Code extension, and finally verifies the CLI reactor.
On Windows, clone with symlink support enabled (git clone -c core.symlinks=true
and Developer Mode, or an elevated shell). vscode-extension/server/aadl/lib is
a tracked relative symlink to the generated language-server plug-ins, and VSIX
packaging depends on it.
See CONTRIBUTING.md for prerequisites and the development workflow.
- Repository build and architecture guide
- Language-server development guide
- VS Code user guide
- VS Code development guide
- CLI overview
- CLI behavior and command reference
- CLI development guide
- CLI manual test plan
- CLI release packaging
- Contributing
- Release process
- Security policy
This repository is licensed per directory: the language server is under the
Eclipse Public License 2.0, and the VS Code extension and osate-cli are under
a BSD (SEI)-style license. See LICENSE.md for the full breakdown
and per-module license and copyright files.
Some of the code in this software was created with the assistance of AI coding agents.