README.md 17.6 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
2.0.41 (05/2019)
    - Add --taste flag to target taste integration with kazoo

Maxime Perrotin's avatar
Maxime Perrotin committed
141
142
143
2.0.40 (04/2019)
    - Improve generated gpr file

Maxime Perrotin's avatar
Maxime Perrotin committed
144
145
146
147
2.0.39 (04/2019)
    - Fix append operator when using substrings
    - Fix unicode issue

148
149
150
151
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
152
153
154
2.0.37 (04/2019)
    - Support substrings on the left part of an expression (a(1,2) := ...)

Maxime Perrotin's avatar
Maxime Perrotin committed
155
156
157
2.0.36 (04/2019)
    - Fix unicode issue in Ada backend

Maxime Perrotin's avatar
Maxime Perrotin committed
158
159
160
2.0.35 (04/2019)
    - Add helper when editing text (update data dictionary selection)

Maxime Perrotin's avatar
Maxime Perrotin committed
161
162
2.0.34 (04/2019)
    - Relax range check for substrings
Maxime Perrotin's avatar
Maxime Perrotin committed
163
164
    - Save/restore windows geometry when quitting/opening the tool
    - Make datatypes fully visible in the data dictionary window
165
    - write[ln] operator now supports embedded newlines
Maxime Perrotin's avatar
Maxime Perrotin committed
166

Maxime Perrotin's avatar
Maxime Perrotin committed
167
168
169
2.0.33 (04/2019)
    - Fix unicode issue in Ada backend when using substrings

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

Maxime Perrotin's avatar
Maxime Perrotin committed
173
174
175
176
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

177
178
179
2.0.30 (03/2019)
    - Fix bug when double clicking in an autocompletion box in text areas

180
181
182
2.0.29 (03/2019)
    - Fix range computations and modulo operator

Maxime Perrotin's avatar
Maxime Perrotin committed
183
184
185
2.0.28 (03/2019)
    - Fix saving issue on new non-taste models

Maxime Perrotin's avatar
Maxime Perrotin committed
186
187
188
2.0.27 (03/2019)
    - Fix type checking when using substrings

Maxime Perrotin's avatar
Maxime Perrotin committed
189
190
191
2.0.26 (03/2019)
    - minor bugfix with underscore/dash confusion

192
193
194
2.0.25 (03/2019)
    - fixed variable renaming bug in code generation for nested states

195
196
197
2.0.24 (03/2019)
    - Add choice_to_int operator

Maxime Perrotin's avatar
Maxime Perrotin committed
198
199
200
2.0.23 (03/2019)
    - Add basic support for NEWTYPE definitions

Maxime Perrotin's avatar
Maxime Perrotin committed
201
202
203
2.0.22 (02/2019)
    - Generate GPR files to ease the build using gprbuild

Maxime Perrotin's avatar
Maxime Perrotin committed
204
205
206
2.0.21 (02/2019)
    - Fix regression in simulation build script

207
208
209
210
211
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
212
213
214
215
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
216
217
    - 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
218

219
220
221
2.0.18 (12/2018)
    - Generate code in the current directory, not in the one of the .pr

222
223
224
2.0.17 (09/2018)
    - Fix type checking of the "power" operator

225
226
227
2.0.16 (07/2018)
    - Added interaction with system clipboard (basic for floating items)

Maxime Perrotin's avatar
Maxime Perrotin committed
228
229
230
2.0.15 (07/2018)
    - Fix many bugs in type checking system

231
232
233
2.0.14 (06/2018)
    - fix numerical checks when setting timer parameters
  
234
235
236
2.0.13 (06/2018)
    - Add taste-compatible cache mechanism when calling asn1scc
  
237
238
239
240
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)

241
242
243
2.0.11 (06/2018)
    - Ada backend: fix choice determinant issue leading to CHOICE_NOT_FOUND bug

244
245
246
2.0.10 (06/2018)
    - Various fixes in statechart rendering, esp. from command line

247
248
249
250
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
251
2.0.8 (05/2018)
252
253
    - Minor bugfix

Maxime Perrotin's avatar
Maxime Perrotin committed
254
255
256
2.0.7 (05/2018)
    - Add option to generate code with QGen (C and Ada)
    - Better reporting of model parsing error
257

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

