Skip to content

MartinLoeper/KAMP-DSL

Repository files navigation

KAMP-DSL

This project is deprecated!!! It was fully integrated into KAMP-2.0.

This project contains the Domain Specific Language for the KAMP Framework. It was created in the course of student assistant activity at the Karlsruhe Institute of Technology / IPD.

The old SVN Repository URL is: https://svnserver.informatik.kit.edu/i43/svn/code/Palladio/Addons/KAMPIntBIISRequirements/branches/generalized-KAMP-rule-generalization/KAMPRuleLanguage/

Install

There is a an installer available now! Please visit: KAMP-DSL-Installer

If you want to install everything manually, please follow this guide:

  • Download and Install Eclipse IDE for Java Developers
  • Change file encoding to UTF-8: Window -> Preferences -> General -> Workspace : Text file encoding
  • Download and Install as Eclipse Extension: Eclipse Modeling Framework
  • Install Palladio as Eclipse Extension - You can alternatively check out the sources into the workbench from: https://github.com/PalladioSimulator see optional import below
  • Import the KAMP-Framework and Submodule Projects into Workbench
  • Import SDQ Commons into Workbench
  • Import Vitruv into Workbench
  • Import Palladio into Workbench as SVN Project (optional) - this will enable you access to the pcm.ecore model
  • Download and Install as Eclipse Extension: GEF and install the following via marketplace: EcoreTools: Ecore Diagram Editor (both optional) - this is necessary if you included the Palladio sources in the step above and want to create a graphical model
  • Download and Install as Eclipse Extension: Xtext
  • Download and Install as Eclipse Extension: Xtend
  • Create working sets for each imported repository

Configure

  • Navigate into the project edu.kit.ipd.sdq.kamp.ruledsl and into src/edu.kit.ipd.sdq.kamp.ruledsl. Right click on GenerateKampRuleLanguage.mwe2 and Run As -> MWE2 Workflow
  • Run KAMP as Eclipse Application
  • Ignore minor errors in Vitruv and related projects
  • Create a file with .karl extensions inside a KAMP4BP project
  • You have to apply quick fixes proposed by the Editor
  • If you get an invalid Manifest Header Exception in the inner Eclipse, navigate into the inner Eclipse Workspace and into your Project -> META-INF -> MANIFEST.MF and remove trailing commas for Require-Bundle: attribute

DSL Editor Requirements

  • the KAMP project needs the Java nature and JRE on classpath AND the Plugin-Project Nature
  • possibly even a JDK is necessary as we are using JDT to compile the Eclipse Plugin Project
  • the MANIFEST.mf file must import all necessary models which are referenced from .karl file via import (QuickFix available) as required bundles
  • the MANIFEST.mf file must import all Java classes which are referenced by KampRuleLanguageJvmModelInferrer as required bundles

Versioning

We support bug reporting through Rollbar. In order to assign the exceptions to versions correctly, the following commit rule is mandatory: Increment the service portion of the MANIFEST version of the ruledsl bundle in each merge with the master. The eclipse versioning schema is explained in detail here: https://wiki.eclipse.org/Version_Numbering. We do not use the qualifier segment. The increment should be applied to the service segment if it is a non breaking, non visible change. Otherwise it should be applied to the minor or major segment depending on whether it is a change which introduces API breakage or not.

Wiki

For more information please navigate into the Wiki of this project.