README.md 17.7 KB
Newer Older
Maxime Perrotin's avatar
Maxime Perrotin committed
1 2 3 4 5 6 7 8 9 10 11 12 13
OpenGEODE
=========

OpenGEODE is a tiny 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 ASN.1 "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!

Visit http://sdl-forum.org for more information about SDL.
14 15 16 17 18 19 20 21 22 23
Visit http://www.pragmadev.com to get a full-featured commercial SDL tool and support


![alt tag](icons/opengeode-screenshot.png)


Features
--------

- Graphical editor of SDL processes and procedures.
Maxime Perrotin's avatar
Maxime Perrotin committed
24 25 26
- SDL2010 features: state composition and state aggregation
- Works on pure PR+CIF files (textual SDL notation)
- Supports ASN.1 data types - using ESA Space Certified compiler (www.github.com/ttsiodras/asn1scc)
Maxime Perrotin's avatar
Maxime Perrotin committed
27
- Generates Ada code
dbarbera's avatar
dbarbera committed
28
- Automatic conversion to Statechart diagrams
29
- Save the complete or parts of the model to PNG/SVG/PDF files
dbarbera's avatar
dbarbera committed
30 31 32 33
- Hyperlinks (link a symbol content to any external document or web page)
- Context-dependent text auto-completion
- Syntax highlighting
- Undo/Redo, Copy-Paste
34
- (Limited) VIM mode - You can use :wq or :%s,search,replace,g, and /search pattern
Maxime Perrotin's avatar
Maxime Perrotin committed
35
- Python API to parse and render SDL from other Python modules
Maxime Perrotin's avatar
Maxime Perrotin committed
36 37 38 39

Installation
============