taste's avatar
taste committed
261
262
263
2.0.5 (04/2018)
    - Fix zoom-in on laptops keyboards with ctrl-shift-+

264
265
266
2.0.4 (03/2018)
    - Fix issue with variable prefix in nested states (in generated code)

Maxime Perrotin's avatar
Maxime Perrotin committed
267
268
2.0.3 (03/2018)
    - Optimize calls to asn1scc
269
    - Fix paste error when input symbol is selected
Maxime Perrotin's avatar
Maxime Perrotin committed
270

271
272
273
274
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
275
    - Fix Statechart rendering (incl. with process type)
276
    - Ada backend: when a branch is ignored, generate "null"
277

Maxime Perrotin's avatar
Maxime Perrotin committed
278
279
280
2.0.1 (02/2018)
    - Detect type mismatches when user mixes signed and unsigned variables

281
282
283
284
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
285
286
287
288
1.5.44 (01/2018)
    - Bugfix: Return error code when Ada generation fails
    - Tests: reorder arguments to asn1scc for v4 compatibility

289
290
291
1.5.43 (01/2018)
    - Add preliminary compatibility with asn1scc v4

TASTE User's avatar
TASTE User committed
292
1.5.42 (10/2017)
293
    - Fix case issue with process types
TASTE User's avatar
TASTE User committed
294
    - Remove submodules
295

Maxime Perrotin's avatar
Maxime Perrotin committed
296
297
298
1.5.40 (07/2017)
    - Fix range check in arrays

299
300
301
1.5.39 (07/2017)
    - Minor fix in testcase Makefile

Maxime Perrotin's avatar
Maxime Perrotin committed
302
303
304
1.5.38 (06/2017)
    - Fix unicode issue in Ada backend

305
306
307
1.5.37 (05/2017)
    - Fix Ada backend bug with sequence of literals in nested states

Maxime Perrotin's avatar
Maxime Perrotin committed
308
309
310
1.5.36 (05/2017)
    - Fix Unicode issues in Ada backend

Maxime Perrotin's avatar
Maxime Perrotin committed
311
312
313
1.5.35 (05/2017)
    - Fix FOR LOOPS code generation

314
315
316
1.5.34 (05/2017)
    - Fix statechart message selection box

317
318
319
320
1.5.33 (04/2017)
    - Fix unicode issue with the simulation code
    - Use -fPIC when building the simulation library

321
1.5.32 (04/2017)
Maxime Perrotin's avatar
Maxime Perrotin committed
322
323
    - Unicode bugfixes in Ada backend
    - Bugfix with SEQUENCE OF literals in Ada backend
324
    - Various bugfixes with mixed int32/64 bits
Maxime Perrotin's avatar
Maxime Perrotin committed
325

326
1.5.28 (03/2017)
Maxime Perrotin's avatar
Maxime Perrotin committed
327
328
    - Added preliminary support for PROCESS TYPE and instances

Maxime Perrotin's avatar
Maxime Perrotin committed
329
330
331
1.5.26 (02/2017)
    - Statecharts can be configured to filter out signals

332
333
334
1.5.25 (01/2017)
    - Ada backend generates aliased context (used for model checking)

335
336
337
1.5.24 (01/2017)
    - PR file use better indentation for text areas (no line return)

Maxime Perrotin's avatar
Maxime Perrotin committed
338
1.5.23 (12/2016)
339
    - In simulation mode, bugfix in the declaration of the startup function
Maxime Perrotin's avatar
Maxime Perrotin committed
340
    - Code generator prepared for model checking
341

342
343
344
1.5.22 (12/2016)
    - Simulation function save/restore context fix

Maxime Perrotin's avatar
Maxime Perrotin committed
345
346
347
348
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

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

357
358
359
1.5.19 (11/2016)
    - Fix integer cast in Ada

360
361
362
363
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
364
365
    - Fixed issue with initialization of generated code in state aggregations

Maxime Perrotin's avatar
Maxime Perrotin committed
366
367
1.5.16 (11/2016)
    - Fix minor indentation issue when saving
Maxime Perrotin's avatar
Maxime Perrotin committed
368

369
370
371
1.5.15 (10/2016)
    - Report incomplete startup transitions as errors in nested states

Maxime Perrotin's avatar
Maxime Perrotin committed
372
373
374
1.5.14 (10/2016)
    - Support named integers (requires asn1scc 3.3.04 or more recent)

