Skip to content
This repository has been archived by the owner on Oct 28, 2019. It is now read-only.

Releases: mondo-project/mondo-hawk

Time-aware assertions and scopes, bugfixes

25 Apr 10:45
Compare
Choose a tag to compare

This version implements #81, which adds a number of useful primitives for running time-aware queries. It also fixes some bugs in the server, which prevent users from selecting the TimeAwareEOLQueryEngine.

Client and server products are no longer manually uploaded to Github pre-releases: instead, you should fetch the latest client, server and update site from the Bintray nightlies:

https://dl.bintray.com/bluezio/generic/

UI improvements

12 Feb 16:24
Compare
Choose a tag to compare
UI improvements Pre-release
Pre-release

This version introduces a number of improvements in the Hawk Eclipse UI and a convenience tweak in the server:

  • When creating a new Hawk index, the new UI separates the "Basic" aspects (instance name, factory, backend and updater) from the "Advanced" ones (which metamodel / model formats to support, query engines and so forth). Thanks to @beatrizsanchez for the new feature!

  • The Hawk server now autostarts the p2.console component, making it possible to use the p2 Console to install new plugins within the server and update an existing installation. Further documentation will be produced later.

  • You will need this new server as well for the updated UI, as several backend human-readable names were tweaked to make them distinguishable from each other (especially Orient and Greycat).

Time-aware indexing fixes for LocalFolder

02 Feb 17:20
Compare
Choose a tag to compare

This release introduces the new listPluginDetails operation in the Thfit API, and fixes time-aware indexing over LocalFolder VCS managers and other similar variants (e.g. Git).

Optimisations and bugfixes in Greycat

26 Nov 14:38
Compare
Choose a tag to compare
Pre-release

Greycat backend

You will need to reindex from 1.2.0-rc2 if you were using the Greycat backend. There have been some major changes:

  • Greycat on RocksDB now works on Windows, by disabling compression.
  • Greycat on RocksDB is now deprecated. Instead, you are recommended to use Greycat on top of LevelDB: it is shown to be faster in all our tests.
  • Rewrote use of embedded Lucene indexing in the Greycat backends: the indices are now properly time-aware (but not world-aware yet).
  • Upgraded Greycat to version 11.

Time-aware indexing

  • Model.types produces time-aware type wrappers as well.
  • Added the timeline EOL query engine. You can run the same query in a time-agnostic way against all known versions of the model, and receive a sequence of (timepoint, result) pairs.
  • Added Model.allInstancesNow and Model.allInstancesAt.

Optimisations and bugfixes

  • UI: large SVN-based imports may take a while to download - provide status reports on import progress.
  • SVN: speed up imports by reusing the connection as much as possible.
  • Fix for regression in 1.2.0-rc1 in proxy resolution of Modelio-style fragmented models.
  • Speed up Model.allContents by turning it into a dedicated lazy collection, with optimized .size implementations whenever possible.

Interim release (September 8, 2018)

08 Sep 22:35
Compare
Choose a tag to compare
Pre-release

Since the last interim release:

  • Greycat backend is now ready to be used, with support for time-aware querying. Please see the wiki for details.
  • Noticeable optimisations across Hawk (e.g. proxy reference resolution), while developing the integration with EMF Splitter.
  • Additional scoped query modes, with different approaches to traversing the graph.
  • Better querying UI, with options distributed across tabs to keep things simple.
  • LocalFile: connector for indexing a single file in the local drive.
  • LocalFolder: Java API allows for setting up custom filters. This is not yet available from the UI or the Thrift API.
  • Dates are indexed in ISO 8601 format, which is more machine-friendly.

More noticeably, we have switched Hawk to the EPL2 license, with GPLv3 as secondary license in case you want to use the Neo4j backend. IFC support has been separated into another project, due to clashes with the BIMServer Affero GPLv3 licensing.

And even more importantly, Hawk is now an Eclipse project! We are in the process of migrating our code and other artifacts to Eclipse infrastructure.

Note that if you use the zipped update site, make sure you add these repositories first:

  • http://download.eclipse.org/epsilon/updates/
  • http://eclipse.svnkit.com/1.9.x

Interim release (March 26th, 2018)

26 Mar 13:53
Compare
Choose a tag to compare
Pre-release

