All Projects → Systems-Modeling → SysML-v2-Pilot-Implementation

Systems-Modeling / SysML-v2-Pilot-Implementation

Licence: LGPL-3.0, GPL-3.0 licenses found Licenses found LGPL-3.0 LICENSE GPL-3.0 LICENSE-GPL
Proof-of-concept pilot implementation of the SysML v2 textual notation and visualization

Programming Languages

java
68154 projects - #9 most used programming language
GAP
223 projects
Xtend
68 projects
python
139335 projects - #7 most used programming language
typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to SysML-v2-Pilot-Implementation

SysML-v2-Release
The latest monthly incremental release of SysML v2. Start here.
Stars: ✭ 158 (+187.27%)
Mutual labels:  sysml, systems-engineering, mbse
sysml.py
A Python package for the Systems Modeling Language (SysML) for Model-based Systems Engineering (MBSE) applications
Stars: ✭ 49 (-10.91%)
Mutual labels:  sysml, systems-engineering, mbse
ThingML
The ThingML modelling language
Stars: ✭ 91 (+65.45%)
Mutual labels:  xtext, eclipse-modeling
mdk
Cameo plugin for MMS sync and DocGen
Stars: ✭ 36 (-34.55%)
Mutual labels:  sysml, mbse
plantuml2mysql
This utility parses PlantUML class diagram and generates SQL DDL for MySQL
Stars: ✭ 110 (+100%)
Mutual labels:  plantuml
ecto erd
A mix task for generating Entity Relationship Diagram from Ecto schemas available in your project.
Stars: ✭ 173 (+214.55%)
Mutual labels:  plantuml
Azure Plantuml
PlantUML sprites, macros, and other includes for Azure services
Stars: ✭ 247 (+349.09%)
Mutual labels:  plantuml
C4 Plantuml
C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
Stars: ✭ 3,522 (+6303.64%)
Mutual labels:  plantuml
PlantUml.Net
a .Net wrapper for PlantUml
Stars: ✭ 35 (-36.36%)
Mutual labels:  plantuml
puml2code
PlantUML code generator
Stars: ✭ 66 (+20%)
Mutual labels:  plantuml
theia-xtext
A Theia Application with DSL support through an Xtext Language Server
Stars: ✭ 29 (-47.27%)
Mutual labels:  xtext
dslforge
A generator of domain-specific language (DSL) editors for web applications and cloud IDEs.
Stars: ✭ 74 (+34.55%)
Mutual labels:  xtext
VirtualSatellite4-Core
Virtual Satellite Core - Baseline Framework and IDE Tools
Stars: ✭ 27 (-50.91%)
Mutual labels:  mbse
Planter
Generate PlantUML ER diagram textual description from PostgreSQL tables
Stars: ✭ 251 (+356.36%)
Mutual labels:  plantuml
plugins
Collection of builtin GNU TeXmacs plugins
Stars: ✭ 33 (-40%)
Mutual labels:  plantuml
c4sharp
C4Sharp (C4S) is a .net library for building C4 Model diagrams.
Stars: ✭ 159 (+189.09%)
Mutual labels:  plantuml
Plantuml Icon Font Sprites
plantuml-font-icon-sprites
Stars: ✭ 242 (+340%)
Mutual labels:  plantuml
makeitpdf
A close-to-code documentation helper
Stars: ✭ 15 (-72.73%)
Mutual labels:  plantuml
typeorm-uml
Generate Entity Relationship diagrams for Typeorm powered projects.
Stars: ✭ 207 (+276.36%)
Mutual labels:  plantuml
plantuml
No description or website provided.
Stars: ✭ 87 (+58.18%)
Mutual labels:  plantuml

SysML v2 Pilot Implementation Protoyping

This software is licensed under the GNU Lesser General Public License. See the files LICENSE and LICENSE-GPL.

Installation Instructions

Development Environment

Install using Oomph Installer

The project provides a configuration file for the Eclipse Installer which eases the creation of reproducible development environments.

  1. Download the Eclipse Installer from https://www.eclipse.org/downloads/packages/installer.

  2. Clone our GitHub repository from the URL below.

  3. Open Eclipse Installer and switch to Advanced mode:

    switch to advanced mode

  4. In the product list, select "Eclipse Modeling Tools" with Product Version: 2021-09.

  5. In the Projects window, to the right of the text box, click the "+" to the add the Sysml2 project as user project. In the dialog, choose Catalog: Github Projects and browse the file system to select the setup file from the local git repository.

    • e.g. file:/C:/git/sysml/SysML-v2-Pilot-Implementation/org.omg.sysml.installer/SysML2.setup

    • Note: If you have installed the SysML v2 Pilot Implementation previously, this may already be pre-selected.

  6. Select SysML2 in the Projects list:

    oomph projects

  7. On the next page, update the following variables, then press Next.

    • Git clone location rule: Select "Located in specific absolute folder location" and browse to the directory for the SysML git repository.

    • Root install folder: Change this if you wish the installation to be under a specific folder.

    • Workspace location rule: Change this if you wish to place the workspace at a specific location.

  8. On the Confirmation page, press Finish.

  9. (Optional) For PlantUML visualization, GraphViz is needed. Visit https://www.graphviz.org/download/ and download the appropriate package for your environment.

    • In the menu of Window > Preferences > PlantUML in Eclipse environment, you may set up the path to GraphViz executable if Eclipse cannot automatically find it. For detail, visit https://plantuml.com/en/eclipse

