MCPcopy Index your code
hub / github.com/Open-MBEE/exec-cameo-mdk

github.com/Open-MBEE/exec-cameo-mdk @7.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 7.0.1 ↗ · + Follow
6,225 symbols 18,006 edges 358 files 896 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Cameo Model Development Kit (MDK)

GitHub release (latest SemVer) Maven Central CircleCI

Cameo MDK is a plugin for Cameo Systems Modeler and other No Magic environment bundles that’s primary purposes are to sync models with the MMS and implement the DocGen language, which allows modelers to dynamically generate documents in a model-based approach using the view and viewpoint concept.

Quickstart

User Guide

The latest user documentation can be accessed online: https://mdk.readthedocs.io/en/latest

Prerequisites

Installation

  1. Download the Cameo MDK plugin, e.g. mdk-*-plugin.zip.

  2. Run CSM. From the main menu, select "Help" > "Resource/Plugin Manager". Resource/Plugin Manager

  3. Click "Import", navigate to the downloaded Cameo MDK plugin, and click "Open".

  4. CSM should confirm installation with the following prompt.

MDK Installation Confirmation

  1. Restart CSM. To check installation, select from the main menu "Help" > "Resource/Plugin Manager" > "Plugins (no cost)" and ensure a row exists for "Model Development Kit" and its status is "Installed" with the correct version. MDK Installed

Cameo MDK can also be installed headlessly by simply unzipping the plugin archive into the directory that CSM is installed in.

Contributing

To learn how you can get involved in a variety of ways, please see Contibuting to OpenMBEE.

Local Development

Cameo MDK is a Java project that uses the Gradle build tool. It can be imported as a Gradle project in IDEs like IntelliJ and Eclipse.

Custom Build Profiles

Starting with version 4.5.1+ you will be able to define custom build profiles (in ./buildProfiles) which will house the classpath and other variables previously managed by setting -buildAccess=internal. These profiles will allow customization based on your build process and for your particular version of Cameo.

NOTE: By default build profiles are excluded from being committed to git by a buildProfiles/.gitignore

Create a new profile

Create a new java properties file in buildProfiles/<yourProfileName>.properties. In order to use a custom profile to run any of the below commands. Use the command with -PbuildProfile=<yourProfileName>

For more examples of what properties are available in profiles see the example file in buildProfiles/example.properties

For users of non-standard cameo bundles

To retrieve the classpath: 1. Copy the CLASSPATH entry from your ${md.install.dir}/bin/(magicraw/csm/cea).properties file. 2. Paste the entire line into a new file and find replace the \: with , and set it equal to classpath 3. Save this file to buildProfiles/<yourProfileName>.properties

This is only necessary for custom build repositories or non-SP3 builds, most users will not need to modify the classpath and modification of the classpath is not necessary to use profiles!

Build

In order to use a custom profile to run any of the below commands. Use the command with -PbuildProfile=<yourProfileName> otherwise it will default to using opensource.

  • ./gradlew dependencies will download all necessary dependencies.
  • ./gradlew assemble will compile Cameo MDK from source.
  • ./gradlew distZip will package the installable plugin.
  • ./gradlew installDist will install the plugin in a staging environment.
  • ./gradlew runJava will interactively run CSM with Cameo MDK from the staging environment.

Task dependencies are declared such that all necessary prerequisites are executed/cached, e.g. runJava will first dependencies, assemble, distZip, etc.

Extension points exported contracts — how you extend this code

BulkImportFunction (Interface)
Created by igomes on 10/13/16. [6 implementers]
src/main/java/org/openmbee/mdk/emf/BulkImportFunction.java
LoggingConfigurer (Interface)
(no doc) [9 implementers]
src/test/java/org/gradle/internal/logging/config/LoggingConfigurer.java
JsonToElementFunction (Interface)
Created by igomes on 9/20/16. [6 implementers]
src/main/java/org/openmbee/mdk/api/incubating/convert/JsonToElementFunction.java
OutputEventListener (Interface)
(no doc)
src/test/java/org/gradle/internal/logging/events/OutputEventListener.java
Text (Interface)
@author dlam @model [6 implementers]
src/main/java/org/openmbee/mdk/docgen/view/Text.java
Paragraph (Interface)
@author dlam @model [6 implementers]
src/main/java/org/openmbee/mdk/docgen/view/Paragraph.java
EditableChoosable (Interface)
Created by igomes on 8/25/16. [9 implementers]
src/main/java/org/openmbee/mdk/docgen/docbook/stereotypes/EditableChoosable.java

Core symbols most depended-on inside this repo

add
called by 829
src/main/java/org/openmbee/mdk/util/Utils2.java
get
called by 377
src/main/java/org/openmbee/mdk/util/Utils2.java
put
called by 310
src/main/java/org/openmbee/mdk/util/Utils2.java
toString
called by 292
src/main/java/org/openmbee/mdk/util/MoreToString.java
getStereotype
called by 283
src/main/java/org/openmbee/mdk/SysMLExtensions.java
getName
called by 278
src/main/java/org/openmbee/mdk/docgen/validation/Rule.java
size
called by 269
src/main/java/org/openmbee/mdk/util/XMLUtil.java
equals
called by 238
src/main/java/org/openmbee/mdk/util/Pair.java

Shape

Method 5,667
Class 466
Interface 60
Enum 32

Languages

Java100%

Modules by API surface

src/main/java/org/openmbee/mdk/SysMLExtensions.java2,955 symbols
src/main/java/org/openmbee/mdk/util/Utils.java95 symbols
src/main/java/org/openmbee/mdk/model/docmeta/DocumentMeta.java65 symbols
src/main/java/org/openmbee/mdk/ocl/ui/RepeatInputComboBoxDialog.java51 symbols
src/main/java/org/openmbee/mdk/ocl/OclEvaluator.java50 symbols
src/main/java/org/openmbee/mdk/docgen/view/impl/DocGenViewPackageImpl.java49 symbols
src/main/java/org/openmbee/mdk/docgen/view/DocGenViewPackage.java46 symbols
src/main/java/org/openmbee/mdk/ocl/OCLSyntaxHelper.java44 symbols
src/main/java/org/openmbee/mdk/constraint/BasicConstraint.java39 symbols
src/main/java/org/openmbee/mdk/docgen/table/PropertiesTable.java38 symbols
src/main/java/org/openmbee/mdk/util/TaskRunner.java33 symbols
src/main/java/org/openmbee/mdk/model/PropertiesTableByAttributes.java33 symbols

For agents

$ claude mcp add exec-cameo-mdk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact