This repository contains the historical SVN archive of the VIATRA (Visual Automated Transformations) model transformation framework, historically co-developed at the Fault Tolerant Systems Research Group (FTSRG), Budapest University of Technology and Economics. The archive preserves the early development results from approximately 2004-2014, before the project migrated to Git and became Eclipse VIATRA.
This is a historical archive. For current development and usage, visit:
- Eclipse VIATRA - Official Eclipse project
- VIATRA GitHub Organization - VIATRA-related add-on projects (not hosted at Eclipse)
- Train Benchmark - Modern versions of the TrainBenchmark suite
This archive represents the outcome of approximately 10 years of intensive research and development (2004-2014) in model-driven engineering. The project evolved from VIATRA2 (an early graph transformation framework) to include EMF-IncQuery (incremental query engine), which later became a successful standalone Eclipse project. Finally, EMF-IncQuery was re-merged into Eclipse VIATRA, a modern event-driven incremental model transformation framework for EMF.
- 2004-2012: early VIATRA2 development, leading to VIATRA2 becoming subproject of the Eclipse GMT project
- 2012-2014: EMF-IncQuery emergence as a standalone project for model querying
- 2014-2016: IncQuery-VIATRA unification at Eclipse
- 2016-present: Eclipse VIATRA as unified platform
Components from this archive have contributed to 60+ academic publications and several industrial case studies (see FTSRG Publication Pages and the comprehensive publication list). Key research areas that emerged from this work include:
- Incremental model queries → Eclipse VIATRA Query
Key publications: "EMF-IncQuery: An Integrated Development Environment for Live Model Queries" (2015), "Incremental Evaluation of Model Queries over EMF Models" (2010) - Reactive transformations → Live model transformations
Key publication: "Road to a reactive and incremental model transformation platform: three generations of the VIATRA framework" (2016) - Design space exploration → VIATRA-DSE framework
Key publications: "A Model-driven Framework for Guided Design Space Exploration" (2015), "Multi-Objective Optimization in Rule-Based Design Space Exploration" (2014) - Model benchmarking → Train Benchmark suite
Key publication: "The Train Benchmark: Cross-Technology Performance Evaluation of Continuous Model Queries" in Software and Systems Modeling (2018) - Change-driven transformations → Modern VIATRA capabilities
Key publication: "Change-Driven Model Transformations" (2009)
The list below is ordered by the total number of contributions (commits) in the original SVN repository.
Active Period: March 2008 - December 2012
Main Areas of Work:
- Build system and infrastructure (build definitions, repositories)
- Update site management
- Eclipse integration components
- Framework maintenance and updates
2. Benedek Izso
Active Period: February 2012 - December 2013
Main Areas of Work:
- R script development and analytics
- Model path finding algorithms
- TrainBenchmark infrastructure
- Metrics calculation and benchmarking
- Instance model generators
- Performance testing and validation scenarios
- General development and maintenance
3. Istvan Rath
Active Period: November 2006 - September 2013
Main Areas of Work:
- Plugin customization and configuration
- Eclipse IDE integration (Package Explorer, Project Explorer)
- Batch mode operations
- Concept models and debugging support
- Core framework improvements
- Early project infrastructure setup
Active Period: July 2007 - November 2013
Main Areas of Work:
- OCL2IQ transformer implementation
- ASE pattern implementations (paramcircle, locals, references, etc.)
- Java validators for various patterns
- TrainBenchmark query development
- Core pattern matching algorithms
5. Abel Hegedus
Active Period: July 2009 - May 2013
Main Areas of Work:
- UML importer features
- Cloud example projects
- IncQuery DSE (Design Space Exploration) core development
- Engine and trigger engine improvements
- VTCL (VIATRA Textual Command Language) integration
6. Akos Horvath
Active Period: September 2006 - December 2012
Main Areas of Work:
- Petri net generator development
- Sample project generation
- Multiple genmodel support
- Bug fixes and refactoring
- Eclipse.org integration preparations
- GT pattern debugging and model manipulation operations
- Early core development work
Active Period: September 2006 - later periods
Main Areas of Work:
- Recursive runtime implementation
- Runtime exception handling
- Early core development
- Core algorithm development
Active Period: June 2013 - January 2014
Main Areas of Work:
- TrainBenchmark mavenization and directory reorganization
- Neo4j generator implementation
- Titan/Cassandra/Rexster integration
- Graph database connectors
- FourStore project development
- Benchmarking infrastructure
9. Daniel Varro
Active Period: July 2006 - August 2009
Main Areas of Work:
- VTCL Parse Controller
- Framework Service implementation
- Machine manipulation APIs
- Core framework architecture
- Extension point definitions
Active Period: December 2007 - June 2010
Main Areas of Work:
- Optxware benchmark development
- Instance creation and management
- Bug fixes and synchronization improvements
11. Tamas Szabo
Active Period: October 2011 - November 2012
Main Areas of Work:
- EMF-IncQuery renaming and refactoring
- Dependency updates and management
- Framework maintenance
12. Andras Okros
Active Period: September 2007 - May 2010
Main Areas of Work:
- VIATRA CommitTransaction development
- Core framework bug fixes
- Transaction management improvements
13. Peter Pasztor
Active Period: October 2006 - February 2007
Main Areas of Work:
- Plus function string handling
- PrintLn functionality
- Forall and choose rule implementations
- ASMFunction updates and cleanup
14. Zoltan Szatmari
Active Period: April 2012 - May 2013
Main Areas of Work:
- ASE pattern development
- SPARQL query implementations
- Local variable sequence patterns
- Paramcircle query development
15. Daniel Toth
Active Period: September 2007 - May 2009
Main Areas of Work:
- Multiplicity support (source and target)
- Aggregation support
- Native function invocation fixes
Active Period: September 2009 - January 2011
Main Areas of Work:
- Graph transformation to stored procedure mapping
- Trigger development for delete operations
- Database integration work
17. Andras Balogh
Active Period: July 2006 - August 2007
Main Areas of Work:
- Early core development
- Undefined term bug fixes
- Containment constraint implementation
- Model element and relationship annotations
18. Miklos Vajna
Active Period: April 2010 - May 2010
Main Areas of Work:
- XML import functionality
- FMES (Framework Model Element Structure) development
- Code cleanup and documentation
- Type checking implementation
19. Istvan Papp
Active Period: March 2011 - May 2011
Main Areas of Work:
- SWTBot test development
- Automatic layout algorithm testing
- UI testing framework
20. Paolo Torrini
Active Period: November 2011 - January 2012
Main Areas of Work:
- Model repair rules for stochastic simulation
- Pattern connectivity improvements
- Multiplicity and parameter modifications
21. Balazs Polgar
Active Period: November 2010 - January 2011
Main Areas of Work:
- UML Importer modifications for Ganymede
- OCL and AGSL parsing extensions
- Native date functionality (from DECOS project)
22. Andras Turi
Active Period: April 2008 - February 2009
Main Areas of Work:
- Core framework contributions
Active Period: February 2008
Main Areas of Work:
- XML support GUI development
- XML support for VIATRA R3
Active Period: November 2009
Main Areas of Work:
- Initial project imports
Additionally, the repository contains work done using a shared viatraguest account, mainly used by various collaborating researchers from the University of Leicester for experimental work on stochastic simulation.
Active Period: September 2009 - October 2012
Main Areas of Work:
- Stochastic simulation models and experiments
- Rule-based model transformations and probes
- Abstract and concrete model development
- Parameter configuration and testing
- Virus infection modeling and biological simulations
- Performance measurement and optimization
Andras Schmidt and David Vago are among the earliest contributors of VIATRA2. Their work was preserved without commit history in the original SVN repository, under the (/archive
) folder.
The archive is organized into 12 main directories, each containing specific components and features of the VIATRA ecosystem:
viatra-archive/
├── archive/ # Historical and legacy components
├── core/ # Core VIATRA2 framework
├── devtools/ # Development tools
├── dse/ # Design Space Exploration
├── dsm/ # Domain-Specific Modeling
├── experimental/ # Research prototypes
├── importers/ # Model importers
├── incquery/ # EMF-IncQuery incremental query engine
├── releng/ # Release engineering
├── stochsim/ # Stochastic simulation
├── testing/ # Testing frameworks
└── transformations/ # Example transformations
1. Core Framework (/core
)
The heart of the "old" (pre-2014) VIATRA2, containing the main transformation engine and infrastructure.
- Java5_GTASM_code_generation - Java code generation capabilities
- PMContextRefactoring - Parallel RETE pattern matcher
- TraceReportInterpreter - Comprehensive tracing support
- change_driven - Change-driven transformation support
- rete_tranzitivlezart - Transitive closure optimization for RETE
2. EMF-IncQuery (/incquery
)
Advanced incremental query engine for EMF models, later became a standalone Eclipse project.
3. Experimental Features (/experimental
)
87 projects across 22 functional areas exploring advanced capabilities:
- org.eclipse.viatra2.emf.incquery.dse - DSE integration with EMF
- Cloud optimization example - Complete cloud deployment optimization case study
- org.eclipse.viatra2.visualisation2 - Extensible visualization framework
- Petri net, BPEL, GraphML visualizers - Domain-specific visualizations
- Simulated annealing layout - Advanced layout algorithms
- hu.bme.mit.viatra.graphmining - Graph pattern mining with ParSeMiS integration
- org.eclipse.viatra2.gtasm.staticcheck - Static checker with CSP solvers
- Gecode/SICStus Prolog integration - Constraint solving backends
- org.eclipse.viatra2.gtasm.slicing - GTASM program slicing for debugging
- hu.mit.bme.viatra2.db - Database persistence with MySQL/iBATIS
- hu.bme.mit.viatra2.natives - Native string/date functions (Maven/Tycho)
4. Domain-Specific Modeling (/dsm
)
Framework for creating domain-specific modeling environments.
5. Model Importers (/importers
)
Comprehensive import support for various model formats.
6. Design Space Exploration (/dse
)
Framework for exploring design alternatives.
7. Stochastic Simulation (/stochsim
)
Stochastic graph transformation and simulation.
8. Testing Framework (/testing
)
Comprehensive testing infrastructure.
9. Example Transformations (/transformations
)
Rich collection of transformation examples and case studies:
- Ant colony simulation
- Mutex protocols
- Petri net execution
- Sierpinski triangles
- UML to relational database
- MODELS 2009 - Model transformation contest
- TTC 2010/2011 - Transformation Tool Contest entries
- GraBaTs 2009 - Graph-Based Tools contest
- ViatraLabSession - Educational materials
- change_driven_xform - Change-driven examples
- emf-qualityimprovement-2011 - Quality improvement patterns
10. Release Engineering (/releng
)
Build and release management.
11. Development Tools (/devtools
)
- hu.bme.mit.inf.sourcedecorator - Copyright header management
12. Archive (/archive
)
Historical (2004-2006) components and legacy versions, including:
- Early EMF support implementations
- Legacy testing frameworks
- School domain examples
- Feature definitions