# Release Notes

## Eclipse APP4MC 3.1 (Jun 2023)

Model handling

- Model migration support (3.0.0 -> 3.1.0)

Product

- Updated frameworks: Visualization, Editor contribution
- New visualizations: Tag members, Event chains
- Updated visualization: Hardware structure
- IDE examples included in the standard distribution
- Several bug fixes

Minimum Java runtime is now Java 11.

## Eclipse APP4MC 3.0 (Nov 2022)

Model handling

- Model migration support (2.2.0 -> 3.0.0)

Model

- Removed deprecated model elements (ModeCondition* and ModeSwitch*)
- Simplified data type definitions (inline type definition is no longer supported)
- New lock type "Mutex"
- New lock attribute "ownership"

Product

- Extended model documentation and validation of semaphores
- Updated visualization framework:
  - New utility classes for SVG (PlantUML, GraphViz)
  - New persisted visualization parameters (per view)
  - New visualization: EObject references
  - Updated visualizations: Hardware, Runnable dependencies
- Several bug fixes

Recommended Java runtime is Java 11.
Minimum is Java 8 (with limitations if JavaFX is not included).

## Eclipse APP4MC 2.2 (Jul 2022)

Model handling

- Model migration support (2.1.0 -> 2.2.0)
- New utility functions (Stimuli event model)

Product

- Updated Runnable dependencies visualization
- Validations:
  - New APP4MC.sim validations
  - Duplicate ID check moved to EMF invariants (available as live validation)
- Extended help: Installable platform extensions
- Several bug fixes

Recommended Java runtime is Java 11.
Minimum is Java 8 (with limitations if JavaFX is not included).

## Eclipse APP4MC 2.1 (Apr 2022)

Model handling

- Model migration support (2.0.0 -> 2.1.0)

Model

- Extended ChannelFillCondition (attribute: relation)
- Extended relational operators (<=, >=)
- Added support for local mode labels
- Added ModeLabelEvent

Product

- New visualizations:
  - Runnable dependencies
  - Namespace members
- Validations: New APP4MC.sim validations
- Better handling of model compress / uncompress
- New preference settings (editor preferences)
- Several bug fixes

Recommended Java runtime is Java 11.
Minimum is Java 8 (with limitations if JavaFX is not included).

For details see Release 2.1.0 issues

## Eclipse APP4MC 2.0 (Nov 2021)

Model handling

- Model migration support (1.2.0 -> 2.0.0)

Model

- Support for user extendible and clear scheduler definitions
- Extended condition handling
- New channel fill condition

Product

- New framework to extend model editor actions
  - New model processing actions (e.g. cleanup)
  - New creation of standard scheduler definitions
- Compress / uncompress of model files via context menu
- Several bug fixes

Developer resources

- Amalthea components (model, validation, migration) are available at Maven Central

Recommended Java runtime is Java 11.
Minimum is Java 8 (with limitations if JavaFX is not included).

For details see Release 2.0.0 issues

## Eclipse APP4MC 1.2 (Jul 2021)

Model handling

- Model migration support (1.1.0 -> 1.2.0)

Model extensions

- Activity graph
  - added WhileLoop
  - introduced non-interruptible groups
- Added nested elements (map) in custom properties

Product

- Improved Amalthea Model Editor
- Improved transformation BTF -> ATDB
- New model transformations (via “Install New Software...”)
- New UI to start model transformations
- Several bug fixes

Developer resources

- Amalthea components (model, validation, migration) are now available at Maven Central

Recommended Java runtime is Java 11.
Minimum is Java 8 (with limitations if JavaFX is not included).

For details see Release 1.2.0 issues

## Eclipse APP4MC 1.1 (Apr 2021)

Model handling

- Model migration support (1.0.0 -> 1.1.0)

Product

- Improved handling of models in the Amalthea Model Editor
  - model loading on demand
  - faster loading of (large) models
  - improved resolution of cross-file references
- Reduced dependencies of the Amalthea model
  (allows easier use in non Eclipse environments)
- Removed "Amalthea no-load nature"
  (no longer required because of model loading on demand)
- New visualization of scheduler mapping
- Validations: New APP4MC.sim validations
- Several bug fixes

Recommended Java runtime is Java 11.
Minimum is Java 8 (with limitations if JavaFX is not included).

For details see Release 1.1.0 issues

## Eclipse APP4MC 1.0 (Nov 2020)

Model handling

- Model migration support (0.9.9 -> 1.0.0)

Model changes