375
376
377
1.5.13 (10/2016)
    - Better support of warnings
    - Fixed detection of CHOICE assignment erros
378
    - Raise error if process miss the start transition
Maxime Perrotin's avatar
Maxime Perrotin committed
379
    - Raise error in case of SEQUENCE OF type mismatch
380

Maxime Perrotin's avatar
Maxime Perrotin committed
381
382
383
1.5.12 (09/2016)
    - Detect duplicate declaration of procedures

384
385
386
1.5.11 (09/2016)
    - Allow semicolon in the declaration of procedures after RETURNS keyword

387
388
389
1.5.10 (09/2016)
    - readonly mode with more restrictions

390
391
392
1.5.9 (09/2016)
    - Added --readonly command line to restrict process modifications

393
394
395
396
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
397
398
    - Additional type checks

Maxime Perrotin's avatar
Maxime Perrotin committed
399
400
401
402
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
403
1.5.6 (08/2016)
Maxime Perrotin's avatar
Maxime Perrotin committed
404
405
406
    - 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
407
    - Fixed issue with rendering (coordinates of symbols could be wrong)
Maxime Perrotin's avatar
Maxime Perrotin committed
408
    - Introduce data dictionary
Maxime Perrotin's avatar
Maxime Perrotin committed
409

Maxime Perrotin's avatar
Maxime Perrotin committed
410
411
412
1.5.4 (08/2016)
    - Various GUI improvements

413
1.5.3 (07/2016):
Maxime Perrotin's avatar
Maxime Perrotin committed
414
415
    - Ada backend fix: Continous signals now handled in states
      where input is not consumed
416

Maxime Perrotin's avatar
Maxime Perrotin committed
417
1.5.2 (07/2016):
418
    - Asn1scc API added to interface with DMT/asn2dataModel
Maxime Perrotin's avatar
Maxime Perrotin committed
419
    - Better statechart rendering (less distance between nodes)
420

Maxime Perrotin's avatar
Maxime Perrotin committed
421
1.4.5 (07/2016):
422
423
    - Context variable was not prefixed properly
    - Callback function for timers use 64bits integer
Maxime Perrotin's avatar
Maxime Perrotin committed
424
425
    - RIs use prefix with unicode separation to avoid name clashes

426

427
428
429
1.4.4 (06/2016)
    - Minor bugfix in Ada backend to support typeless systems

430
431
432
1.4.3 (06/2016)
    - Add support for priority of continuous signals in Ada code generator

433
434
435
1.4.2 (06/2016)
    - Reload / render properly priority of continuous signals

436
1.4.1 (06/2016)
437
438
    - Continuous states can check the presence of messages in the input queue
      to respect the SDL semantics
439
    - Bugfix in Ada code generator on continuous states
440

Maxime Perrotin's avatar
Maxime Perrotin committed
441
442
443
1.3.28 (06/2016)
    - Excluded states (with *(statelist) ) were case sensitive

Maxime Perrotin's avatar
Maxime Perrotin committed
444
445
446
447
1.3.27 (05/2016)
    - Fix bug in Ada backend when using continous signals
    - Better handling of simulation script

448
449
450
1.3.26 (05/2016)
    - Fix parser issues with negative expressions

Maxime Perrotin's avatar
Maxime Perrotin committed
451
1.3.25 (05/2016)
452
453
    - Fix reporting of syntax errors in state aggregations

Maxime Perrotin's avatar
Maxime Perrotin committed
454
1.3.22 (05/2016)
455
    - Bug fix in range checks for division and subtraction
456
    - Optimise loading when there are no CIF comments
Maxime Perrotin's avatar
Maxime Perrotin committed
457

Maxime Perrotin's avatar
Maxime Perrotin committed
458
459
460
461
1.3.21 (05/2016)
    - Complete support of optional fields
      (check tests/regression/test-optionalfields)

Maxime Perrotin's avatar
Maxime Perrotin committed
462
463
464
1.3.20 (05/2016)
    - Improve simulator interface

Maxime Perrotin's avatar
Maxime Perrotin committed
465
466
467
468
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
469
    - ASN.1 types are shown with SDL-syntax (no hyphens)
Maxime Perrotin's avatar
Maxime Perrotin committed
470

