EASy Producer Update Site
This is the official Eclipse update site for the EASy Producer tool.
Copy this URL to add a new update site to your Eclipse in order to install EASy. In case of installation problems, please refer to the recommendation / nightly build installation procedure explained below.
Documentation
Further information on how to install and use EASy can be found in the EASy Producer User Guide.
For detailed information on how to use IVML, the variability modeling language of EASy-Producer, read the release version of the IVML Language Specification.
For detailed information on how to use VIL, the variability instantiation language of EASy-Producer, read the VIL Language Specification and the VIL Language Extensions.
EASy also provides extension points for the integration of custom reasoners and instantiators. A step-by-step instruction on how to extend EASy with your custom functionalities can be found in the EASy Producer Developers Guide.
Headless components
Headless components of EASy-Producer releases starting with version 1.2.0 are available from Maven central
(group net.ssehub.easy). Example:
<dependency>
<groupId> net.ssehub.easy.runtime</groupId>
<artifactId>EASy</artifactId>
<version>1.2.0</version>
</dependency>
For more details please refer to the developers documentation.
Recommendation
EASy Producer requires Xtext at least in version 2.9.2 which will typically be installed with the tool automatically. However, if you encounter any errors regarding a missing Xtext installation, please install Xtext 2.9.2 via the Xtext Update Site. As we experienced some installation problems with
Eclipse Indigo (required package validation), we currently recommend Eclipse Mars or Eclipse Neon.
Nightly builds
Instead of the released version, you may also try out the most recent nightly build. Below is a recommended installation procedure (which can also help in case of installation problems with the released version):
- Install JDK 1.8
- Install the latest version of Eclipse, e.g., for Eclipse Neon for committers (please select according to your OS)
- Restart Eclipse
- Install EASy Nightly Core Bundles from http://projects.sse.uni-hildesheim.de/eclipse/update-sites/easy_nightly/
- Restart Eclipse
We tested EASy-Producer also with Eclipse 4.19.0, where -Dosgi.dataAreaRequiresExplicitInit=true must be commented out in eclipse.ini. Due to dependencies to older Eclipse bundles, EASy-Producer may not run with newer versions of Eclipse.
EASy-Producer Source Code
EASy-Producer is licensed under the Apache License, Version 2.0. You can follow EASy Producer on Github.
EASy Command Line Tool
The EASy command line tool, which runs outside from Eclipse can be downloaded here.
EASy-Producer change log / release summary
Release Summary
- version 1.3.10 (in progress)
- Migration to Eclipse 2023-06 (3.42), running on JDK 21
- Migration to JDK 17, Eclipse 2023-03 (3.41), xText 2.35.0
- Migration to Maven Tycho (based) build process
- RCP pre-builds for Windows, Linux, MacOs for EASy-Producer, now with embedded JRE
- Pre-builds for Windows, Linux, MacOs for EASy-Producer CLI
- Discontinued: Standalone binaries
- Maven instantiator upgraded to Maven 3.9.7
- Manifest-based EASy-Loader
- Pre-packaged EASy-Producer fixed
- Maven and Docker instantiators can be skipped for testing via system property
- Support for linked/virtual Eclipse projects (e.g., github)
- Speedup for larger EASy-projects
- Cleanup of EASy nightly update site for better performance
- VIL/VTL Artifacts for JSON and YAML files
- In development: JavaCodeArtifact for maintainable code generation
- version 1.3.6 (discontinued due to Eclipse/JDK migration)
- IVML: sequence access evaluation fix
- VTL: configurable content formatter (line split, empty lines)
- Migration to more recent Eclipse (in progress)
- version 1.3.5 (October 04, 2023)
- IVML: immediate freezing of constants on assignment
- IVML, VIL, VTL: warnings for @override, @dispatchBasis, @dispatchCase
- Reasoner fix for empty compound initializer
- Reasoner fixes for annotation assignment on refined types/instances
- Allowing for missing messages/errors from reasoner
- VIL/VTL copying from folders external to source/target
- Processing notice for Docker/LXC container builds
- version 1.3.4 (February 17, 2023)
- VTL instantiator call: restoring call context
- VIL/VTL maps: fixing values() operation
- VTL: Return empty content if loop ends with content statement but is not entered
- IVML: Deeper failure output missing in nested/trial import resolution
- IVML, VIL, VTL: Experimental wildcard imports and insert-imports for extending dynamic dispatch
- VIL, VTL: Trace filtering
- VIL, VTL: Constant handling for binary expression
- UI: Multiple alternative paths for IVML, VIL, VTL via .EASyProducer
- VIL: Upgrade of Maven instantiator to Maven version 3.8.3
- VIL: LXC instantiator
- version 1.3.3 (September 1, 2022)
- Docker instantiator improvements
- version 1.3.2 (Juni 2, 2022, Maven only)
- Further narrowing Eclipse component version ranges for Maven integration to avoid incompatible components.
- First IIP-Ecosphere scenario test case (oct21).
- VTL formatting hints
- Fixed mapping of IVML multi-refinements to VIL/VTL
- VTL executable file artifact operation
- Improved default value reasoning
- Docker instantiator
- release 1.3.0 (August 4, 2021, Maven only)
- Narrowing Eclipse component version ranges for Maven integration to avoid incompatible components.
- Improving the Maven-based integration, detailing the dependencies.
- EASy Executor for integrating a full EASy-Producer execution in a few lines of code.
- Several detail fixes to IVML, VIL and VTL.
- Upgrade to Eclipse 2021-03
- release 1.2.0 (June 4, 2018)
- IVML
- multi inheritance and slot shadowing
- default parameter values
- Constant values(#50)
- IVML constraint syntax alignment to OCL 2.4.1, editor compliance mode
- UI improvements for refined compound values (#82)
- Compound initialization clarification (#32)
- Constant variable declarations
- Reasoner
- Full implementation of eval-Blocks, slightly relaxed syntax for simplified application
- Consideration of refined compound values
- Consideration of compound collection defaults
- Complex and dependent compound value initialization addressing re-assignment problems (#76)
- Support for constraint variables, i.e., changing constraints during reasoning (#68)
- Support for refined compound values, leading to changing constraints during reasoning
- Support for configuration initialization
- Auto-selection of default reasoner upon first start (#80)
- Memory usage and reasoning speed improvements
- Re-usable reasoner instances introduced, e.g., for faster runtime reasoning
- More detailed and faster error messages (#46)
- Drools-based reasoner discontinued
- VIL/VTL
- Expression syntax alignment to OCL 2.4.1, editor compliance mode
- default parameter values
- explicit for/while (#47)
- Abortion of VIL/VTL scripts (#53)
- More XML header meta access and output control. Explicit synchronization of XML attribute sequence to
keep original document formatting.
- Selection of basis Eclipse project type while creating an EASy-Producer project(#43), supported types:
- Java projects
- Eclipse projects (without Java, C, or other programming language specific settings)
- Standalone deployment to Maven, deployment of individual core components to Maven, standalone composition
of core components based on Maven (as now documented in the user guide).
- Documentation improvements along all changes, including #81
- Uptake of Java 9: Explicit integration of Apache Xerces 2.9.0 and Xalan 2.7.1 in VIL/VTL XML
processing to resolve Java 9 module issue w.r.t. enforcing attribute output sequences.
- Uptake of Eclipse 4.7: More explicit bundles for integrated libs requiring dynamic classloading as enforced
by changes in Eclipse/Equinox class loading. EASy-Producer nightly works with Eclipse 4.7.3 and shall still
works with Eclipse 4.5. However, EASy-Producer 1.1.0 probably does not work with more recent Eclipse versions
than 4.5.
- release 1.1.0 (March 16, 2016)
- EASy-examples are now available through project imports
- Improvements for IVML (refBy on expression, static operation definitions, min/max for ordered enums, flatten operations, dynamic dispatch improvement, cyclic imports), configuration initialization
- Improvements for VIL (switch expression, undefined variables, typedef, protected sub-templates, VTL line end formatting, access to keys in maps)
- Improvements for rt-VIL (explicit fail)
- Improvements for the IVML reasoner (fixes, typedefs of typedefs, annotations, performance)
- Improvement of Maven-VIL integration (Linux fix, JAVA_HOME detection)
- Global VIL Java classpath settings
- Filtered delete for calls / methods in Java Artifacts
- Upgrade of the xText version to 2.9.0
- Bug fix: Arbitrary Eclipse projects can be converted into EASy projects through the context menu: right click on project and select: Configure -> Add EASy-Producer Nature
- release 1.0.0 (July 2015)
- IVML freeze-but expressions, attributes renamed to annotations
- VIL-IVML mapping improved / changed now using fields rather than operations
- VIL/VTL improvements: resource cleanup, XML artifact fixes, stream gobbler for command line execution, expression parsing moved to language analysis time allowing errors and warnings before script execution
- SSE reasoner became EASy default reasoner replacing Drools2 (available as optional, outdated component)
- SSE reasoner improvements: constraint variables for compounds directly instantiated into collections, IVML attributes, now mostly functional complete except for evals
- Initial version of rt-VIL (experimental)
- Initial version of the IVML/VIL model serializer for XML, which supersedes initial and outdated IVML serializer (experimental)
- Maven instantiator supports now multiple executions (file descriptor leak in Maven) and works in standalone mode and detects the installed JDK
- Java instantiator bundle separated into Java, ANT and AspectJ to support more fine grained packaging of standalone libraries
- EASy-UI now showing top-level models in tabbed editors, several UI fixes/improvements
- Initial instantiation view as UI frontend of VIL
- Product line examples now integrated and available through the UI
- Support for Eclipse Mars and JDK 1.8 (xText upgrade will follow with the next release)
- Update site restructured to simplify installation
- release 0.11.3 (January 2015)
- new internal IVML reasoner (still experimental)
- IVML, VIL and VTL improvements (for details see language specifications)
- reasoner selection in UI
- content assist improvements
- removing copy mechanisms
- start of experimental branch (new internal IVML reasoner, rt-VIL)
- extended standalone generator
- improved model import mechanism
- VIL-Maven integration
- release 0.11.2 (September 2014)
- improved configuration build-up (based on internal IVML expression evaluator)
- reduction of memory consumption
- IVML, VIL and VTL improvements (for details see language specifications)
- editor refreshes
- release 0.11.1 (June 2014)
- IMVL improvements
- new UI editor components
- explicit VIL iterators
- dynamic VIL type system, extended IVML-VIL integration
- release 0.9.0 (April 2014)
- extensible and reusable UI
- model import version constraints
- switch to xText 2.5.3
- IVML, VIL and VTL improvements
- Drools reasoner improvements
- release 0.8.0 (March 2014)
- extended configuration via UI
- IVML, VIL and VTL improvements
- Drools reasoner improvements