KAMP4AS extends KAMP to automotive systems, that is, to the electric/electronic (E/E) architecture of a vehicle. Starting from a planned change — the seed modification — it traces which further elements are affected across hardware, software, and their deployment, and derives a work plan from the result.
A change to a vehicle rarely stays local: replacing a control unit with a more powerful one can entail a new flash image, an adapted bus matrix, a renewed safety assessment, a re-measured latency chain, and a larger wire gauge. KAMP4AS makes that chain of consequences visible on the model before it becomes visible in the project plan.
| Requirement | Version | Why |
|---|---|---|
| Eclipse | Modeling Tools 2023-03 | KAMP4AS is built against this target; it brings EMF, Sirius, GEF, and GMF Runtime along |
| Java | 17 | The bundles declare JavaSE-17, and Palladio's Xtext 2.30 chain does not run on newer JREs (see below) |
| Palladio | 5.2.1 | The PCM version KAMP4AS is compiled against |
Newer Eclipse releases and JDK 21 are not supported. Java 21 in particular breaks the installation, see Known pitfall below.
The fastest way to a working environment is setup/: one script downloads Eclipse and
the JDK, installs the feature from the published update sites, imports the example projects, and
generates their diagrams.
powershell -ExecutionPolicy Bypass -File .\setup\setup-kamp4as.ps1 # Windows./setup/setup-kamp4as.sh # LinuxSee setup/README.md for options and details.
Install KAMP4AS from the KAMP update-site page:
https://kamp-research.github.io/KAMP/kamp4as/
For a complete setup, use the composite update site instead:
https://kamp-research.github.io/KAMP/all/
In Eclipse, open Help > Install New Software..., paste the update-site URL into Work with,
select the KAMP4AS feature, and finish the wizard. Restart Eclipse after installation.
Palladio has to be available as well; add its update site before installing:
https://updatesite.palladio-simulator.com/palladio-build-updatesite/releases/5.2.1/
Eclipse 2023-03 ships with the rolling update site Latest Eclipse Simultaneous Release enabled,
and Contact all update sites during install is on by default. Xtext 2.30 requires
org.eclipse.xtext.xbase.lib with an open upper bound, so p2 resolves it against the newest build
available — 2.43 or later, which declares Require-Capability JavaSE-21. Under Java 17 the entire
Xtext/PCM chain then fails to resolve:
Could not resolve module: org.palladiosimulator.pcm
Two ways to avoid it:
- Uncheck Contact all update sites during install in the installation wizard, or disable
Latest Eclipse Simultaneous Release under
Preferences > Install/Update > Available Software Sitesbefore installing. - If it already happened, move every
org.eclipse.xtext.xbase.lib_*,org.eclipse.xtend.lib_*, andorg.eclipse.xtend.lib.macro_*JAR newer than 2.30 out ofeclipse/plugins/, point the corresponding lines ineclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.infoback at the 2.30 JARs, and restart with-clean.
The setup scripts in setup/ do both automatically.
KAMP4AS depends on the KAMP, KAMP4IS, and Palladio modelling stack:
- KAMP core for base change-propagation and modification mark infrastructure.
- KAMP4IS for information-system modification marks and field-of-activity annotations, which KAMP4AS specialises for the automotive domain.
- Palladio Component Model (PCM) for the software architecture.
- Eclipse Modeling Framework (EMF), EMF.Edit, and generated EMF editor support.
- Sirius, GMF Runtime, and GEF for the graphical editor.
- EMF Compare for the import roundtrip.
- Eclipse Platform/PDE dependencies from the Eclipse 2023-03 target.
The AS domain covers the E/E architecture of a vehicle and its relation to the deployed software. It adds the concepts that are decisive in the vehicle context and missing from a generic architecture model:
- ECU topology with ECUs, DCUs, gateways, sensors, and actuators.
- Bus systems in their real-world variants — CAN, CAN FD, FlexRay, LIN, and Automotive Ethernet.
- Signals with cycle times, latency budgets, safety classification (ASIL), and security attributes (CAL, authenticity, confidentiality).
- Service-oriented communication following the AUTOSAR Adaptive pattern, with service interfaces, operations, and service instances including SOME/IP binding.
- Power distribution and wiring harness with supply paths, voltage levels, power budgets, fusing, and harness segments.
- Deployment of PCM components to hardware nodes, of PCM interfaces to signals, and of PCM roles to services.
as.ecore: the E/E architecture withEEArchitectureand its repositories for nodes, buses, gateways, signals, services, power, and harness — includingECU,DCU,Sensor,Actuator,CanBus,CanFdBus,FlexRayBus,LinBus,AutomotiveEthernetBus,Gateway,SignalPath,Signal,ServiceInterface,ServiceOperation,ServiceInstance,PowerRail,Port, andHarnessSegment.asdeployment.ecore: the mapping of software to hardware with allocations, signal mappings, and service mappings, connecting PCM assembly contexts, interfaces, and roles to E/E elements.ASModificationmarks.ecore: automotive modification marks such asASSeedModifications,ChangePropagationDueToHardwareChange,ASModifyEcu,ASModifyDcu,ASModifyBus,ASModifyGateway,ASModifySignal,ASModifyHarness,ASModifyAllocation,ASModifySensor,ASModifyActuator,ASModifyPowerRail, andASModifyService.ASFieldOfActivityAnnotations.ecore: annotations for the artefacts that a change makes necessary —FlashImage,BusMatrix,GatewayConfig,HarnessDrawing,DiagnosticSpec,Calibration,ResidualBusSimulation,HilSetup,TestCase,PowerDistributionSchematic,SafetyCase,SecurityCase,KeyMaterial, andServiceInterfaceDescription.roundtrip.ecore: trace model that preserves ARXML elements not covered by the KAMP4AS metamodel, so that an imported file can be exported again without loss.
A complete KAMP4AS project consists of six model files:
| File | Content |
|---|---|
hardware.xmi |
E/E architecture: nodes, buses, ports, signals, services, power, harness |
software.repository |
PCM components and interfaces |
software.system |
PCM system view: component instances (assembly contexts) |
deployment.xmi |
Mapping of software to hardware, signals, and services |
modificationmarks.xmi |
Seed modifications and derived work plan |
fieldofactivity.xmi |
Fields of activity and affected artifacts |
The first three describe what is there, the deployment describes how it is connected, and the last two describe what changes and what follows from it.
The typical workflow is: model or import the architecture, connect software and hardware in the
deployment model, mark the planned change as a seed modification, run KAMP4AS Analysis > Derive KAMP4AS Work Plan from the context menu of modificationmarks.xmi, and read the propagation
paths and the resulting activities from the work plan.
Import and export. ARXML (AUTOSAR Classic) and SysML v2 models can be imported and exported in both directions. The roundtrip trace model keeps unmapped ARXML content intact.
Graphical editing. The Sirius viewpoints KAMP4AS Hardware and KAMP4AS Deployment provide
diagrams for the E/E architecture and for the software-to-hardware mapping. Enable them per
project via Model Explorer > right-click the project > Viewpoints Selection. Everything possible
in a diagram is also possible in the tree editor, which additionally exposes all attributes in the
Properties view.
| Path | Content |
|---|---|
edu.kit.ipd.sdq.kamp4as* |
Plug-ins: metamodels, analysis core, import, export, Sirius editor |
features/ |
The edu.kit.ipd.sdq.kamp4as.feature feature |
releng/ |
The update-site project built by the KAMP build |
tests/ |
Aggregator for the *.tests plug-ins |
examples/ |
Eight ready-to-use example projects |
setup/ |
Scripts that build a fully configured Eclipse instance |
documentation/ |
User manual (English and German), figures, project overview |
Eight example projects in examples/ cover data exchange, the graphical editor, and the five
analysis aspects: ARXML and SysML v2 import/export, diagram editing, ASIL decomposition, security
classification, end-to-end timing, service-oriented architecture, and power supply. Import them
with File > Import > General > Existing Projects into Workspace and point the wizard at the
examples/ folder. See examples/README.md for the individual scenarios.
documentation/ contains the user manual in English (KAMP4AS-User-Manual.md) and German
(KAMP4AS-Benutzerhandbuch.md), the figures it refers to, and a project overview as a Word
document and a slide deck.
The update site is built with Maven and Tycho against Java 17:
mvn clean verifyThe result is releng/edu.kit.ipd.sdq.kamp4as.updatesite/target/repository, a local p2 repository
that can be added in Eclipse via Help > Install New Software... > Add > Local.
KAMP and KAMP4IS are resolved from the published composite update site, so they do not have to be
built locally. Inside the shared build reactor of
KAMP-Research/KAMP, which publishes
https://kamp-research.github.io/KAMP/kamp4as/, the freshly built reactor artefacts are used
instead.
Apache License 2.0, see LICENSE.