Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KAMP4AS

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.

Prerequisites

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.

Automated setup

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                                             # Linux

See setup/README.md for options and details.

Manual installation

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/

Known pitfall: Java 21 Xtext bundles

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 Sites before installing.
  • If it already happened, move every org.eclipse.xtext.xbase.lib_*, org.eclipse.xtend.lib_*, and org.eclipse.xtend.lib.macro_* JAR newer than 2.30 out of eclipse/plugins/, point the corresponding lines in eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info back at the 2.30 JARs, and restart with -clean.

The setup scripts in setup/ do both automatically.

Dependencies

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.

Domain

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.

Important Models

  • as.ecore: the E/E architecture with EEArchitecture and its repositories for nodes, buses, gateways, signals, services, power, and harness — including ECU, DCU, Sensor, Actuator, CanBus, CanFdBus, FlexRayBus, LinBus, AutomotiveEthernetBus, Gateway, SignalPath, Signal, ServiceInterface, ServiceOperation, ServiceInstance, PowerRail, Port, and HarnessSegment.
  • 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 as ASSeedModifications, ChangePropagationDueToHardwareChange, ASModifyEcu, ASModifyDcu, ASModifyBus, ASModifyGateway, ASModifySignal, ASModifyHarness, ASModifyAllocation, ASModifySensor, ASModifyActuator, ASModifyPowerRail, and ASModifyService.
  • ASFieldOfActivityAnnotations.ecore: annotations for the artefacts that a change makes necessary — FlashImage, BusMatrix, GatewayConfig, HarnessDrawing, DiagnosticSpec, Calibration, ResidualBusSimulation, HilSetup, TestCase, PowerDistributionSchematic, SafetyCase, SecurityCase, KeyMaterial, and ServiceInterfaceDescription.
  • 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.

Usage

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.

Repository Structure

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

Examples

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

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.

Building from Source

The update site is built with Maven and Tycho against Java 17:

mvn clean verify

The 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.

License

Apache License 2.0, see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages