Commit 90b44b11 authored by yoogx's avatar yoogx

* Update testsuite output

        For issue #75
parent a51895d8
This diff is collapsed.
package ErrorLibrary
public
data dummy
-- FIXME: Workaround to allow pretty printing this package
end dummy;
annex EMV2 {**
error types
CommonErrors: type set { ServiceError, TimingRelatedError, ValueRelatedError, ReplicationError,
......
package Test
public
data number
end number;
subprogram mul
features
x : in parameter number;
y : in parameter number;
z : out parameter number;
end mul;
subprogram cube
features
x : in parameter number;
y : out parameter number;
mul : requires subprogram access mul;
annex behavior_specification {**
variables
tmp;
states
s : initial final state;
transitions
t : s -[]-> s {
mul!(x, x, tmp);
mul!(tmp, x, y)
};
**};
end cube;
end Test;
Frontends : error : ba_example_001.aadl:25:11: parsing Behavior_Variable, token ':' is expected, found token ';'
Frontends : error : ba_example_001.aadl:25:11: parsing Behavior_Variable, the list parsed is empty
Frontends : fatal error : ba_example_001.aadl:28:07: parsing Behavior_Specification, failed
package Test
public
with Base_types;
thread speed
features
tick : in event port
{Dequeue_Protocol => AllItems;};
sp : out data port Base_types::integer;
properties
Dispatch_Protocol => periodic;
Period => 1000 Ms;
end speed;
thread implementation speed.i
annex behavior_specification {**
states
s0 : initial complete state;
transitions
s0 -[]-> s0 {
sp := tick'count
};
**};
end speed.i;
end Test;
package Base_Types
public
with data_model;
data Boolean
properties
Data_Model::Data_Representation => Boolean;
end Boolean;
data Integer
properties
Data_Model::Data_Representation => Integer;
end Integer;
data Integer_8 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 1 Bytes;
end Integer_8;
data Integer_16 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 2 Bytes;
end Integer_16;
data Integer_32 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 4 Bytes;
end Integer_32;
data Integer_64 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 8 Bytes;
end Integer_64;
data Unsigned_8 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 1 Bytes;
end Unsigned_8;
data Unsigned_16 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 2 Bytes;
end Unsigned_16;
data Unsigned_32 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 4 Bytes;
end Unsigned_32;
data Unsigned_64 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 8 Bytes;
end Unsigned_64;
data Natural extends Integer
properties
Data_Model::Integer_Range => 0 .. Max_Target_Integer;
end Natural;
data Float
properties
Data_Model::Data_Representation => Float;
end Float;
data Float_32 extends Float
properties
Data_Model::IEEE754_Precision => Simple;
Source_Data_Size => 4 Bytes;
end Float_32;
data Float_64 extends Float
properties
Data_Model::IEEE754_Precision => Double;
Source_Data_Size => 8 Bytes;
end Float_64;
data Character
properties
Data_Model::Data_Representation => Character;
end Character;
data String
properties
Data_Model::Data_Representation => String;
end String;
end Base_Types;
property set Data_Model is
Base_Type : list of classifier (
data)
applies to (data);
Code_Set : aadlinteger
applies to (data);
Data_Digits : aadlinteger
applies to (data);
Data_Scale : aadlinteger
applies to (data);
Data_Representation : enumeration (Array, Boolean, Character, Enum, Float, Fixed, Integer, String, Struct, Union)
applies to (data);
Dimension : list of aadlinteger
applies to (data);
Indefinite_Dimension : constant aadlinteger => -1;
Infinite_Dimension : constant aadlinteger => -2;
Element_Names : list of aadlstring
applies to (data);
Enumerators : list of aadlstring
applies to (data);
IEEE754_Precision : enumeration (Simple, Double)
applies to (data);
Initial_Value : list of aadlstring
applies to (data, port, parameter);
Integer_Range : range of aadlinteger
applies to (data, port, parameter);
Measurement_Unit : aadlstring
applies to (data, port, parameter);
Number_Representation : enumeration (Signed, Unsigned)
applies to (data);
Real_Range : range of aadlreal
applies to (data, port, parameter);
Representation : list of aadlstring
applies to (data);
end Data_Model;
ba_example_002.aadl:20:05: speed.i ( Thread ) must define one or more final states.
Cannot analyze BEHAVIOR_SPECIFICATION specifications
package Test
public
with Base_types, Data_Model;
thread sender
features
d : out event data port Base_Types::Integer;
a : in event data port Base_Types::Integer;
properties
Dispatch_Protocol => Timed;
Period => 10 Ms;
end sender;
thread implementation sender.v1
subcomponents
v : data Base_Types::Integer;
annex behavior_specification {**
states
st : initial complete state;
sf : complete state;
s1, s2 : state;
transitions
st -[on dispatch timeout]-> st {
v := 1;
d!(v)
};
st -[on dispatch a]-> s1;
s1 -[a = 1]-> sf;
s1 -[a = 0]-> st;
sf -[on dispatch timeout]-> sf {
v := 0;
d!(v)
};
sf -[on dispatch a]-> s2;
s2 -[a = 0]-> st;
s2 -[a = 1]-> sf;
**};
end sender.v1;
thread implementation sender.v2
annex behavior_specification {**
states
st : initial complete state;
sf : complete state;
s1, s2 : state;
transitions
st -[on dispatch timeout]-> st {
d!(1)
};
st -[on dispatch a]-> s1;
s1 -[a = 1]-> sf;
s1 -[a = 0]-> st;
sf -[on dispatch timeout]-> sf {
d!(0)
};
sf -[on dispatch a]-> s2;
s2 -[a = 0]-> st;
s2 -[a = 1]-> sf;
**};
end sender.v2;
thread implementation sender.v3
annex behavior_specification {**
states
st : initial complete state;
sf : complete state;
transitions
st -[on dispatch timeout]-> st {
d!(1)
};
st -[on dispatch a(1)]-> sf;
st -[on dispatch a(others)]-> st;
sf -[on dispatch timeout]-> sf {
d!(0)
};
sf -[on dispatch a(0)]-> st;
sf -[on dispatch a(others)]-> sf;
**};
end sender.v3;
end Test;
package Base_Types
public
with data_model;
data Boolean
properties
Data_Model::Data_Representation => Boolean;
end Boolean;
data Integer
properties
Data_Model::Data_Representation => Integer;
end Integer;
data Integer_8 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 1 Bytes;
end Integer_8;
data Integer_16 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 2 Bytes;
end Integer_16;
data Integer_32 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 4 Bytes;
end Integer_32;
data Integer_64 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 8 Bytes;
end Integer_64;
data Unsigned_8 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 1 Bytes;
end Unsigned_8;
data Unsigned_16 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 2 Bytes;
end Unsigned_16;
data Unsigned_32 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 4 Bytes;
end Unsigned_32;
data Unsigned_64 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 8 Bytes;
end Unsigned_64;
data Natural extends Integer
properties
Data_Model::Integer_Range => 0 .. Max_Target_Integer;
end Natural;
data Float
properties
Data_Model::Data_Representation => Float;
end Float;
data Float_32 extends Float
properties
Data_Model::IEEE754_Precision => Simple;
Source_Data_Size => 4 Bytes;
end Float_32;
data Float_64 extends Float
properties
Data_Model::IEEE754_Precision => Double;
Source_Data_Size => 8 Bytes;
end Float_64;
data Character
properties
Data_Model::Data_Representation => Character;
end Character;
data String
properties
Data_Model::Data_Representation => String;
end String;
end Base_Types;
property set Data_Model is
Base_Type : list of classifier (
data)
applies to (data);
Code_Set : aadlinteger
applies to (data);
Data_Digits : aadlinteger
applies to (data);
Data_Scale : aadlinteger
applies to (data);
Data_Representation : enumeration (Array, Boolean, Character, Enum, Float, Fixed, Integer, String, Struct, Union)
applies to (data);
Dimension : list of aadlinteger
applies to (data);
Indefinite_Dimension : constant aadlinteger => -1;
Infinite_Dimension : constant aadlinteger => -2;
Element_Names : list of aadlstring
applies to (data);
Enumerators : list of aadlstring
applies to (data);
IEEE754_Precision : enumeration (Simple, Double)
applies to (data);
Initial_Value : list of aadlstring
applies to (data, port, parameter);
Integer_Range : range of aadlinteger
applies to (data, port, parameter);
Measurement_Unit : aadlstring
applies to (data, port, parameter);
Number_Representation : enumeration (Signed, Unsigned)
applies to (data);
Real_Range : range of aadlreal
applies to (data, port, parameter);
Representation : list of aadlstring
applies to (data);
end Data_Model;
Frontends : error : ba_example_003.aadl:64:24: parsing Behavior_Transition, token ']->' is expected, found token '('
Frontends : error : ba_example_003.aadl:64:33: parsing Behavior_Transition, the list parsed is empty
Frontends : fatal error : ba_example_003.aadl:72:09: parsing Behavior_Specification, failed
......@@ -26,12 +26,12 @@ public
s1 : final state;
transitions
regular : s0 -[]-> s1 {
r := x + y;
ovf := false
r := x + y;
ovf := false
};
overflow : s0 -[]-> s1 {
r := 0;
ovf := true
r := 0;
ovf := true
};
**};
end addition.default;
......
package Test
public
with Base_Types;
thread merger
features
p1 : in event data port Base_types::integer;
p2 : in event data port Base_types::integer;
m : out event data port Base_types::integer;
end merger;
thread implementation merger.twopersistentstates
subcomponents
x1 : data Base_types::integer;
x2 : data Base_types::integer;
annex behavior_specification {**
states
s0 : initial complete state;
comp : state;
next1, next2 : complete state;
transitions
s0 -[on dispatch p1]-> next2 {
x1 := p1
};
s0 -[on dispatch p2]-> next1 {
x2 := p2
};
next1 -[on dispatch p1]-> comp {
x1 := p1
};
next2 -[on dispatch p2]-> comp {
x2 := p2
};
comp -[x1 < x2]-> next1 {
m!(x1)
};
comp -[x2 >= x1]-> next2 {
m!(x2)
};
**};
end merger.twopersistentstates;
thread implementation merger.portbased
annex behavior_specification {**
states
s0 : initial complete state;
comp : state;
next1 : complete state;
next2 : complete state;
transitions
s0 -[on dispatch p1]-> next2;
s0 -[on dispatch p2]-> next1;
next1 -[p1 < p2]-> next1 {
m!(p1)
};
next1 -[p2 >= p1]-> next2 {
m!(p2)
};
next2 -[p1 < p2]-> next1 {
m!(p1)
};
next2 -[p2 >= p1]-> next2 {
m!(p2)
};
**};
end merger.portbased;
end Test;
package Base_Types
public
with data_model;
data Boolean
properties
Data_Model::Data_Representation => Boolean;
end Boolean;
data Integer
properties
Data_Model::Data_Representation => Integer;
end Integer;
data Integer_8 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 1 Bytes;
end Integer_8;
data Integer_16 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 2 Bytes;
end Integer_16;
data Integer_32 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 4 Bytes;
end Integer_32;
data Integer_64 extends Integer
properties
Data_Model::Number_Representation => Signed;
Source_Data_Size => 8 Bytes;
end Integer_64;
data Unsigned_8 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 1 Bytes;
end Unsigned_8;
data Unsigned_16 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 2 Bytes;
end Unsigned_16;
data Unsigned_32 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 4 Bytes;
end Unsigned_32;
data Unsigned_64 extends Integer
properties
Data_Model::Number_Representation => Unsigned;
Source_Data_Size => 8 Bytes;
end Unsigned_64;
data Natural extends Integer
properties
Data_Model::Integer_Range => 0 .. Max_Target_Integer;
end Natural;
data Float
properties
Data_Model::Data_Representation => Float;
end Float;
data Float_32 extends Float
properties
Data_Model::IEEE754_Precision => Simple;
Source_Data_Size => 4 Bytes;
end Float_32;