- Removed MeasurementModel (deprecated since 0.9.9 and replaced by new ATDB)
- Removed ProcessEventType 'deadline'

Product

- New Amalthea Trace Database (ATDB)
- New transformations BTF -> ATDB, ATDB -> Amalthea
- Extended Metrics Viewer
- Several bug fixes

UI

- Added possibility to refresh a pinned visualization

For details see Release 1.0.0 issues

## Eclipse APP4MC 0.9.9 (Jul 2020)

Model handling

- Model migration support (0.9.8 -> 0.9.9)

Model changes

- Data types: Struct and StructEntry are tagable
- MeasurementModel is deprecated

Product

- Trace data and metrics: Extended definition of Amalthea Trace Database (Preview)
- Validations: New INCHRON validations, extended documentation

UI

- Model Explorer no longer expands model files
- Migration dialog supports recursive operation on folders

For details see Release 0.9.9 issues

## Eclipse APP4MC 0.9.8 (Apr 2020)

Model handling

- Model migration support (0.9.7 -> 0.9.8)

Product

- Eclipse target platform is updated to IDE 2019-12
- New (extendable) visualization framework
- Standard visualizations for runnables and deviations
- Additional example models
- EMF model viewers are available as update site
- ...

For details see Release 0.9.8 issues

## Eclipse APP4MC 0.9.7 (Jan 2020)

Model handling

- Model migration support (0.9.6 -> 0.9.7)
- Added virtual folders in component model tree view

Model changes

- Introduced namespaces and component structures
- New model element to describe hierarchical interfaces
- Model cleanup (simplified component ports)

Product

- Restructured migration component (also available as headless jar)

For details see Release 0.9.7 issues

## Eclipse APP4MC 0.9.6 (Oct 2019)

Model handling

- Model migration support (0.9.5 -> 0.9.6)
- New “no-load” nature (avoids model loading while moving/copying model files)
- Multi-line strings are supported in the editor (for selected string attributes)

Model changes

- Extended ModeConditions (allow the comparison of two mode labels)
- Refined EventChain definition (to explicitly describe fork-join, alternative, etc.)
- Counter added to RunnableCall

Build infrastructure

- Split git repository and independent build job for model migration component
- Changed to tycho-pomless maven builds

For details see Release 0.9.6 issues

## Eclipse APP4MC 0.9.5 (Jul 2019)

Model handling

- Model migration support (0.9.4 -> 0.9.5)
- New validation framework

Model changes

- Consolidated call graph: items of tasks and runnables are unified, call sequences are removed
- Simplified clock definitions (used in scenarios of variable rate stimuli)
- Limited frequency values to non negative (value >= 0)

For details see Release 0.9.5 issues

## Eclipse APP4MC 0.9.4 (Apr 2019)

Model handling

- Model migration support (0.9.3 -> 0.9.4)
- Optimized model search
- New validation framework (preview)

Model changes

- Extended modes to allow the handling of counters (integer values, comparison, increment, decrement)
- Uniform use of execution conditions (for stimuli, runnables, mode switches)
- Model cleanup (removed runnable deadlines, distinct naming)

For details see Release 0.9.4 issues

## Eclipse APP4MC 0.9.3 (Jan 2019)

Model handling

- Model migration support (0.9.2 -> 0.9.3)
- Optimized model search

Model changes

- Introduced “Ticks” as base concept for required computation effort
- Simplified “Execution Needs” (no specific entries for different processing units)
- Reworked distributions (discrete, continuous, time) without generics

For details see Release 0.9.3 issues

## Eclipse APP4MC 0.9.2 (Oct 2018)

Model handling

- Model migration support (0.9.1 -> 0.9.2)
- New model search dialog
- New model builders (with a Groovy-like builder pattern)

Model changes

- Small extensions in the hardware model

For details see Release 0.9.2 issues

## Eclipse APP4MC 0.9.1 (Jul 2018)

General

- New Eclipse Oxygen.3a based product (compatible with Java 8, Java 9 and Java 10)
- License change from EPL-1.0 to EPL-2.0

Model handling

- Model migration support (0.9.0 -> 0.9.1)
- New implementation of transient back references
- Unified approach for fast name search and mass delete
- Updated model utilities

Model changes

- New concept of DataDependency (to describe potential data dependencies)
- New possibility to specify RunnableParameters and CallArguments

## Eclipse APP4MC 0.9.0 (Apr 2018)

Model handling

- Model migration support (0.8.3 -> 0.9.0)
- Updated model utilities

Model changes

