Skip to main content

Projects

Projects Overview

Projects are used to design component-based systems, and generate code based on your design. They represent a model of a component-based system. Each project is a reusable element that can stand alone as a single design, or be connected with other projects for extended capabilities. Projects are built for collaboration. You can add other users to your project and set their level of editing privileges. You can also connect source code (external repository) to a project. This is useful when testing generated code in Docker Containers.

Overview

There are two main modes of a project:

  • Design: Layout your system design with components and interface specifications
  • Workflow: Generate code based on your design, compile, and containerize

Additional project areas:

  • Runs: View a history of workflow runs and download previously generated code
  • Activity: View a history of changes done to the project and by which project member
  • Members: Manage project members
  • Settings: Edit the project name, link external source code, export AADL, and delete the project

Manage Projects

Add a Project

To add a project:

  1. Go to Projects and click New Project
  2. Enter a Project Name (project names must be unique)
  3. And Select Owner:
    • Choose Personal (You) if you want to manually add members and not tie the project to an existing team
    • Choose a Team if you want to automatically add all the team members to the project. When a new user is added to the team, they'll also be added to the project. You can also manually add members who are not on the team.

Rename a Project

Projects can be renamed by Project Owners in Settings.

Delete a Project

Projects can be deleted by Project Owners in Settings. If the project is used within other projects, then it will be removed from all associated projects. A warning dialog will display to confirm deletion.

Find Projects

In the Projects list, you'll see the projects that you've created and projects that you're a member of.

You can search or use Frequently Visited Projects in the top right corner.

Overview

Manage Project Members

Project Owners can manage user access in Members. If the project was created with a Team selected, all team members are automatically added to the project. When a new user is added to the team, they'll also be added to the project. Team Member roles are inherited.

Connect Source Code (Repositories)

Projects can be connected to a GitLab or GitHub account, and access their repositories. This is particularly useful when a Dockerfile exists in one of your repositories. Project Workflows can be configured to generate a Docker container based on a provided Dockerfile.

Connect Source Code Host

  1. Open the project
  2. Go to Settings
  3. Select a Hosting Service
  4. If an Enterprise option is selected, you can enter a custom URL like https://gitlab.myorg.tech
  5. Register an OAuth App in your hosting service (see instructions below)
  6. Enter the Client ID and Secret, and click Submit
  7. Click Link Account to complete setup. This will redirect you to GitLab or GitHub to authorize access. Click Authorize

Register an App in GitLab

  1. Log in to your GitLab account
  2. Click on your profile in the top right corner and select Preferences
  3. Select Applications on the left
  4. Add new application
  5. Enter a name
  6. Copy the Callback URL from Project Settings and paste it in the Redirect URI field in GitLab
  7. Select the api scope
  8. Click Save application
  9. Copy the Application ID from GitLab and paste it in the Client ID field in Project Settings
  10. Copy the Secret from GitLab and paste it in the Client Secret field in Project Settings

Register an App in GitHub

  1. Log in to your GitHub account
  2. Click on your profile in the top right corner and select Settings
  3. Select Developer setting on the left (towards the bottom of the list)
  4. Select OAuth Apps on the left
  5. Click New OAuth App
  6. Enter a name
  7. Copy the Homepage URL from Project Settings and paste it in the Homepage URL field in GitHub
  8. Copy the Callback URL from Project Settings and paste it in the Authorization callback URL field in GitHub
  9. Click Register application
  10. Copy the Client ID from GitHub and paste it in the Client ID field in Project Settings
  11. Copy the Client Secret from GitHub and paste it in the Client Secret field in Project Settings

You can unlink your GitLab/GitHub account by clicking the gear icon. This will remove authorization, but save the configuration.

Remove Source Host

You can remove your GitLab/GitHub account by clicking the gear icon. This will remove the configuration.

After a project's source code host is set up, you can link a repository to a component.

To connect to a component

  1. Select a component to open the Edit Component panel
  2. Choose a repository from the Source Code section

Component Repo