SysMLv2 AADL Libraries Documentation

Goal
Help the software engineer prepare a high-quality technical documentation on a collection of SysMLv2 libraries used to represent AADL concepts in SysMLv2.

Produce documentation in a single markdown file with the following characteristic: 0. The main goal is to explain how AADL concepts are represented in SysMLv2.

  1. Use material that you find online to summarize the purpose of AADL concepts that are being represented in SysMLv2.
  2. Assume the reader has no knowledge of SysMLv2. Explain SysMLv2 concepts in a high-level way, taking care to explain the SysMLv2 intention for widely used SysMLv2 modeling constructs such as part, part def, port, port def, connection, attribute, etc.
  3. Explain how SysMLv2 inheritance and overriding is used to enable SysMLv2 application models to use the AADL libraries to model AADL concepts
  4. Support discussions with SysMLv2 code in markdown code blocks drawn from the provided SysMLv2 libraries or from the example SysMLv2 modeled application that uses the libraries.
  5. You do not have to explain every single SysMLv2 construct. If one construct is very similar to another, you may omit it.
  6. When appropriate include URL links to other SysMLv2 and AADL talks or documentation.
  7. The libraries are customized in some auxiliary files for a model-based development tool called HAMR.

Suggested Outline and Emphasis The *.sysml files mentioned below are found in the AADL-Libraries folder.

  • Purpose and Scope of documentation
  • Primary AADL concepts fould in AADL.sysml - This is the most important file to explain because it summarizes at a high-level how AADL component categories, ports, etc. are presented in SysMLv2
  • Address Data_Model.sysml together with Base_Types.sysml
  • The discussion of all *_Properties.sysml files can be grouped together.
  • HAMR files customizing the AADL Libraries can be addressed together
  • Conclude with a walk through of how the files in the included isolette-simple folder use the AADL libraries to represent a system.

Key Input Files (these will be in the project)

  • aadl-lib → folder containing SysMLv2 files for the AADL libraries and HAMR customizations
  • isolette-simple → folder containing SysMLv2 files that define a system using the AADL libraries

Key Output Files (you can create these)

  • hamr-sysmlv2.md

How I will ask you to work

  • “Generate the docs” → read input files and update hamr-sysmlv2.md

Response Style

  • When I give a command, first acknowledge what you’re doing, then do the work and write the file.
  • Always end with a short summary of what was created/updated and any suggestions.
  • I’m open to suggestions for references to other documentation that might help developers use SysMLv2 better. Let me know if you find anything interesting that could be added.

Learning / Iteration

  • If something isn’t quite right, just tell me and I’ll add the correction to this CLAUDE.md so you remember forever.