40 41 42 43
On Windows, download the binary from [here](http://download.tuxfamily.org/taste/opengeode_windows.zip)

Uzip it and run opengeode.exe. It contains everything without any other external dependencies.

44 45 46
Note: the Windows binary may not be up to date.. it is created mostly as a proof of concept.


47 48
Linux Pre-requisites
--------------------
Maxime Perrotin's avatar
Maxime Perrotin committed
49

Maxime Perrotin's avatar
Maxime Perrotin committed
50
To install OpenGEODE on Linux you need to install some system-level dependencies:
Maxime Perrotin's avatar
Maxime Perrotin committed
51

Maxime Perrotin's avatar
Maxime Perrotin committed
52 53 54
- Python 2.7 with pip (installed by default on nearly all Linux distributions)
- Pyside
- Graphviz
55
- [ASN1SCC V4](https://github.com/ttsiodras/asn1scc)
Maxime Perrotin's avatar
Maxime Perrotin committed
56 57 58
- GNAT

And optionally llvm and llvmpy
Maxime Perrotin's avatar
Maxime Perrotin committed
59

Maxime Perrotin's avatar
Maxime Perrotin committed
60
On Debian, Ubuntu, and probably other distributions:
Maxime Perrotin's avatar
Maxime Perrotin committed
61

62
```bash
Maxime Perrotin's avatar
Maxime Perrotin committed
63
$ sudo apt install pkg-config python-pyside pyside-tools graphviz python-ply \
Maxime Perrotin's avatar
Maxime Perrotin committed
64
                       graphviz-dev libgraphviz-dev  python-pip gnat \
Maxime Perrotin's avatar
Maxime Perrotin committed
65 66 67 68 69
                       libmono-system-runtime4.0-cil libmono-corlib4.0-cil \
                       libmono-system-runtime-serialization-formatters-soap4.0-cil \
                       libmono-system-web4.0-cil libmono-system-xml4.0-cil \
                       libmono-system4.0-cil mono-runtime libmono-system-numerics4.0-cil \
                       libmono-system-data-linq4.0-cil libmono-corlib2.0-cil libmono-system2.0-cil
70
```
Maxime Perrotin's avatar
Maxime Perrotin committed
71

Maxime Perrotin's avatar
Maxime Perrotin committed
72
Some of these packages may be more recent on your distribution.
Maxime Perrotin's avatar
Maxime Perrotin committed
73

74 75 76
To install the ASN.1 compiler, you must get the latest binary release of the version 4 from [here](https://github.com/ttsiodras/asn1scc/releases)

Then run (possibly as root):
Maxime Perrotin's avatar
Maxime Perrotin committed
77

78
```bash
Maxime Perrotin's avatar
Maxime Perrotin committed
79
$ cd /opt
80
$ tar xvf asn1scc-bin-4.xx.tar.bz2    # Use the file name version you got
Maxime Perrotin's avatar
Maxime Perrotin committed
81
$ echo 'export PATH=$PATH:/opt/asn1scc' >> ~/.bashrc
82
```
Maxime Perrotin's avatar
Maxime Perrotin committed
83

Maxime Perrotin's avatar
Maxime Perrotin committed
84
Open a new terminal and check that it works:
Maxime Perrotin's avatar
Maxime Perrotin committed
85

Maxime Perrotin's avatar
Maxime Perrotin committed
86
```bash
Maxime Perrotin's avatar
Maxime Perrotin committed
87
$ mono /opt/asn1scc/asn1.exe
Maxime Perrotin's avatar
Maxime Perrotin committed
88
```
Maxime Perrotin's avatar
Maxime Perrotin committed
89

Maxime Perrotin's avatar
Maxime Perrotin committed
90 91
OpenGEODE installation
----------------------
Maxime Perrotin's avatar
Maxime Perrotin committed
92

93
Make sure all dependencies are installed. In particular make sure you are using the version 4 of the ASN1SCC compiler.
Maxime Perrotin's avatar
Maxime Perrotin committed
94

Maxime Perrotin's avatar
Maxime Perrotin committed
95

96
```bash
TASTE User's avatar
TASTE User committed
97
$ git clone https://github.com/esa/opengeode.git
dbarbera's avatar
dbarbera committed
98
```
Maxime Perrotin's avatar
Maxime Perrotin committed
99

100
And install it:
Maxime Perrotin's avatar
Maxime Perrotin committed
101

102
```bash
103
$ cd opengeode
104
$ make full-install
105
```
Maxime Perrotin's avatar
Maxime Perrotin committed
106

Maxime Perrotin's avatar
Maxime Perrotin committed
107

Maxime Perrotin's avatar
Maxime Perrotin committed
108 109 110
Information and contact
=======================

Maxime Perrotin's avatar
Maxime Perrotin committed
111
OpenGEODE is part of the [TASTE project](http://taste.tuxfamily.org)
Maxime Perrotin's avatar
Maxime Perrotin committed
112

Maxime Perrotin's avatar
Maxime Perrotin committed
113
For additional information please contact:
Maxime Perrotin's avatar
Maxime Perrotin committed
114 115
maxime (dot) perrotin (at) esa (dot) int

Maxime Perrotin's avatar
Maxime Perrotin committed
116

117
The LLVM backend was designed and implemented by Diego Barbera during the ESA
Maxime Perrotin's avatar
Maxime Perrotin committed
118
Summer of Code 2014 (It is unfortunately unmaintained now and does not support all features of the tool).
119
Some parts implemented by Laurent Meyer (native SDL type support in the parser)
Maxime Perrotin's avatar
Maxime Perrotin committed
120

Maxime Perrotin's avatar
Maxime Perrotin committed
121 122 123

The ASN.1 compiler (ASN1Scc) that OpenGEODE is based on was
developed by George Mamais and Thanassis Tsiodras for the European
124
Space Agency. Information at https://github.com/ttsiodras/asn1scc
Maxime Perrotin's avatar
Maxime Perrotin committed
125 126 127 128 129

Licence
=======

License is LGPL (see file LICENSE)
Maxime Perrotin's avatar
Maxime Perrotin committed
130 131
There is no runtime, and the generated code is not subject to any license.

Maxime Perrotin's avatar
Maxime Perrotin committed
132
The fonts are the fonts from Ubuntu, check licence in file FONT-LICENSE.TXT
Maxime Perrotin's avatar
Maxime Perrotin committed
133
The background pattern was downloaded from www.subtlepatterns.com
Maxime Perrotin's avatar
Maxime Perrotin committed
134 135 136

Changelog
=========
Maxime Perrotin's avatar
Maxime Perrotin committed
137

138 139 140 141
2.0.43 (05/2019)
    - Better handling of path in generated gpr files

2.0.42 (05/2019)
142 143
    - Fix substring support (can now write var(1,2) := {1,2})

144 145 146
2.0.41 (05/2019)
    - Add --taste flag to target taste integration with kazoo

Maxime Perrotin's avatar
Maxime Perrotin committed
147 148 149
2.0.40 (04/2019)
    - Improve generated gpr file

Maxime Perrotin's avatar
Maxime Perrotin committed
150 151 152 153
2.0.39 (04/2019)
    - Fix append operator when using substrings
    - Fix unicode issue

154 155 156 157
2.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}}"

Maxime Perrotin's avatar
Maxime Perrotin committed
158 159 160
2.0.37 (04/2019)
    - Support substrings on the left part of an expression (a(1,2) := ...)

Maxime Perrotin's avatar
Maxime Perrotin committed
161 162 163
2.0.36 (04/2019)
    - Fix unicode issue in Ada backend

Maxime Perrotin's avatar
Maxime Perrotin committed
164 165 166
2.0.35 (04/2019)
    - Add helper when editing text (update data dictionary selection)

Maxime Perrotin's avatar
Maxime Perrotin committed
167 168
2.0.34 (04/2019)
    - Relax range check for substrings
Maxime Perrotin's avatar
Maxime Perrotin committed
169 170
    - Save/restore windows geometry when quitting/opening the tool
    - Make datatypes fully visible in the data dictionary window
171
    - write[ln] operator now supports embedded newlines
Maxime Perrotin's avatar
Maxime Perrotin committed
172

Maxime Perrotin's avatar
Maxime Perrotin committed
173 174 175
2.0.33 (04/2019)
    - Fix unicode issue in Ada backend when using substrings

Maxime Perrotin's avatar
Maxime Perrotin committed
176 177 178
2.0.32 (04/2019)
    - Fix segfault and improve copy paste of nested states in branches

Maxime Perrotin's avatar
Maxime Perrotin committed
179 180 181 182
2.0.31 (04/2019)
    - Can cut/paste nested states (nested content was lost before)
    - Can copy/paste and then rename states with nested content

183 184 185
2.0.30 (03/2019)
    - Fix bug when double clicking in an autocompletion box in text areas

186 187 188
2.0.29 (03/2019)
    - Fix range computations and modulo operator

Maxime Perrotin's avatar
Maxime Perrotin committed
189 190 191
2.0.28 (03/2019)
    - Fix saving issue on new non-taste models

Maxime Perrotin's avatar
Maxime Perrotin committed
192 193 194
2.0.27 (03/2019)
    - Fix type checking when using substrings

Maxime Perrotin's avatar
Maxime Perrotin committed
195 196 197
2.0.26 (03/2019)
    - minor bugfix with underscore/dash confusion

198 199 200
2.0.25 (03/2019)
    - fixed variable renaming bug in code generation for nested states

201 202 203
2.0.24 (03/2019)
    - Add choice_to_int operator

Maxime Perrotin's avatar
Maxime Perrotin committed
204 205 206
2.0.23 (03/2019)
    - Add basic support for NEWTYPE definitions

Maxime Perrotin's avatar
Maxime Perrotin committed
207 208 209
2.0.22 (02/2019)
    - Generate GPR files to ease the build using gprbuild

Maxime Perrotin's avatar
Maxime Perrotin committed
210 211 212
2.0.21 (02/2019)
    - Fix regression in simulation build script

213 214 215 216 217
2.0.20 (02/2019)
    - Added "val" operator to convert a number to an enumerant
      useage: someVal := val (0, MyEnumeratedType)
      with someVal of type MyEnumeratedType. Will return the first enumerant

Maxime Perrotin's avatar
Maxime Perrotin committed
218 219 220 221
2.0.19 (01/2019)
    - for CHOICE types variables can be declared with enumerated type
      corresponding to the choice distriminant. CHOICE type is suffixed by
      "-selection", and the "present" operator now returns type type
Maxime Perrotin's avatar
Maxime Perrotin committed
222 223
    - If there is an enumerated type with the exact same content as the list
      of CHOICE determinants, cast is possible using to_selector and to_enum
Maxime Perrotin's avatar
Maxime Perrotin committed
224

225 226 227
2.0.18 (12/2018)
    - Generate code in the current directory, not in the one of the .pr

228 229 230
2.0.17 (09/2018)
    - Fix type checking of the "power" operator

231 232 233
2.0.16 (07/2018)
    - Added interaction with system clipboard (basic for floating items)

Maxime Perrotin's avatar
Maxime Perrotin committed
234 235 236
2.0.15 (07/2018)
    - Fix many bugs in type checking system

237 238 239
2.0.14 (06/2018)
    - fix numerical checks when setting timer parameters
  
240 241 242
2.0.13 (06/2018)
    - Add taste-compatible cache mechanism when calling asn1scc
  
243 244 245 246
2.0.12 (06/2018)
    - Fix resolution of ASN.1 constants - values were not use propertly when
      a constant was referencing another constant (numerical operations only)

247 248 249
2.0.11 (06/2018)
    - Ada backend: fix choice determinant issue leading to CHOICE_NOT_FOUND bug

250 251 252
2.0.10 (06/2018)
    - Various fixes in statechart rendering, esp. from command line

253 254 255 256
2.0.9 (06/2018)
    - Add timers in statecharts
    - Fix statechart list of signals when tab is activated from a sub-diagram

Maxime Perrotin's avatar
Maxime Perrotin committed
257
2.0.8 (05/2018)
258 259
    - Minor bugfix

Maxime Perrotin's avatar
Maxime Perrotin committed
260 261 262
2.0.7 (05/2018)
    - Add option to generate code with QGen (C and Ada)
    - Better reporting of model parsing error
263

Maxime Perrotin's avatar
Maxime Perrotin committed
264 265 266
2.0.6 (05/2018)
    - Several fixes with the Append operator when working on complex types

taste's avatar
taste committed
267 268 269
2.0.5 (04/2018)
    - Fix zoom-in on laptops keyboards with ctrl-shift-+

270 271 272
2.0.4 (03/2018)
    - Fix issue with variable prefix in nested states (in generated code)

Maxime Perrotin's avatar
Maxime Perrotin committed
273 274
2.0.3 (03/2018)
    - Optimize calls to asn1scc
275
    - Fix paste error when input symbol is selected
Maxime Perrotin's avatar
Maxime Perrotin committed
276

277 278 279 280
2.0.2 (03/2018)
    - Better support of ASN.1 constants
    - Support timer when using process type
    - Trigger model check proposal on save only if not checked recently
Maxime Perrotin's avatar
Maxime Perrotin committed
281
    - Fix Statechart rendering (incl. with process type)
282
    - Ada backend: when a branch is ignored, generate "null"
283

Maxime Perrotin's avatar
Maxime Perrotin committed
284 285 286
2.0.1 (02/2018)
    - Detect type mismatches when user mixes signed and unsigned variables

287 288 289 290
2.0.0 (02/2018)
    - V2 of Opengeode is based on ASN1SCC V4 and is not compatible with V3
    - Main changes concern support of unsigned numbers in ASN.1 types

Maxime Perrotin's avatar
Maxime Perrotin committed
291 292 293 294
1.5.44 (01/2018)
    - Bugfix: Return error code when Ada generation fails
    - Tests: reorder arguments to asn1scc for v4 compatibility

295 296 297
1.5.43 (01/2018)
    - Add preliminary compatibility with asn1scc v4

TASTE User's avatar
TASTE User committed
298
1.5.42 (10/2017)
299
    - Fix case issue with process types
TASTE User's avatar
TASTE User committed
300
    - Remove submodules
301

Maxime Perrotin's avatar
Maxime Perrotin committed
302 303 304
1.5.40 (07/2017)
    - Fix range check in arrays

305 306 307
1.5.39 (07/2017)
    - Minor fix in testcase Makefile

Maxime Perrotin's avatar
Maxime Perrotin committed
308 309 310
1.5.38 (06/2017)
    - Fix unicode issue in Ada backend

311 312 313
1.5.37 (05/2017)
    - Fix Ada backend bug with sequence of literals in nested states

Maxime Perrotin's avatar
Maxime Perrotin committed
314 315 316
1.5.36 (05/2017)
    - Fix Unicode issues in Ada backend

Maxime Perrotin's avatar
Maxime Perrotin committed
317 318 319
1.5.35 (05/2017)
    - Fix FOR LOOPS code generation

320 321 322
1.5.34 (05/2017)
    - Fix statechart message selection box

323 324 325 326
1.5.33 (04/2017)
    - Fix unicode issue with the simulation code
    - Use -fPIC when building the simulation library

327
1.5.32 (04/2017)
Maxime Perrotin's avatar
Maxime Perrotin committed
328 329
    - Unicode bugfixes in Ada backend
    - Bugfix with SEQUENCE OF literals in Ada backend
330
    - Various bugfixes with mixed int32/64 bits
Maxime Perrotin's avatar
Maxime Perrotin committed
331

332
1.5.28 (03/2017)
Maxime Perrotin's avatar
Maxime Perrotin committed
333 334
    - Added preliminary support for PROCESS TYPE and instances

Maxime Perrotin's avatar
Maxime Perrotin committed
335 336 337
1.5.26 (02/2017)
    - Statecharts can be configured to filter out signals

338 339 340
1.5.25 (01/2017)
    - Ada backend generates aliased context (used for model checking)

341 342 343
1.5.24 (01/2017)
    - PR file use better indentation for text areas (no line return)

Maxime Perrotin's avatar
Maxime Perrotin committed
344
1.5.23 (12/2016)
345
    - In simulation mode, bugfix in the declaration of the startup function
Maxime Perrotin's avatar
Maxime Perrotin committed
346
    - Code generator prepared for model checking
347

348 349 350
1.5.22 (12/2016)
    - Simulation function save/restore context fix

Maxime Perrotin's avatar
Maxime Perrotin committed
351 352 353 354
1.5.21 (11/2016)
    - Fix regression with test-math (import of external functions)
    - Use monospace font in the HTML rendering of ASN.1 files

355 356
1.5.20 (11/2016)
    - Fix wrongly formatted error reporting in FOR loops
357 358
    - Support SDL2010 dot field separator (variable.field,
      while sdl92 only supported variable!field)
359 360
    - Sequence of literals now support field selectors
      (i.e. { variable.field } is now a valid statement)
361
    - Support inner procedure call with return statement
362

363 364 365
1.5.19 (11/2016)
    - Fix integer cast in Ada

366 367 368 369
1.5.18 (11/2016)
    - Fix parsing of ASN.1 constants that use an annonymous inner type

1.5.17 (11/2016)
Maxime Perrotin's avatar
Maxime Perrotin committed
370 371
    - Fixed issue with initialization of generated code in state aggregations

Maxime Perrotin's avatar
Maxime Perrotin committed
372 373
1.5.16 (11/2016)
    - Fix minor indentation issue when saving
Maxime Perrotin's avatar
Maxime Perrotin committed
374

375 376 377
1.5.15 (10/2016)
    - Report incomplete startup transitions as errors in nested states

Maxime Perrotin's avatar
Maxime Perrotin committed
378 379 380
1.5.14 (10/2016)
    - Support named integers (requires asn1scc 3.3.04 or more recent)

381 382 383
1.5.13 (10/2016)
    - Better support of warnings
    - Fixed detection of CHOICE assignment erros
384
    - Raise error if process miss the start transition
Maxime Perrotin's avatar
Maxime Perrotin committed
385
    - Raise error in case of SEQUENCE OF type mismatch
386

Maxime Perrotin's avatar
Maxime Perrotin committed
387 388 389
1.5.12 (09/2016)
    - Detect duplicate declaration of procedures

390 391 392
1.5.11 (09/2016)
    - Allow semicolon in the declaration of procedures after RETURNS keyword

393 394 395
1.5.10 (09/2016)
    - readonly mode with more restrictions

396 397 398
1.5.9 (09/2016)
    - Added --readonly command line to restrict process modifications

399 400 401 402
1.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 dataview
403 404
    - Additional type checks

Maxime Perrotin's avatar
Maxime Perrotin committed
405 406 407 408
1.5.7 (09/2016)
    - Bugfix - Update completion list of process symbol
    - Sort ASN.1 types in data dictionary

Maxime Perrotin's avatar
Maxime Perrotin committed
409
1.5.6 (08/2016)
Maxime Perrotin's avatar
Maxime Perrotin committed
410 411 412
    - vi interface supports history
    - vi interface for substitution can apply to the whole model (with g)
    - refactoring function via vi interface (eg. %state,fromName,toName,)
Maxime Perrotin's avatar
Maxime Perrotin committed
413
    - Fixed issue with rendering (coordinates of symbols could be wrong)
Maxime Perrotin's avatar
Maxime Perrotin committed
414
    - Introduce data dictionary
Maxime Perrotin's avatar
Maxime Perrotin committed
415

Maxime Perrotin's avatar
Maxime Perrotin committed
416 417 418
1.5.4 (08/2016)
    - Various GUI improvements

419
1.5.3 (07/2016):
Maxime Perrotin's avatar
Maxime Perrotin committed
420 421
    - Ada backend fix: Continous signals now handled in states
      where input is not consumed
422

Maxime Perrotin's avatar
Maxime Perrotin committed
423
1.5.2 (07/2016):
424
    - Asn1scc API added to interface with DMT/asn2dataModel
Maxime Perrotin's avatar
Maxime Perrotin committed
425
    - Better statechart rendering (less distance between nodes)
426

Maxime Perrotin's avatar
Maxime Perrotin committed
427
1.4.5 (07/2016):
428 429
    - Context variable was not prefixed properly
    - Callback function for timers use 64bits integer
Maxime Perrotin's avatar
Maxime Perrotin committed
430 431
    - RIs use prefix with unicode separation to avoid name clashes

432

433 434 435
1.4.4 (06/2016)
    - Minor bugfix in Ada backend to support typeless systems

436 437 438
1.4.3 (06/2016)
    - Add support for priority of continuous signals in Ada code generator

439 440 441
1.4.2 (06/2016)
    - Reload / render properly priority of continuous signals

442
1.4.1 (06/2016)
443 444
    - Continuous states can check the presence of messages in the input queue
      to respect the SDL semantics
445
    - Bugfix in Ada code generator on continuous states
446

Maxime Perrotin's avatar
Maxime Perrotin committed
447 448 449
1.3.28 (06/2016)
    - Excluded states (with *(statelist) ) were case sensitive

Maxime Perrotin's avatar
Maxime Perrotin committed
450 451 452 453
1.3.27 (05/2016)
    - Fix bug in Ada backend when using continous signals
    - Better handling of simulation script

454 455 456
1.3.26 (05/2016)
    - Fix parser issues with negative expressions

Maxime Perrotin's avatar
Maxime Perrotin committed
457
1.3.25 (05/2016)
458 459
    - Fix reporting of syntax errors in state aggregations

Maxime Perrotin's avatar
Maxime Perrotin committed
460
1.3.22 (05/2016)
461
    - Bug fix in range checks for division and subtraction
462
    - Optimise loading when there are no CIF comments
Maxime Perrotin's avatar
Maxime Perrotin committed
463

Maxime Perrotin's avatar
Maxime Perrotin committed
464 465 466 467
1.3.21 (05/2016)
    - Complete support of optional fields
      (check tests/regression/test-optionalfields)

Maxime Perrotin's avatar
Maxime Perrotin committed
468 469 470
1.3.20 (05/2016)
    - Improve simulator interface

Maxime Perrotin's avatar
Maxime Perrotin committed
471 472 473 474
1.3.19 (04/2016)
    - Various bugfixes with ternary operator
    - Added demo "test-save" showing how to emulate the behaviour of the SAVE
      symbol
Maxime Perrotin's avatar
Maxime Perrotin committed
475
    - ASN.1 types are shown with SDL-syntax (no hyphens)
Maxime Perrotin's avatar
Maxime Perrotin committed
476

477 478
1.3.18 (04/2016)
    - Add support for value notation of NULL type
479
    - Remove warning when accessing CHOICE fields
480

481 482 483
1.3.17 (04/2016)
    - Add support for value notation of empty SEQUENCEs ("{}")

Maxime Perrotin's avatar
Maxime Perrotin committed
484 485 486
1.3.16 (03/2016)
    - Bugfix in testing aggregation states in the GUI

Maxime Perrotin's avatar
Maxime Perrotin committed
487 488 489 490
1.3.15 (03/2016)
    - Bugfix in Ada backend when a state aggregation contained only empty
      states (directly returning states).

491 492 493
1.3.14
    - Minor bugfix with command line handling

494 495 496
1.3.13
    - Bugfix in rendering of Continuous signals

Maxime Perrotin's avatar
Maxime Perrotin committed
497 498 499
1.3.12
    - Render properly parameterless procedures that are declared in the .pr
      file but without a textbox
500
    - When going to parent scene, fixed rendering issue
Maxime Perrotin's avatar
Maxime Perrotin committed
501

Maxime Perrotin's avatar
Maxime Perrotin committed
502 503 504
1.3.11
    - Parser is more tolerant to incomplete systems

Maxime Perrotin's avatar
Maxime Perrotin committed
505
1.3.9/10 (01/2016)
Maxime Perrotin's avatar
Maxime Perrotin committed
506 507
    - Checker verifies that decision coverage is complete on Real and Boolean
      types
Maxime Perrotin's avatar
Maxime Perrotin committed
508
    - F3 generates Ada code
Maxime Perrotin's avatar
Maxime Perrotin committed
509

510 511 512
1.3.8 (01/2016)
    - Fix logging when LLVM is not installed

Maxime Perrotin's avatar
Maxime Perrotin committed
513 514 515
1.3.7 (12/2015)
    - Added icon to use Continuous Signals from the GUI

516 517 518 519 520
1.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-math

521 522 523
1.3.5 (11/2015)
     - Better support for continous signals

Maxime Perrotin's avatar
Maxime Perrotin committed
524 525 526 527
1.3.4 (11/2015)
     - Early support for continous signals
     - Regression issue fixed (test-nocif2)

Maxime Perrotin's avatar
Maxime Perrotin committed
528
1.3.3 (11/2015)
Maxime Perrotin's avatar
Maxime Perrotin committed
529
     - Better support of platform-dependent screen resolution and dpi
Maxime Perrotin's avatar
Maxime Perrotin committed
530
     - Minor fixes in statechart scenes (no negative coordinates)
Maxime Perrotin's avatar
Maxime Perrotin committed
531

Maxime Perrotin's avatar
Maxime Perrotin committed
532
1.3.1 (11/2015)
533
     - Support for State Aggregations (parallel states)
Maxime Perrotin's avatar
Maxime Perrotin committed
534
     - Improved statechart rendering
535

536
1.2.10 (10/2015)
Maxime Perrotin's avatar
Maxime Perrotin committed
537 538 539
     - Better support of renamePolicy
     - Better handling of models without CIF coordinates
     - Minor bug fixes
540
     - Forloop syntax error handled correctly when using range
541
     - support Hex and bit string literals when working with OCTET STRING
542
     - support OUT keyword for procedure FPAR
Maxime Perrotin's avatar
Maxime Perrotin committed
543

Maxime Perrotin's avatar
Maxime Perrotin committed
544
1.2.4 (07/2015)
545 546 547 548
     - Use version 3.2.x of the ASN1SCC compiler with new -renamePolicy flag
     - Improve robustness

1.1.1 (07/2015)
Maxime Perrotin's avatar
Maxime Perrotin committed
549 550 551
     - Strongly report syntax errors with symbol location and warning if user
       tries to save a model with syntax errors

552 553 554
1.1.0 (07/2015)
     - Write/Writeln procedure support enumerated types

Maxime Perrotin's avatar
Maxime Perrotin committed
555 556 557 558
1.0.1 (06/2015)
     - Bugfix: use mono when calling asn1.exe by default (needed redhat-based
                                                          distros)

Maxime Perrotin's avatar
Maxime Perrotin committed
559 560 561 562
1.0.0 (06/2015)
     - Bugfixes and minor improvements
     - Python API / Simulator function (coupled with other TASTE components)

563
1.0RC (10/2014)
564 565 566 567 568 569
     - Release candidate Version 1
     - Allow standalone systems (made of one process)
     - Major refactoring of parser and Ada backend
     - Many bugfixes and improvements
     - First version of LLVM backend

570 571 572
0.994 (07/2014)
     - Maintenance release, minor fixes

Maxime Perrotin's avatar
Maxime Perrotin committed
573 574 575 576 577 578 579 580 581
0.993 (07/2014)
     - Parser bugfixes
     - Better support for nested states
     - Ada generator improvements
     - Support for unicode
     - Indentation of PR code
     - Copy-paste of procedures and nested states
     - Improved regression testing

582
0.99 (04/2014)
Maxime Perrotin's avatar
Maxime Perrotin committed
583
     - Refactoring of the backend engine, now using singledispatch
584
     - Support of hierachical states
Maxime Perrotin's avatar
Maxime Perrotin committed
585 586
     - Minor bugfixes

587 588

0.98
Maxime Perrotin's avatar
Maxime Perrotin committed
589 590 591 592 593
     - Added 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 smaller
     - Various minor bugfixes
594 595 596


0.97
Maxime Perrotin's avatar
Maxime Perrotin committed
597 598 599 600
     - added support for default value when declaring a variable
       e.g. DCL myVar myType ::= { x 5, y 2 };
       default value must be a ground expression