Package: opengeode
OpenGEODEOpenGEODE is an open-source SDL editor that is developed for
the purpose of providing an easy to use and free state machine editor and
Ada code generator to the TASTE toolchain from the European Space Agency,
running in combination with ESA's "Space Certifiable" ASN.1 compiler.SDL is the Specification and Description Language (Z100 standard from ITU-T).This is NOT related to the graphical Simple DirectMedia Layer libraries!Visithttp://sdl-forum.orgfor more information about SDL.FeaturesGraphical editor of SDL processes and procedures.Support for state composition and state aggregation (parallel/nested states)Works on pure PR+CIF files (textual SDL notation)Supports ASN.1 data types using ESA Space Certified compiler (www.github.com/ttsiodras/asn1scc)Generates Ada codeAutomatic conversion to Statechart diagramsSave the complete or parts of the model to PNG/SVG/PDF filesHyperlinks (link a symbol content to any external document or web page)Context-dependent text auto-completionSyntax highlightingUndo/Redo, Copy-Paste(Limited) VIM mode - You can use :wq or :%s,search,replace,g, and /search patternPython API to parse and render SDL from other Python modulesSimulator (prototype)Main limitationsSupports only one process at a time (useTASTEto connect processes to form a complete system)Minimal support of legacy SDL datatypes (newtypes/synonyms..): use ASN.1 insteadInstallationOpenGEODE is made primarily for Linux.It is part of theTASTE projectIt is installed with all dependencies in the TASTE virtual machine that you can download fromthis link. Manual installation is possible in a native Linux environment.
Debian 10 (buster) is the baseline. Recent versions of Ubuntu (20.x) should work as well.Using TASTEImportant: OpenGEODE is already installed in the TASTE10 Virtual Machine (based on Debian Buster), and fully integrated with the toolset. It is the easiest way to get started with OpenGEODETo start a new project run:$ tasteSelect a project name and the graphical editor will pop-up shortly after. You can add functions to the system and specify the implementation language toSDL. When you edit the function, the OpenGEODE editor will start.You can check an example of a system using Opengeode if you go in~/tool-src/kazoo/tests/Demo_ABB_Opengeodeand runmaketo build it. Thentasteto edit.The code is automatically generated when you exit the tool.ManualThe following commands should automate the installation:$ git clone https://github.com/esa/opengeode
$ cd opengeode
$ make full-install   # it will prompt for sudo password to call aptThe installation will be done in the~/.localfolder by the Python3 pip tool. Make sure you add this to your .bashrc (or equivalent):export PATH=~/.local/bin:$PATHOnce you have the dependencies installed you can update the tool by running the following commands:$ git pull
$ make install    # alternatively:  python3 -m pip install opengeodeOpenGEODE WebsiteAweb pagehas been created with more information about
OpenGEODE.Thesourcefor the page can be found in thewikifolder of this repository. Any changes to the wiki source will be subsequently
merged into the wiki by the wiki maintainers.Information and contactFor information please contact:
maxime (dot) perrotin (at) esa (dot) intAdditional contributors:Diego Barbera (ESA Summer of Code 2014 - LLVM backend)Laurent MeyerMarco Lattuada (C backend)The ASN.1 compiler (ASN1SCC) that OpenGEODE is based on was developed by George Mamais and Thanassis Tsiodras for the European Space Agency.LicenceLicense is LGPL (see fileLICENSE)
There is no runtime, and the generated code is not subject to any license.The fonts are the fonts from Ubuntu, check licence in fileFONT-LICENSE.TXTThe background pattern was downloaded fromwww.subtlepatterns.comChangelog4.1.23 (12/2023)Fix interprocess copy-paste issue (could result in duplicate copies)4.1.22 (11/2023)Fix export of the statechart into png from the GUI (worked only from command line before)Fix navigation in nested states when using partitions4.1.21 (11/2023)Critical Fix: saving error (when code generation backend raises an exception model could be lost!)Fixed support for array newtypes indexed by an enumerated type4.1.20 (11/2023)Fix code generation when combinining a history nextstate trying to go back
to a nested state that contains no inner state (just a start transition ending
with a RETURN).4.1.19 (11/2023)Improve the management of temporary folders/files, and fix Windows support4.1.17 (11/2023)(minor) Remove workaround that was added when calling the ASN.1 compiler on Windodws4.1.16 (11/2023)Updated setup.py for easier pip-based installation4.1.15 (10/2023)Added --edit flag to be used in combination with --toC/--toAda to generate
code together with the model and save build time4.1.14 (10/2023)Report an error when a procedure is declared referenced and external but no definition is providedFix support for sync PI in function type/instance4.1.13 (09/2023)Fix for the support of the CREATE symbol (needed for the simulation)4.1.12 (09/2023)Fix for the support of the CREATE symbol (Ada backend)4.1.11 (09/2023)Major upgrade of the C backend - nearly feature complete (except type/instances and a few other features)Fixes in the code generation for observers/model checking and interactive simulator4.1.10 (09/2023)Various fixes in the C backend4.1.9 (06/2023)Fix support of the renaming clause in C and Ada backends4.1.8 (06/2023)Fix generation of inner calls to exported procedures in Ada backend4.1.7 (06/2023)Fix octet string synonym declaration using hex notation4.1.6 (05/2023)Fix more issues with  computation of modulo operator range (negative numbers)4.1.5 (05/2023)Fix computation of modulo operator range4.1.4 (05/2023)Fix support for built-in operators (Val, To_Enum, etc) / Ada backend4.1.3 (05/2023)Fix type signed/unsigned potential mismatches when using syntypes4.1.2 (05/2023)Maintenance relaase - text search work cross-partitions4.1.1 (05/2023)Maintenance relaase - minor bugfixes (placement of comments, partitions)4.1.0 (05/2023)Support partitionsBug fix with the append operator4.0.9 (05/2023)Allow exporting of local procedures (not PIs)4.0.8 (04/2023)Fix regression (allow appending a raw text string to an octet string)4.0.7 (04/2023)More type checking with the append operator4.0.6 (04/2023)Bugfix: type checking when mixing octet strings and integers4.0.5 (03/2023)Bugfix: alternative symbol could not follow labels4.0.4 (03/2023)Improve type checking of raw SEQUENCE expressions4.0.3 (01/2023)Better support for optional fields in sequencesImprove synonym parsingImprove checks on ground expressions4.0.2 (01/2023)It is possible to subtype (with syntype) native "integer" and "natural" types4.0.1 (01/2023)Add support for the DELETE symbol (to delete a "dynamically" created instance)4.0.0 (01/2023)Add support for the CREATE symbol3.14.2 (12/2022)Ada backend: fix instantiation of parameterless output messages3.14.1 (12/2022)Support synonym of SEQUENCE literal3.14.0 (12/2022)the "self" constant was not set properly in instances of process type. Fixed (Ada backend)3.13.3 (12/2022)Fix default values of type OCTET STRINGs when referencing an ASN.1 constant3.13.2 (12/2022)Fix rendering issue with nextstate when using a VIA clause3.13.1 (12/2022)Fix missing cast in Ada backend when using index loopsFix support for IS5String in CHOICE elements (Ada backend bugfix)3.13.0 (12/2022)Support arrays indexed by an enumerated type (when using the newtype construct)3.12.7 (12/2022)Fix rendering issue with --png, reduced risk of text overlapAdd procedures (with edit button) to the data dictionary3.12.6 (12/2022)Fix rendering of enumerated values in data dictionaryFix localization of errors upon model loading3.12.5 (12/2022)Add synonyms, newtypes and syntypes in the data dictionary tabHighlight selected type/constant in the ASN.1 file when selected from data dictionaryMake sure splashscreen remains on top while loading the model3.12.4 (12/2022)Fix rendering issue with alternative symbol in presence of errorsSupport of the NULL ASN.1 type and corresponding constantFix parsing of synonyms3.12.3 (11/2022)Fix support of newtypes depending on syntypes (parsing order bug)3.12.2 (11/2022)Fix cast error when appending an octet to an octet string3.12.1 (11/2022)Fix support for loop iterator in combination with arrays (Ada backend fix)Align generation of code with asn1scc bugfix when using subtypes with sign incompatibilities3.12.0 (11/2022)Add support for standard SDL SYNTYPE construct (useful to create a range type for a local array)3.11.2 (11/2022)In simulation mode, signal unhandled interfaces (lost signal)3.11.1 (11/2022)Fix scope issue when using for loops in observers3.11.0 (11/2022)Introduce support for SDL's alternative symbol3.10.3 (11/2022)Fix parsing bug with input *3.10.2 (11/2022)Detect name conflicts between variables and constantsSupport newtype names with underscore (bugfix)Improve data dictionary (constant values, better jump to the ASN.1 model)Text search: spot the exact pattern location in results, and iterate properly on multiple occurences3.10.1 (10/2022)Add Quick filter for the data dictionary3.10.0 (10/2022)Add implicit declaration of "self" and "sender" of type PID3.9.33 (10/2022)Fix copy-paste bug with internal procedure calls3.9.32 (10/2022)Fix support to OUTPUT TOvariable of type PID3.9.31 (10/2022)Fix Append operator (when appending using an index)Allow custom-types (newtype array) to reference other custom typesPartially support array indexed by an enumerated type (fixed-sized array)Support OUTPUT TOvariable of type PID3.9.30 (10/2022)Introduce parsing of OUTPUT TO and CALL TO to support multicast3.9.29 (10/2022)Introduce inline helpFix code generation (decision answer with multiple values)3.9.28 (09/2022)Added splashscreen while loading the modelFix issue with the spelling of the C symbol for exported procedurs (Ada backend)3.9.27 (09/2022)Fix issue with the spelling of the C symbol for exported procedurs (Ada backend)Fix check of procedure parameters (definition vs referenced declaration)3.9.26 (09/2022)Fix copy paste issues (paste state in procedure, and label transitions)3.9.25 (09/2022)Detect risk of division by zero with the modulo operatorFix range of ASN.1 constants3.9.24 (09/2022)Fix C code generation backend (use renamePolicy=3)3.9.23 (09/2022)API for asn1scc now allows calling asn1scc with renamePolicy=3Minor fix in copy-paste of Label branches3.9.22 (08/2022)Look for mismatch in exported procedure signature declaration/definitionFix copy-paste issues3.9.21 (08/2022)Minor fixes in the C code generator backendFix bug when saving a model with non-existing types assigned to a variable3.9.20 (08/2022)Better check of errors related to the CONNECT construct
(nested state named return: detect duplicates and missing connect transition)Improvement of the Label symbol shape3.9.19 (08/2022)Improve visibility of text and autocompleter when editing comments
(ensure that text is always in front of other symbols and that autocompleter
is in the screen area)3.9.18 (08/2022)Improve auto-resizing of symbols (and remove manual resizing)3.9.17 (08/2022)Fix support of Asterisk input (INPUT *) - parser bugfix3.9.16 (08/2022)Better check that dcl variable default values are ground expressions (no reference to variables)3.9.15 (08/2022)Relax the range checks in index access (raise an error only when absolutely certain there is an overflow)3.9.14 (08/2022)Fix various range checksDetect/forbid assignments to loop range iteratorsFix selection of connectorsMany fixes to the Append operator (parser and Ada backend)3.9.13 (07/2022)Fix the computation of range of the mod and rem operatorsAdd makefile rules to test the sdl2if and sdl2promela tools3.9.12 (07/2022)Fix the datamodel generation in function types3.9.11 (07/2022)Fix a bug in code used by the model checkerIn Ada backend: ignore exported procedures with no start transition3.9.10 (06/2022)Fix a bug in the Helper preprocessing function when handling aliases3.9.9 (06/2022)Fix a bug in the statechart rendering for the TASTE simulator3.9.8 (05/2022)Remove option to generate code with QGenRefactor backendsGenerate the ASN.1 datamodel together with the modelSimplify generated Makefile3.9.7 (05/2022)Simplify generated code when using dash history (nextstate -*)3.9.6 (05/2022)Detect attempts to write to FPAR IN parameters in procedure (read-only variables)3.9.5 (05/2022)More type checks when using mkstring to form octet strings3.9.4 (04/2022)More type checks in sequence fields3.9.3 (04/2022)More type checks3.9.2 (04/2022)Add type checks when using octet string literals3.9.1 (04/2022)Improve chr operator: add input range checkBugfix with octet string literals if they had an odd number of characters (add a 0 on the left)3.9.0 (04/2022)Upgrade to Qt6 (PySide6)3.8.1 (04/2022)Add chr operator to cast elements of OCTET STRING into unsigned integers3.8.0 (04/2022)Remove old simulator code (and feature) in favor of the TASTE simulator3.7.29 (03/2022)Support the "set" and "reset" names as identifiers3.7.28 (03/2022)Fix bug with error reporting in decision answers (caused segfault)3.7.27 (03/2022)Fix function call order in case of parallel states (major bugfix)Fix initialisation of deep nested/parallel statesAdd edge selection feature in statecharts3.7.26 (03/2022)change API of asn1dataModel (used by the TASTE simulator)3.7.25 (02/2022)Fix continuous signals in generated code3.7.24 (02/2022)Update statechart rendering when simulating parallel states3.7.23 (02/2022)Major performance boost when loading/checking the model3.7.22 (02/2022)Ada backend: optimize code for decision answers and state switch case3.7.21 (02/2022)Fix assignments of octet string literals in Ada backend3.7.20 (01/2022)Fix support of auto-generated -selection type for CHOICE interface3.7.19 (01/2022)Import SQL Alchemy interface when interfacing with DMT3.7.18 (10/2021)Support double quotes and escaped strings3.7.17 (10/2021)Fix continuous signals in instance of process types3.7.16 (10/2021)Support continuous signals in instance of process types3.7.15 (10/2021)When using NEWTYPEs, capitalize the type name for ASN.1 compliance3.7.14 (09/2021)Support indexes and field access in OUT parameters of procedure calls3.7.13 (08/2021)Minor alignment of the C backend (still incomplete: use Ada)3.7.12 (07/2021)Fix type checking in decisions with call procedures
(also prevented copy-pasting)3.7.11 (07/2021)Fix call of exit procedure in nested states with continuous signals3.7.10 (07/2021)Fix use of string literals in several contexts (return, procedure params)3.7.9 (07/2021)Store the proper text in the DECISION string contentPerformance boost3.7.8 (07/2021)Add support for the NOT operator on unsigned numbers3.7.7 (07/2021)Fix some bitwise operators when using unsigned numbers3.7.6 (07/2021)Add Right_Shift and Left_Shift operators applicable to unsigned integers3.7.5 (07/2021)Improve support SDL synonyms (synonym foo SomeIntType = 42;)3.7.4 (06/2021)Octet and bit strings can be indexedBetter support of octet and bit string literalsBitwise operators support for unsigned integers3.7.3 (06/2021)Fix support of continuous signals when using parallel statesSupport history state for parallel state (nextstate -*)Fix shape of continuous signals3.7.2 (06/2021)Add operator to return the observer state statusSupport internal operators with no parameters3.7.1 (06/2021)Support the declaration of error, success and ignore states for observers3.7.0 (06/2021)No more dependency on mono ; use ASN1SCC based on .NET Core 53.6.3 (06/2021)Fix parsing bug when there is no CIF data on a symbol that contains an errorUse 'Enum_Val to set an enumerated value from a number3.6.2 (06/2021)Observer early support detection of lost (unhandled) messages3.6.1 (06/2021)Support bit string literals assigned to integers (eg. dcl x SomeInt := '11'B;)Add range checking for bit string and hex string literals3.6.0 (05/2021)Support grouped answers in decisions (comma-separated answers)Support hex literals assigned to integers (eg. dcl x SomeInt := '2A'H;)3.5.9 (05/2021)Fix autocompletion of variable when fields are separated with dot3.5.8 (05/2021)Use --type-prefix AUTO when calling ASN1SCC to avoid naming conflicts3.5.7 (05/2021)Fix generation of statecharts3.5.6 (05/2021)observers: support renaming of continuous signals with parameters3.5.5 (04/2021)Fix support for single input/output expressions (with no message name)Fix graphical location of errors for undefined statesFix continuous signal evaluation in parallel states3.5.4 (04/2021)Fix code generation when no signals are defined (only exported procedures)Add renames clause (aliases) for input/output expressions3.5.3 (04/2021)Model checking observers: add support for parameters in input/output expressions3.5.2 (04/2021)Model checking observers: run only one transition per callSupport field names called "state"3.5.1 (04/2021)Support aliases:
dcl var type renames foo.bar.baz;3.5.0 (04/2021)Support Input/Output expressions for model checkers3.4.6 (04/2021)Introduce monitors to support model checking observers3.4.5 (04/2021)Fix bug affecting RPC3.4.4 (04/2021)After RPC call, execute corresponding transition in the state machine (if any)3.4.3 (03/2021)Ignore duplicate signal definition at system level (impacts only taste systems)3.4.2 (03/2021)Minor bugfix3.4.1 (03/2021)Fix support of remote synchronous calls3.4.0 (03/2021)Support exported/reference procedures (allowing remote synchronous calls)3.3.7 (03/2021)Support IA5String type3.3.7 (03/2021)Fix handling of context parameters in type/instances3.3.6 (12/2020)Minor bugfix with procedure parsing3.3.5 (11/2020)Improve link between error messages and graphical symbols3.3.4 (10/2020)Fix bug when drawing connections in decision branches3.3.3 (10/2020)Refactoring : Generate all data types in ASN.13.3.2 (10/2020)Fix reporting of semantic errors in procedures3.3.1 (09/2020)Fix issue with type synonymsUpdate installation procedureEnable pip3 installations from PyPI3.3.0 (08/2020)Save the state as an ASN.1 model instead of a native Ada typeAda backend basic support for "decision any"
**3.2.3 (09/2020)Fix type checks when a type inherits another type with different constraints**3.2.2 (09/2020)Fix a regression with legacy, non-kazoo taste systems, related to the import of check_queue symbol3.2.1 (07/2020)Fix issue with the "present" operatorMove the context declaration to the .adsAlways expose the Get_State function (returns char * to C)3.2.0 (07/2020)Add basic support for state type/instance3.1.2 (07/2020)Reinforce syntax error checking and reporting3.1.1 (07/2020)Reinforce syntax error checking and reportingDon't allow user escape a symbol syntax error: refocus text until fixed3.1.0 (06/2020)Add support for mkstring operator to transform an element into an array
mkstring (a, b, c) is in principle equivalent to ASN.1 Value Notation {a, b, c}
however ASN.1 value notation can't be used for a single indexed element : { foo(1) }
as this is an ambiguous syntax (it can be mixed with a record field, with value 1).
mkstring is the actual Z100 (SDL standard) syntax to be used3.0.9 (06/2020)Minor fixes in C backend related to case sensitivity3.0.8 (06/2020)Support ASN.1 integer constants with no range (plain x INTEGER ::= 5)Check that procedures with a return type are called only from TASKs3.0.7 (06/2020)Fix update of data dictionary windowFix unconstrained constants support3.0.6 (06/2020)Fix CONNECT symbol3.0.5 (06/2020)Add support to standard SDL syntaxx := CALL procedurein tasks3.0.4 (06/2020)Fix use of ASN.1 constants in decision branches3.0.3 (05/2020)Replace the unicode separator when flattening the model for code generationFix calls to the exit procedure in nested states3.0.2 (05/2020)Fix API change in Pyside23.0.1 (05/2020)Improve generated Makefile/gpr project file3.0.0 (12/2019)Port of Opengeode to Python3Use PySide2 instead of PySideAsn1scc module supports additional options2.1.5 (10/2019)Fix unicode issues2.1.4 (10/2019)Improve code generated for simulation2.1.3 (10/2019)Improve statechart rendering (in particular with nested states)2.1.2 (10/2019)Change import name case for set/reset of timer (for taste compatibility)2.1.1 (10/2019)Create cache folder if it was missing2.1.0 (09/2019)Reinforce type checks when using substrings and indexes, and
variable-length arrays. the latter can no longer be indexed on the
left side of an assignment, as the size cannot be set that way
The proper ways to set values of a variable-length array are:
1) ASN.1 value notation var := { a, b, c }
2) New assignment to replace a value using append statements:
var := var (0) // { b } // var (2, 3)2.0.44 (09/2019)Fix case issue when used combined with kazoo2.0.43 (05/2019)Better handling of path in generated gpr files2.0.42 (05/2019)Fix substring support (can now write var(1,2) := {1,2})2.0.41 (05/2019)Add --taste flag to target taste integration with kazoo2.0.40 (04/2019)Improve generated gpr file2.0.39 (04/2019)Fix append operator when using substringsFix unicode issue2.0.38 (04/2019)Support advanced "in" expressions (e.g. "someVar in {enum1, enum2}",
or "someVar in {{a 4, b false}, {a 1, b true}}"2.0.37 (04/2019)Support substrings on the left part of an expression (a(1,2) := ...)2.0.36 (04/2019)Fix unicode issue in Ada backend2.0.35 (04/2019)Add helper when editing text (update data dictionary selection)2.0.34 (04/2019)Relax range check for substringsSave/restore windows geometry when quitting/opening the toolMake datatypes fully visible in the data dictionary windowwrite[ln] operator now supports embedded newlines2.0.33 (04/2019)Fix unicode issue in Ada backend when using substrings2.0.32 (04/2019)Fix segfault and improve copy paste of nested states in branches2.0.31 (04/2019)Can cut/paste nested states (nested content was lost before)Can copy/paste and then rename states with nested content2.0.30 (03/2019)Fix bug when double clicking in an autocompletion box in text areas2.0.29 (03/2019)Fix range computations and modulo operator2.0.28 (03/2019)Fix saving issue on new non-taste models2.0.27 (03/2019)Fix type checking when using substrings2.0.26 (03/2019)minor bugfix with underscore/dash confusion2.0.25 (03/2019)fixed variable renaming bug in code generation for nested states2.0.24 (03/2019)Add choice_to_int operator2.0.23 (03/2019)Add basic support for NEWTYPE definitions2.0.22 (02/2019)Generate GPR files to ease the build using gprbuild2.0.21 (02/2019)Fix regression in simulation build script2.0.20 (02/2019)Added "val" operator to convert a number to an enumerant
usage: someVal := val (0, MyEnumeratedType)
with someVal of type MyEnumeratedType. Will return the first enumerant2.0.19 (01/2019)for CHOICE types variables can be declared with enumerated type
corresponding to the choice discriminant. CHOICE type is suffixed by
"-selection", and the "present" operator now returns type typeIf there is an enumerated type with the exact same content as the list
of CHOICE determinants, cast is possible using to_selector and to_enum2.0.18 (12/2018)Generate code in the current directory, not in the one of the .pr2.0.17 (09/2018)Fix type checking of the "power" operator2.0.16 (07/2018)Added interaction with system clipboard (basic for floating items)2.0.15 (07/2018)Fix many bugs in type checking system2.0.14 (06/2018)fix numerical checks when setting timer parameters2.0.13 (06/2018)Add taste-compatible cache mechanism when calling asn1scc2.0.12 (06/2018)Fix resolution of ASN.1 constants - values were not use properly when
a constant was referencing another constant (numerical operations only)2.0.11 (06/2018)Ada backend: fix choice determinant issue leading to CHOICE_NOT_FOUND bug2.0.10 (06/2018)Various fixes in statechart rendering, esp. from command line2.0.9 (06/2018)Add timers in statechartsFix statechart list of signals when tab is activated from a sub-diagram2.0.8 (05/2018)Minor bugfix2.0.7 (05/2018)Add option to generate code with QGen (C and Ada)Better reporting of model parsing error2.0.6 (05/2018)Several fixes with the Append operator when working on complex types2.0.5 (04/2018)Fix zoom-in on laptops keyboards with ctrl-shift-+2.0.4 (03/2018)Fix issue with variable prefix in nested states (in generated code)2.0.3 (03/2018)Optimize calls to asn1sccFix paste error when input symbol is selected2.0.2 (03/2018)Better support of ASN.1 constantsSupport timer when using process typeTrigger model check proposal on save only if not checked recentlyFix Statechart rendering (incl. with process type)Ada backend: when a branch is ignored, generate "null"2.0.1 (02/2018)Detect type mismatches when user mixes signed and unsigned variables2.0.0 (02/2018)V2 of Opengeode is based on ASN1SCC V4 and is not compatible with V3Main changes concern support of unsigned numbers in ASN.1 types1.5.44 (01/2018)Bugfix: Return error code when Ada generation failsTests: reorder arguments to asn1scc for v4 compatibility1.5.43 (01/2018)Add preliminary compatibility with asn1scc v41.5.42 (10/2017)Fix case issue with process typesRemove submodules1.5.40 (07/2017)Fix range check in arrays1.5.39 (07/2017)Minor fix in testcase Makefile1.5.38 (06/2017)Fix unicode issue in Ada backend1.5.37 (05/2017)Fix Ada backend bug with sequence of literals in nested states1.5.36 (05/2017)Fix Unicode issues in Ada backend1.5.35 (05/2017)Fix FOR LOOPS code generation1.5.34 (05/2017)Fix statechart message selection box1.5.33 (04/2017)Fix unicode issue with the simulation codeUse -fPIC when building the simulation library1.5.32 (04/2017)Unicode bugfixes in Ada backendBugfix with SEQUENCE OF literals in Ada backendVarious bugfixes with mixed int32/64 bits1.5.28 (03/2017)Added preliminary support for PROCESS TYPE and instances1.5.26 (02/2017)Statecharts can be configured to filter out signals1.5.25 (01/2017)Ada backend generates aliased context (used for model checking)1.5.24 (01/2017)PR file use better indentation for text areas (no line return)1.5.23 (12/2016)In simulation mode, bugfix in the declaration of the startup functionCode generator prepared for model checking1.5.22 (12/2016)Simulation function save/restore context fix1.5.21 (11/2016)Fix regression with test-math (import of external functions)Use monospace font in the HTML rendering of ASN.1 files1.5.20 (11/2016)Fix wrongly formatted error reporting in FOR loopsSupport SDL2010 dot field separator (variable.field,
while sdl92 only supported variable!field)Sequence of literals now support field selectors
(i.e. { variable.field } is now a valid statement)Support inner procedure call with return statement1.5.19 (11/2016)Fix integer cast in Ada1.5.18 (11/2016)Fix parsing of ASN.1 constants that use an anonymous inner type1.5.17 (11/2016)Fixed issue with initialization of generated code in state aggregations1.5.16 (11/2016)Fix minor indentation issue when saving1.5.15 (10/2016)Report incomplete startup transitions as errors in nested states1.5.14 (10/2016)Support named integers (requires asn1scc 3.3.04 or more recent)1.5.13 (10/2016)Better support of warningsFixed detection of CHOICE assignment errorsRaise error if process miss the start transitionRaise error in case of SEQUENCE OF type mismatch1.5.12 (09/2016)Detect duplicate declaration of procedures1.5.11 (09/2016)Allow semicolon in the declaration of procedures after RETURNS keyword1.5.10 (09/2016)readonly mode with more restrictions1.5.9 (09/2016)Added --readonly command line to restrict process modifications1.5.8 (09/2016)Bugfix - Ada backend failed when there were continuous signals in
nested states but none at root level (missing end if)Load fix when there is no dataviewAdditional type checks1.5.7 (09/2016)Bugfix - Update completion list of process symbolSort ASN.1 types in data dictionary1.5.6 (08/2016)vi interface supports historyvi interface for substitution can apply to the whole model (with g)refactoring function via vi interface (eg. %state,fromName,toName,)Fixed issue with rendering (coordinates of symbols could be wrong)Introduce data dictionary1.5.4 (08/2016)Various GUI improvements1.5.3 (07/2016):Ada backend fix: Continuous signals now handled in states
where input is not consumed1.5.2 (07/2016):Asn1scc API added to interface with DMT/asn2dataModelBetter statechart rendering (less distance between nodes)1.4.5 (07/2016):Context variable was not prefixed properlyCallback function for timers use 64bits integerRIs use prefix with unicode separation to avoid name clashes1.4.4 (06/2016)Minor bugfix in Ada backend to support typeless systems1.4.3 (06/2016)Add support for priority of continuous signals in Ada code generator1.4.2 (06/2016)Reload / render properly priority of continuous signals1.4.1 (06/2016)Continuous states can check the presence of messages in the input queue
to respect the SDL semanticsBugfix in Ada code generator on continuous states1.3.28 (06/2016)Excluded states (with *(statelist) ) were case sensitive1.3.27 (05/2016)Fix bug in Ada backend when using continuous signalsBetter handling of simulation script1.3.26 (05/2016)Fix parser issues with negative expressions1.3.25 (05/2016)Fix reporting of syntax errors in state aggregations1.3.22 (05/2016)Bug fix in range checks for division and subtractionOptimise loading when there are no CIF comments1.3.21 (05/2016)Complete support of optional fields
(check tests/regression/test-optionalfields)1.3.20 (05/2016)Improve simulator interface1.3.19 (04/2016)Various bugfixes with ternary operatorAdded demo "test-save" showing how to emulate the behaviour of the SAVE
symbolASN.1 types are shown with SDL-syntax (no hyphens)1.3.18 (04/2016)Add support for value notation of NULL typeRemove warning when accessing CHOICE fields1.3.17 (04/2016)Add support for value notation of empty SEQUENCEs ("{}")1.3.16 (03/2016)Bugfix in testing aggregation states in the GUI1.3.15 (03/2016)Bugfix in Ada backend when a state aggregation contained only empty
states (directly returning states).1.3.14Minor bugfix with command line handling1.3.13Bugfix in rendering of Continuous signals1.3.12Render properly parameterless procedures that are declared in the .pr
file but without a textboxWhen going to parent scene, fixed rendering issue1.3.11Parser is more tolerant to incomplete systems1.3.9/10 (01/2016)Checker verifies that decision coverage is complete on Real and Boolean
typesF3 generates Ada code1.3.8 (01/2016)Fix logging when LLVM is not installed1.3.7 (12/2015)Added icon to use Continuous Signals from the GUI1.3.6 (11/2015)Support external procedures having a return statement
this allows to import math functions from the libmath without having
to provide manual code. see test-math1.3.5 (11/2015)Better support for continuous signals1.3.4 (11/2015)Early support for continuous signalsRegression issue fixed (test-nocif2)1.3.3 (11/2015)Better support of platform-dependent screen resolution and dpiMinor fixes in statechart scenes (no negative coordinates)1.3.1 (11/2015)Support for State Aggregations (parallel states)Improved statechart rendering1.2.10 (10/2015)Better support of renamePolicyBetter handling of models without CIF coordinatesMinor bug fixesForloop syntax error handled correctly when using rangesupport Hex and bit string literals when working with OCTET STRINGsupport OUT keyword for procedure FPAR1.2.4 (07/2015)Use version 3.2.x of the ASN1SCC compiler with new -renamePolicy flagImprove robustness1.1.1 (07/2015)Strongly report syntax errors with symbol location and warning if user
tries to save a model with syntax errors1.1.0 (07/2015)Write/Writeln procedure support enumerated types1.0.1 (06/2015)Bugfix: use mono when calling asn1.exe by default (needed redhat-based1.0.0 (06/2015)Bugfixes and minor improvementsPython API / Simulator function (coupled with other TASTE components)1.0RC (10/2014)Release candidate Version 1Allow standalone systems (made of one process)Major refactoring of parser and Ada backendMany bugfixes and improvementsFirst version of LLVM backend0.994 (07/2014)Maintenance release, minor fixes0.993 (07/2014)Parser bugfixesBetter support for nested statesAda generator improvementsSupport for unicodeIndentation of PR codeCopy-paste of procedures and nested statesImproved regression testing0.99 (04/2014)Refactoring of the backend engine, now using singledispatchSupport of hierarchical statesMinor bugfixes0.98Added support for FOR loops
In a task, use "for x in range([start], stop, [range]): ... endfor"
or "for x in sequenceOfvariable: ... endfor"Default symbol size is smallerVarious minor bugfixes0.97added support for default value when declaring a variable
e.g. DCL myVar myType ::= { x 5, y 2 };
default value must be a ground expression