Manual installation

  1. Install Eclipse 2021-09 (4.21) and Xtext.

  2. Clone our GitHub repository from the URL below.

  3. Import projects from the repository into your Eclipse workspace. This should include at least the projects:

    • org.omg.sysml

    • org.kerml.xtext

    • org.kerml.xtext.ide

    • org.kerml.xtext.ui

    • org.sysml.xtext

    • org.sysml.xtext.ide

    • org.sysml.xtext.ui

Note:

  • Gradle is used to build project org.omg.sysml.jupyter.

  • Maven is used to perform a coordinated build of all projects (including packaging the SysML Interactive JAR file that is used by org.omg.sysml.jupyter).

  • To build the repository, invoke mvn clean package from the base SysML-v2-Pilot-Implementation directory.

  • If you have M2Eclipse installed (with the Tycho Project Configurators connector), it can also launch a Maven build in Eclipse using the launch configuration in SysML-v2-Pilot-Implementation/launch.

Prototype SysML Implementation

Getting Started

  1. Find the file org.omg.kerml.xtext.expressions/src/org.omg.kerml.xtext.expressions/KerMLExpressions.xtext, right click on it, and select Run As > Generate Xtext Artifacts, to execute the Xtext generator. Repeat with org.omg.kerml.xtext/src/org.omg.kerml.xtext/KerML.xtext and org.omg.sysml.xtext/src/org.omg.sysml.xtext/SysML.xtext.

  2. Once the generation is complete, right click on project org.omg.sysml, and select Run As > Eclipse Application. This should launch a new runtime Eclipse instance.

  3. Add the SysML-v2-Pilot-Implementation Git repository (already cloned previously) to the runtime Eclipse instance.

  4. Turn off Project > Build Automatically.

  5. Import the projects kerml, sysml and sysml.library into the runtime Eclipse workspace. (See the following section if you wish to create additional projects.)

  6. Execute Project > Clean with the following settings:

    • Clean all projects: Not selected

    • sysml.library: Selected

    • Start a build immediately: Selected

    • Build only the selected projects: Selected

  7. Repeat Project > Clean as above for kerml and sysml.

    • Important: Be sure to first build only sysml.library before building kerml or sysml.

  8. Double clicking on any .kerml or .sysml file will open it in the generated Xtext KerML or SysML editor.

  9. (Optional) To show SysML diagrams, in Window > Show View > Other…​ menu, you can enable PlantUML view.

Initializing New SysML Model Projects

  1. Open the New project wizard by selecting File > New > Project…​ menu item.

  2. Select General/Project.

  3. Give the project its expected name (and location if necessary), then press Next.

  4. On the Project References page, check the sysml.library project. This step tells Eclipse which other projects should be visible for resolving cross-references.

    project wizard

  5. Right-click the new project and select Configure > Convert to an Xtext project. This step sets up the indexing infrastructure necessary for resolving references between different files.

  6. Create any text files with .kerml or .sysml extensions to start working with a new file.

Note: Adding the project references to an existing project can be done in the project Properties dialog available from the popup menu on the project in the Project References page.

Note: If the Xtext setup (step 5) is missing, opening the KerML or SysML editor shows a dialog asking to convert the project to an Xtext project. Accepting this has the same results as manually selecting the menu item on the project.

For new code

Set up a Java code template as follows:

  1. Window > Preferences (Mac-OS: Eclipse > Preferences)

  2. Java > Code Style > Code Templates

  3. Code > New Java files > Edit

  4. Prepend (insert above the existing content) the following and modify the second line:

    /**
     * SysML 2 Pilot Implementation
     * Copyright (C) 2020  California Institute of Technology ("Caltech")
     *
     * This program is free software: you can redistribute it and/or modify
     * it under the terms of the GNU Lesser General Public License as published by
     * the Free Software Foundation, either version 3 of the License, or
     * (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU Lesser General Public License for more details.
     *
     * You should have received a copy of the GNU Lesser General Public License
     * along with this program.  If not, see <https://www.gnu.org/licenses/>.
     *
     * @license LGPL-3.0-or-later <http://spdx.org/licenses/LGPL-3.0-or-later>
     */
  5. Apply > OK

For existing code

  • When modifying existing code created by someone in a different organization, add a new copyright line, without changing anything else in the header.

  • When modifying existing code for the first time in a new year, add the year as the latest year in the appropriate copy right line. (E.g., in 2021, "Copyright © 2020" becomes "Copyright © 2020-2021" and in 2022 it becomes "Copyright © 2020-2022".)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].