- New hardware model
- New concept of ExecutionNeed (replaces the former RunnableInstructions)

Note: This is the first implementation of the new hardware model. It will be extended in the next version and (minor) changes are expected.

## Eclipse APP4MC 0.8.3 (Jan 2018)

General

- New Eclipse Neon.3 based product

Model handling

- Model migration support (0.8.2 -> 0.8.3)
- Updated model utilities

Model changes

- New mode conditions (logical AND)
- New timing requirement (end to start)
- Reworked Stimuli definitions
- New reference to port for client server and sender receiver communication

For details see Release 0.8.3 issues

## Eclipse APP4MC 0.8.2 (Oct 2017)

General

- Model changes (extensions)
- New graphical editors (based on Sirius)

Model handling

- Model migration support (0.8.1 -> 0.8.2)
- New model utilities

Model changes

- New runnable item to get the result of an asynchronous request
- New possibility to specify the label access implementation
- New measurement model
- New component event

For details see Release 0.8.2 issues

## Eclipse APP4MC 0.8.1 (Jul 2017)

General

- Model changes (extension and harmonization)
- Improved model handling
- New tooling: EMF Graphical Viewer

Model handling

- Model migration support (0.8.0 -> 0.8.1)
- New support for compressed model files (zip)
- More back references

Model changes

- Extended Schedulers (hierarchical, reservation based)
- Extend Semaphore definition (types)
- Consistent naming of Triggers, Activations and Stimuli
- New elements for data driven computation (conditions, triggers)

For details see Release 0.8.1 issues

## Eclipse APP4MC 0.8.0 (Apr 2017)

General

- Model changes (mainly to simplify handling)
- Improved tooling: model utilities
- New UI components: Multicore Wizard, Task-Visualizer (draft version)

Model handling

- Model migration support (0.7.2 -> 0.8.0)

Model changes

- Simplified model handling: Mapping Model, Modes, Time
- New classifiers to annotate Core and Memory
- Reworked Property Constraints
- Extended OS Overheads

For details see Release 0.8.0 issues

## Eclipse APP4MC 0.7.2 (Jan 2017)

General

- Smaller product definition (optional parts can be installed via update sites)
- Harmonized model API

Model handling

- Model migration support (0.7.1 -> 0.7.2)
- Improved back references

Model changes

- New core-specific runtimes (instructions) for runnables
- New model elements for streaming communication (Channels)*
- New Transmission Policy for communication (e.g. label accesses)
- New Event-based Stimulus
- New Data Consistency needs
- New Counters for InterProcessActivation and EventStimulus
- Harmonized model elements to describe probability
- Storage of common elements (e.g. tags) in one central location

Bug fixes / Improvements

- Model migration (ISR call graph, Section names, cross document references)
- Back references (Memory -> Mapping, Scheduler -> CoreAllocation)

Documentation

- New model elements: Physical memory sections, Channels
- New examples

* = Experimental feature (first modeling attempt that may change in future versions).

For details see Release 0.7.2 issues

## Eclipse APP4MC 0.7.1 (Oct 2016)

Model handling

- Model migration support (0.7.0 -> 0.7.1)
- Improved update of opposite references
- Storage of default values is enabled by default

Model changes

- New distribution "Beta Distribution"
- New stimuli type “Synthetic” (to “replay” activations from a hardware trace)
- New DataStabilityGroup
- Introduced SamplingType as new attribute for Deviation
- Introduced physical memory sections (PhysicalSectionConstraint, PhysicalSectionMapping)
- Reworked AffinityConstraints (removed Scheduler constraints, added Data constraints)
- Reworked Event / Event-Chain Constraints
- Reworked RunnableSequencingConstraints
- New types for DataSizes and DataRates

For details see Bugzilla entries for 0.7.1

## Eclipse APP4MC 0.7.0 (Jul 2016)

Model handling

- Model migration support (itea1.1.0 -> itea1.1.1 -> 0.7.0)
- Simplified model creation wizard
- One consolidated model
- Additional opposite references (transient) to ease model navigation
- Scripting support for workflows (based on Eclipse EASE)

Model changes

- Removed ‘attributes’ and ‘features’ from hardware model
- Replaced generic ProcessAllocation with specific ISRAllocation and TaskAllocation
- New BigInteger values for CustomAttributes
- Some renamed classes and attributes (details in the help)

Model structure

- Removed direct dependency to Franca (replaced by implicit reference by interface name)

Documentation

- Updated model documentation / class diagrams
- New developer guide regarding Model Migration Framework
- New developer guide regarding Workflows