acs-modeling-tool / acs-modeling-tool

This tool facilitates communication-oriented modeling of system of systems. It loosely resembles UML and is built from UML using a profile and custom constraints.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The ACS Modeling Tool

The ACS methodology was initially published in this article back in 2021, and in 2022, version "v0.99" of The ACS Modeling Tool was introduced in this article and quickly demonstrated in 5 minutes in this video. The current version is "v1.0" which improves on many things, including the appearance of ACS models. The work associated with this tool builds upon the initial release and also makes some substantial changes to the supported communication mechanisms and the type system. These changes to ACS and the results thereof are extensively described in this project report, which contains the most extensive description of ACS as of writing.

This tool facilitates communication-oriented modeling of system of systems. It loosely resembles UML and is built from UML using a profile and custom constraints. We extend Papyrus as that was the best-supported environment for building a diagrammatic, domain-specific modeling language.

acs

Documentation

The wiki page in this GitHub repository contains documentation about the following topics:

  1. "User guide": Describes how to download, install, and use the pre-build releases of the tool, including a tutorial based on an example Library SoS.
  2. "Developer guide": Describes how to set up a development environment for the tool, and what to be aware of while setting up the environment and during development.
  3. "Code structure": An overview of the code base.

Notes on Eclipse Papyrus plugin development

The project is structured into plugins. Each plugin extends some functionality from Eclipse and Papyrus. Unfortunately, the documentation of plugins and classes in Papyrus is rather lacking. Small fixes can be made without understanding Papyrus and Eclipse but larger changes require a deeper understanding. It is strongly recommended to read the available Papyrus documentation.

After reading, look also at other existing projects to see how they accomplish their goals. These other projects have been essential in creating this project. Specifically recommended in no particular order is:

If this is your first Eclipse Papyrus plugin project, expect the learning curve to be steep, on the order of weeks/months rather than days, since the Eclipse/Papyrus framework is huge.

License

Copyright 2022 ACS. This project is part of ACS. ACS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. ACS 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 General Public License for more details. You should have received a copy of the GNU General Public License along with ACS. If not, see http://www.gnu.org/licenses/.

Contributors

  • Emil Palmelund Voldby
  • Jonas Madsen
  • Sean Kristian Remond Harbo
  • Michele Albano

Contact

Contact email may or may not be monitored. If you need access, try and reach one of the contributors.

About

This tool facilitates communication-oriented modeling of system of systems. It loosely resembles UML and is built from UML using a profile and custom constraints.

License:Eclipse Public License 1.0


Languages

Language:Java 95.3%Language:HTML 4.0%Language:CSS 0.6%Language:D 0.1%