Since the previous interim release, the most important changes have been:

  • Further optimisations and stability improvements for the Neo4j and OrientDB backends.
  • Addition of a sync-server.sh script to trigger re-checking of all locations from a Hawk server.
  • Further improvements in logging for the Hawk server.
  • First version of the experimental Greycat backend. It is currently usable as a standard backend, but it needs more optimisations to scale to large files. This backend is intended to provide time-aware querying to Hawk in the future, as Greycat matures.
  • Improved UI for metamodel registration.
  • Fixes for cross-file references in Eclipse workspaces (#57).
  • Better error messages for EOL queries with bad syntax (#58).
  • Code refactoring in the SyncValidationListener.

Interim release (Dec 11th, 2017)

11 Dec 11:53
Compare
Choose a tag to compare
Pre-release

This interim release adds support for UML model and profile parsing and fixes server stability and OrientDB issues. The OrientDB backend has been upgraded to version 2.2.30.

v1.1.1 - Fix installation issues and LocalFolder registration

02 Nov 16:30
Compare
Choose a tag to compare

This minor release fixes several issues and replaces 1.1.0. Please do not install 1.1.0 anymore and use this instead. You can download the sources and various Eclipse products through the links below, or install it into your Eclipse instance from this update site:

    http://mondo-project.github.io/mondo-hawk/hawk-releases/1.1.1/

Please note that you will also need the Epsilon 1.4 update site, as well as this third party component update site:

    http://mondo-project.github.io/mondo-hawk/thirdparty-nonp2/
  • Epsilon 1.5.x is explicitly rejected when installing. Epsilon 1.5 changed the structure of several important classes in eol.engine and it is not possible to compile Hawk against both Epsilon 1.4 and Epsilon 1.5. Hawk 1.1.0 would allow you to install it on top of Epsilon 1.5.x, but you would receive runtime errors when creating an index.

  • The service.api.dt feature has been added to the update site. This feature was missing from the release, so it was not possible to install the "Thrift API support for the Eclipse GUI" feature.

Also, it fixes one small bug: "file:/" URIs such as those used by the LocalFolder repository would not be accepted. These work now. Please note as well that LocalFolder does not accept "file://" URIs at the moment.

v1.1.0 - Hawk server and support for Modelio 3.6+ metamodel descriptors

27 Sep 14:37
Compare
Choose a tag to compare

Version 1.1.0 of Hawk has been released. You can download the sources and various Eclipse products through the links below, or install it into your Eclipse instance from this update site:

http://mondo-project.github.io/mondo-hawk/hawk-releases/1.1.0/

Server components

Hawk now includes the server components from the MONDO Integration project. There are Eclipse products for a server version of Hawk, and a command line client for the Thrift API exposed by the Hawk server. It is also possible to connect to a remote index through the Hawk Eclipse UI or its Java library.

Some improvements have been done since then:

  • Queries through the Thrift API can now return nested lists and maps.
  • It is possible to bootstrap multiple Hawk servers by placing appropriate configuration files.

Backends

Neo4j

Minor fixes for preventing NPEs with the Neo4j backend.

OrientDB

There have been many stability and thread safety fixes for the OrientDB backend, which is now based on OrientDB 2.2.8. The OrientDB backend has also been heavily optimised in terms of memory usage and storage space for large models - connections are pooled through Apache Commons Pool, and an internal cache based on Guava has been added to replace the default one.

Indexing

General

  • Eclipse workspace driver does not trigger updates when changing a file without saving.
  • Derived edges are now represented as real edges, so you may use the revRefNav_ prefix on them to navigate them in the reverse direction.
  • Reduced memory overhead when there are no derived attributes.
  • Reduced memory usage when parsing EMF resources.

Modelio

  • The old export-based Modelio driver has been removed.
  • The EXML-based Modelio driver stopped using ModelioMetamodelLib, and now uses Modelio 3.6+ metamodel descriptors. These descriptors can be obtained from the official source code, and some of them cover Modelio metamodels from prior releases (e.g. 3.4).

UI

  • It is possible to index svn:// URLs from the Eclipse UI now.

Queries

  • Hawk 1.1.0 is now based on version 1.4.0 of Epsilon.
  • Epsilon Pattern Language queries are now supported.
  • EOL / EPL: Added support for Model.files, .hawkInEdges, .hawkOutEdges.

v1.1.0 - interim pre-release (April 2017)

14 Apr 14:36
Compare
Choose a tag to compare

This is the first pre-release which includes the Hawk parts of the MONDO Integration server. This allows for indexing a set of models from a central location and then querying the models through a collection of Thrift APIs.