471
472
1.3.18 (04/2016)
    - Add support for value notation of NULL type
473
    - Remove warning when accessing CHOICE fields
474

475
476
477
1.3.17 (04/2016)
    - Add support for value notation of empty SEQUENCEs ("{}")

Maxime Perrotin's avatar
Maxime Perrotin committed
478
479
480
1.3.16 (03/2016)
    - Bugfix in testing aggregation states in the GUI

Maxime Perrotin's avatar
Maxime Perrotin committed
481
482
483
484
1.3.15 (03/2016)
    - Bugfix in Ada backend when a state aggregation contained only empty
      states (directly returning states).

485
486
487
1.3.14
    - Minor bugfix with command line handling

488
489
490
1.3.13
    - Bugfix in rendering of Continuous signals

Maxime Perrotin's avatar
Maxime Perrotin committed
491
492
493
1.3.12
    - Render properly parameterless procedures that are declared in the .pr
      file but without a textbox
494
    - When going to parent scene, fixed rendering issue
Maxime Perrotin's avatar
Maxime Perrotin committed
495

Maxime Perrotin's avatar
Maxime Perrotin committed
496
497
498
1.3.11
    - Parser is more tolerant to incomplete systems

Maxime Perrotin's avatar
Maxime Perrotin committed
499
1.3.9/10 (01/2016)
Maxime Perrotin's avatar
Maxime Perrotin committed
500
501
    - Checker verifies that decision coverage is complete on Real and Boolean
      types
Maxime Perrotin's avatar
Maxime Perrotin committed
502
    - F3 generates Ada code
Maxime Perrotin's avatar
Maxime Perrotin committed
503

504
505
506
1.3.8 (01/2016)
    - Fix logging when LLVM is not installed

Maxime Perrotin's avatar
Maxime Perrotin committed
507
508
509
1.3.7 (12/2015)
    - Added icon to use Continuous Signals from the GUI

510
511
512
513
514
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

515
516
517
1.3.5 (11/2015)
     - Better support for continous signals

Maxime Perrotin's avatar
Maxime Perrotin committed
518
519
520
521
1.3.4 (11/2015)
     - Early support for continous signals
     - Regression issue fixed (test-nocif2)

Maxime Perrotin's avatar
Maxime Perrotin committed
522
1.3.3 (11/2015)
Maxime Perrotin's avatar
Maxime Perrotin committed
523
     - Better support of platform-dependent screen resolution and dpi
Maxime Perrotin's avatar
Maxime Perrotin committed
524
     - Minor fixes in statechart scenes (no negative coordinates)
Maxime Perrotin's avatar
Maxime Perrotin committed
525

Maxime Perrotin's avatar
Maxime Perrotin committed
526
1.3.1 (11/2015)
527
     - Support for State Aggregations (parallel states)
Maxime Perrotin's avatar
Maxime Perrotin committed
528
     - Improved statechart rendering
529

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

Maxime Perrotin's avatar
Maxime Perrotin committed
538
1.2.4 (07/2015)
539
540
541
542
     - 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
543
544
545
     - Strongly report syntax errors with symbol location and warning if user
       tries to save a model with syntax errors

546
547
548
1.1.0 (07/2015)
     - Write/Writeln procedure support enumerated types

Maxime Perrotin's avatar
Maxime Perrotin committed
549
550
551
552
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
553
554
555
556
1.0.0 (06/2015)
     - Bugfixes and minor improvements
     - Python API / Simulator function (coupled with other TASTE components)

557
1.0RC (10/2014)
558
559
560
561
562
563
     - 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

564
565
566
0.994 (07/2014)
     - Maintenance release, minor fixes

Maxime Perrotin's avatar
Maxime Perrotin committed
567
568
569
570
571
572
573
574
575
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

576
0.99 (04/2014)
Maxime Perrotin's avatar
Maxime Perrotin committed
577
     - Refactoring of the backend engine, now using singledispatch
578
     - Support of hierachical states
Maxime Perrotin's avatar
Maxime Perrotin committed
579
580
     - Minor bugfixes

581
582

0.98
Maxime Perrotin's avatar
Maxime Perrotin committed
583
584
585
586
587
     - 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
588
589
590


0.97
Maxime Perrotin's avatar
Maxime Perrotin committed
591
592
593
594
     - 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