AgE 2.4 : Changelog

jAgE 2.5

Released: TBA

Platform

Core component

  • Splitting the project in two: The platform module holds the code related to what will become AgE components framework (Containers, ComponentDefinitions, etc.), the services module contains logic specific to multi-agents computations: (Workplaces, Agents, Queries, etc.).
  • Broadcast selector was changed to select all addresses before initialisation (AGE-6).
  • Added support for multicast selectors (AGE-21).
  • New, simplified addressing mechanism (AGE-65). This new version greatly reduces the complexity of addressing configuration. For information about its usage refer to: Addressing scheme, about implementation: Addressing scheme implementation. If you are upgrading from the older jAgE version, you may be interested in a short upgrade guide.
  • New, unified message classes (AGE-65). For their description refer to: Messages. If you are upgrading from the older jAgE version, you may be interested in a short upgrade guide.
  • Completely new queries API based on the fluent interface pattern (AGE-67). For their description refer to: Queries and Queries implementation.
  • ConnectedSimpleWorkplace added as an example implementation of a workplace aware of another workplaces (AGE-71).

Configuration

  • A priori verification mechanism introduced (AGE-7)
  • Components' dependency and properties injection is now independent from jAgE Properties API. (AGE-31) (Description)
    • Components not longer have to implement IPropertyContainer and can be any simple POJO.
    • Dependencies will be autowired, injected through setters, then fields annotated with @Inject.
    • Properties will be injected through setters, Then fields. For backward compatibility, annotated jAgE Properties are also still supported, but this behavior is deprecated and will be removed in a future release.
    • Explicit dependencies will override implicit autowiring.
  • Support for autowiring of generic collections (lists, sets, maps) (AGE-16). All collections that are annotated with @Inject are now looked up with its generic type taken into consideration. For more information about autowiring refer to: Describing components to be initialized by Configuration Framework, about changes to the configuration file: SpecyfikacjaPlikuKonfiguracyjnego.
  • Tables support in configuration and autowiring (AGE-19). Tables can be used as with the <array /> element in XML configuration in the same way as <list /> and <map />. For more information refer to: SpecyfikacjaPlikuKonfiguracyjnego.
  • Improved support for generics in the properties library (AGE-16, AGE-21).
  • Resource loading similar to the one from Spring is now available (AGE-62). For more information about supported protocols refer to: Node start-up and command line arguments.

Other changes

  • Logging framework has been changed to SLF4J (AGE-59).
  • New examples (for their description see Sample applications):
    • strategy delegation (AGE-55),
    • configuration of arrays (AGE-19),
    • configuration of collections (AGE-16),
    • multiworkplace (AGE-71).
  • Bug fixes:
    • Runtime exceptions thrown by actions are now handled by the aggregate and will no longer silently kill the current thread. (AGE-78)
  • General code clean-up and upgrade to better exploit newer Java versions.
  • Documentation upgrade and its further translation.

Wersja 2.4.1

Data release'u: 24-02-2010

type key summary assignee reporter priority status resolution created updated due

JIRA server returned an error: Service Temporarily Unavailable

View these issues in JIRA
* caribou@552 changing doxia-confluence version to 1.1.1 and therefore maven-site-plugin to 2.1-SNAPSHOT. Maven prerequisite changed to 2.1.0

Wersja 2.4.0

Data release'u: 02.10.2009

Wersja 2.3.2

Data release'u: 08.09.2009

  • caribou@535 doxia version changed to 1.0
  • caribou@534 warning about not found action turned off as it was misleading
  • caribou@525 BUG FIX: rekurencyjne wywołanie metody PicoWorkplaceManager.unregisterAddress, które powodujowałe nieskończoną pętlę
  • caribou@525 BUG FIX: poprawione zlecenia akcji migracji (metoda SimpleAgent.doMove) - dostosowane do nowego mechanizmu akcji,
  • caribou@523 dodanie budowania testów i ich źródeł do domyślnego cyklu builda; testy deployowane jako artefakty mavena, zobacz: Dostęp do testów platormy

Wersji 2.3.1

Data release'u: 21.05.2009

  • caribou#68 akcje: przeniesione sprawdzanie poprawności adresów z agregatu do fazy inicjalizacji akcji
  • caribou@515 zmieniono nazwe AbstractActionStrategy na AbstractPerformActionStrategy

Wersja 2.3.0

Data release'u: 20.05.2009

  • caribou#51 wirtualne właściwości dla agentów
  • caribou#44 usunięto ID z IPlatformComponent, dodano do IComponentInstanceProvider metodę getName
  • caribou#64 usunięto interfejs IStrategyActionContext
  • caribou#58 implementacja wykonania akcji na agregacie oraz jego rodzicu (przyklad w tescie ActionValidationTest)
  • caribou@498 usunięto akcje metodę IAgent.getClone
  • caribou#54 akcja tworzenia nowego agenta (dodano factory method SimpleAgent.createAddNewAgentAction
  • caribou#61 wydzielenie warunku stopu jako osobny komponent (IPlatformComponent)
  • caribou#34 zmiana interfejsu IAgeComponent na IPlatformComponent, wprowadzenie interfejsu ICoreComponent
  • caribou#53 zmiana nazwy IActionStrategy na IPerformStrategy oraz metody performAction na perform
  • caribou#57 wprowadzenie trzech faz wykonania akcji INIT, MAIN, FINISH
  • caribou@488 usunięto akcje cloneAction
  • caribou@488 dodano AbstractStrategy and IProviderAwareStrategy
  • caribou#56 nowa adresacja - dokumentacja adresacji
  • caribou#56 nowy mechanizm zapytań (query) - dokumentacja zapytań
  • zmiana w mechanizmie akcji: caribou#48
    • nowy proces wykonania (opis ...)
    • caribou@477 SingleAction posiada jako target IAddressSelector<IAgentAddress> - Uwaga: stare akcje nie będą działać na nowym mechanizmie
    • selectory adresów: base caribou#47, ANYCAST caribou#48, UNICAST caribou#49, BROADCAST caribou#50, NEWCAST caribou#45 (dokładny opis selectorów ...)
  • usunięcie z adnotacji PropertyField i PropertyGetter atrybutu type
  • caribou@365: zmiana wersji z 2.2.2-SNAPSHOT na 2.3.0-SNAPSHOT
  • caribou#27 & caribou#28 - zmiana formatu pliku konfiguracyjnego: object -> component, dodano tag agent, który jest aliasem component z atrybutem isSingleton=false
  • caribou@224: dodanie do SimpleAggragete i SimpleWorkplace notifikacji monitorów na końcu metody step
  • caribou#29: usunięcie aliasów z konfiguracji
  • caribou@247: zmiana Message z Comparable<Object> na Comparable<Message>
  • caribou#31: przejście na Pico 2.6
  • caribou@262: ComponentDefinition: sprawdzanie, czy definicje zawierjące property initializers mają odpowiednią klasę (implementującą IPropertyContainer)
  • caribou#32: dodanie abstrakcyjnego przypadku testowego, udostępniającego wczytywanie konfiguracji z pliku i instancjonowanie komponentów na jej podstawie
  • caribou#36: dodanie sprawdzania poprawności plików konfiguracyjnych na podstawie XML Schema: http://age.iisg.agh.edu.pl/xsd/age.xsd, zmiana targetNamespace na http://age.iisg.agh.edu.pl/AgE
  • caribou#37: bugfix: dodanie do XML Schema konfiguracji typu prostego Boolean
  • caribou#38: proste wstrzykiwanie zależności w komponentach na poziomie node'a

Attachments:

upgrade-guide.pdf (application/pdf)