diff --git a/goil/templates/check/configCheck.goilTemplate b/goil/templates/check/configCheck.goilTemplate new file mode 100644 index 000000000..21a34d177 --- /dev/null +++ b/goil/templates/check/configCheck.goilTemplate @@ -0,0 +1,315 @@ +% +# @file spinlock_check.goilTemplate +# +# @section desc File description +# +# Spinlock Checks template file for goil +# +# @section copyright Copyright +# +# Trampoline OS +# +# Trampoline is copyright (c) IRCCyN +# Trampoline is protected by the French intellectual property law. +# +# This software is distributed under the Lesser GNU Public Licence +# +# @section infos File informations +# +# $Date$ +# $Rev$ +# $Author$ +# $URL$ +# + +let C_keyword := @("auto", "break", "case", "char", "const", "continue", "default", "do", "double", "else", "enum", "extern", "float", "for", "goto", "if", "int", "long", "register", "return", "short", "signed", "sizeof", "static", "struct", "typedef", "union", "unsigned", "void", "volatile", "while") + +foreach appmode in APPMODE do + foreach C_kw in C_keyword do + if appmode::NAME == C_kw then + error appmode : "APPMODE " + appmode::NAME + " name conflicts with C key word" + end if + end foreach +end foreach + +foreach task in TASK do + + foreach C_kw in C_keyword do + if task::NAME == C_kw then + error task : "TASK " + task::NAME + " name conflicts with C key word" + end if + end foreach + + # L.511 root.goilTemplate + let internal_found := false + if exists task::RESOURCE then + foreach owned_resource in task::RESOURCE do + foreach resource in RESOURCE do + if resource::NAME == owned_resource::VALUE & resource::RESOURCEPROPERTY == "INTERNAL" then + if internal_found then + error owned_resource : "No more than one internal resource may be assigned to a task" + else + let internal_found := true + end if + end if + end foreach + end foreach + end if + + # L.532 root.goilTemplate + if task::SCHEDULE == "NON" then + if internal_found then + error internal_name : "Internal resource cannot be assigned" + error task::SCHEDULE : "to a non-preemptable task" + end if + end if + + # L.704 root.goilTemplate + if exists task::EVENT then + if task::ACTIVATION > 1 then + error task::ACTIVATION : "An extended task cannot have ACTIVATION greater than 1" + end if + end if + +end foreach + +foreach isr in ISR do + foreach C_kw in C_keyword do + if isr::NAME == C_kw then + error isr : "ISR " + isr::NAME + " name conflicts with C key word" + end if + end foreach +end foreach + +foreach sel_event (sel_INDEX) in EVENT do + + foreach C_kw in C_keyword do + if sel_event::NAME == C_kw then + error sel_event : "EVENT " + sel_event::NAME + " name conflicts with C key word" + end if + end foreach + + let tasks_for_event := mapof EVENT by NAME + + #User events only + if typeof sel_event::MASK == @int then + + # L.859 root.goilTemplate + if sel_event::MASK == 0 then + error sel_event::MASK : "0 is not allowed in MASK" + end if + + # L.864 root.goilTemplate + #Test case 41 + let more_than_one_bit := false + loop bit from 0 to 63 do + let mask := 1 << bit + let masked_evt := sel_event::MASK & mask + if masked_evt != 0 & masked_evt != sel_event::MASK then + let more_than_one_bit := true + end if + end loop + if more_than_one_bit then + warning sel_event::MASK : "Event " + sel_event::NAME + " uses more than one bit" + end if + + end if +end foreach + +foreach counter in COUNTER do + foreach C_kw in C_keyword do + if counter::NAME == C_kw then + error counter : "COUNTER " + counter::NAME + " conflicts with C key word" + end if + end foreach +end foreach + +# L.970 root.goilTemplate +foreach alarm in ALARM do + + foreach C_kw in C_keyword do + if alarm::NAME == C_kw then + error alarm : "ALARM " + alarm::NAME + " name conflicts C key word" + end if + end foreach + + let counterMap := mapof COUNTER by NAME + + if alarm::AUTOSTART then + let counter := counterMap[alarm::COUNTER] + if alarm::AUTOSTART_S::CYCLETIME < counter::MINCYCLE & alarm::AUTOSTART_S::CYCLETIME != 0 then + error alarm::AUTOSTART_S::CYCLETIME : "CYCLETIME is lower than MINCYCLE " + error counter::MINCYCLE : "as declared there" + end if + end if + if exists alarm::ACTION then + #Test cases 5, 7 + if alarm::ACTION == "INCREMENTCOUNTER" then + if counterMap[alarm::ACTION_S::COUNTER]::TYPE != "SOFTWARE" then + error alarm::ACTION_S::COUNTER : "OS285 - It is impossible to increment a hardware counter (" + alarm::ACTION_S::COUNTER + " is not a software counter)" + end if + elsif alarm::ACTION == "SETEVENT" then + #Test case 3 + if not exists TASK[alarm::ACTION_S::TASK]::EVENT then + error alarm::ACTION_S::TASK : "An alarm can't set an Event to a basic task (Task " + alarm::ACTION_S::TASK + " is a basic task)" + end if + end if + end if +end foreach + +foreach resource in RESOURCE do + foreach C_kw in C_keyword do + if resource::NAME == C_kw then + error resource : "RESOURCE " + resource::NAME + " name conflicts C key word" + end if + end foreach +end foreach + +foreach message in MESSAGE do + foreach C_kw in C_keyword do + if message::NAME == C_kw then + error message : "MESSAGE " + message::NAME + " name conflicts C key word" + end if + end foreach +end foreach + +let ISRS2 := @() +foreach isr in ISR do + if isr::CATEGORY == 2 then + let ISRS2 += isr + end if +end foreach + +foreach app in APPLICATION do + + foreach C_kw in C_keyword do + if app::NAME == C_kw then + error app : "APPLICATION " + app::NAME + " name conflicts with C key word" + end if + end foreach + + let isr_map := mapof ISRS2 by NAME + + # L.1144 root.goilTemplate + #Test case 43 + if not exists app::TASK & isr_map == @[] then + error app::NAME : "OS445 - An application should have at least one Task OR ISR2" + end if +end foreach + +if AUTOSAR then + foreach st in SCHEDULETABLE do + + foreach C_kw in C_keyword do + if st::NAME == C_kw then + error st : "SCHEDULETABLE " + st::NAME + " name conflicts with C key word" + end if + end foreach + + if not exists st::COUNTER then + #Test case 47 + error st::NAME : "OS409 - COUNTER is not defined in " + st::NAME + else + let counter_map := mapof COUNTER by NAME + let st_counter := counter_map[st::COUNTER] + if not exists st::EXPIRY_POINT then + #Test case 42 + error st::NAME : "OS401 - no EXPIRY_POINT found for SCHEDULETABLE " + st::NAME + else + + foreach ep in st::EXPIRY_POINT do + if not exists ep::ACTION then + #Test case 44 + error ep : "OS407 - no ACTION found for EXPIRY_POINT " + ep::NAME + elsif not exists ep::OFFSET then + #Test case 50 + error ep : "OS404 - OFFSET is missing for EXPIRY_POINT " + ep::NAME + end if + + #Test cases 57, 59 + foreach eps in st::EXPIRY_POINT do + if ep::NAME != eps::NAME then + if ep::OFFSET > eps::OFFSET then + if ep::OFFSET - eps::OFFSET < st_counter::MINCYCLE then + error st::NAME : "OS408 - Delay between expiry point " + ep::name + " and " + eps::NAME + " is lower than MINCYCLE of the driving counter" + elsif ep::OFFSET - eps::OFFSET > st_counter::MAXALLOWEDVALUE then + error st::NAME : "OS408 - Delay between expiry point " + ep::NAME + " and " + eps::NAME + " is greater than MAXALLOWEDVALUE of the driving counter" + end if + else + if eps::OFFSET - ep::OFFSET < st_counter::MINCYCLE then + error st::NAME : "OS408 - Delay between expiry point " + ep::NAME + " and " + eps::NAME + " is lower than MINCYCLE of the driving counter" + elsif eps::OFFSET - ep::OFFSET > st_counter::MAXALLOWEDVALUE then + error st::NAME : "OS408 - Delay between expiry point " + ep::NAME + " and " + eps::NAME + " is greater than MAXALLOWEDVALUE of the driving counter" + end if + end if + end if + end foreach + + #Test case 33 + foreach action in ep::ACTION do + if action::VALUE == "SETEVENT" then + let task_map := mapof TASK by NAME + let target := task_map[action::VALUE_S::TASK] + if not exists target::EVENT then + error st::NAME : "Error : An action can't set an Event to a basic task (Task " + action::VALUE_S::TASK + " is a basic task)." + end if + end if + end foreach + end foreach + + let lep_off := st::EXPIRY_POINT + sort lep_off by OFFSET < + let first_ep := [lep_off first] + let last_ep := [lep_off last] + #Test cases 54, 56 + if first_ep::OFFSET < st_counter::MINCYCLE then + error st::NAME : "OS443 - OFFSET of first EXPIRY_POINT is lower than MINCYCLE of the driving counter and not equal to 0" + elsif first_ep::OFFSET > st_counter::MAXALLOWEDVALUE then + error st::NAME : "OS443 - OFFSET of first EXPIRY_POINT is greater than MAXALLOWEDVALUE of the driving COUNTER" + end if + end if + + #Test case 67 + if st::AUTOSTART == "ABSOLUTE" then + if st::AUTOSTART_S::START > st_counter::MAXALLOWEDVALUE then + error st::NAME : "OS349 - " + st::NAME + " autostart's offset is greater than MAXALLOWEDVALUE of the driving counter." + end if + #Test cases 68, 70 + elsif st::AUTOSTART == "RELATIVE" then + let eps := st::EXPIRY_POINT + sort eps by OFFSET < + let first_ep := [eps first] + if st::AUTOSTART_S::OFFSET == 0 then + error st::NAME : "OS332 - " + st::NAME + " autostart's offset is equal to 0" + elsif st::AUTOSTART_S::OFFSET > (st_counter::MAXALLOWEDVALUE - first_ep::OFFSET) then + error st::NAME : "OS276 - " + st::NAME + " autostart's offset is greater than MAXALLOWEDVALUE of the driving counter minus the Initial Offset" + end if + end if + + end if + end foreach +end if + +foreach ioc in IOC do + foreach C_kw in C_keyword do + if ioc::NAME == C_kw then + error ioc : "IOC " + ioc::NAME + " name conflicts C key word" + end if + end foreach +end foreach + +foreach transaction in TRANSACTION do + foreach C_kw in C_keyword do + if transaction::NAME == C_kw then + error transaction : "TRANSACTION " + transaction::NAME + " name conflicts with C key word" + end if + end foreach +end foreach + +foreach spinlock in SPINLOCK do + foreach C_kw in C_keyword do + if spinlock::NAME == C_kw then + error spinlock : "SPINLOCK " + spinlock::NAME + " name conflicts C key word" + end if + end foreach +end foreach \ No newline at end of file diff --git a/goil/templates/root.goilTemplate b/goil/templates/root.goilTemplate index 884f6435f..930437a3c 100755 --- a/goil/templates/root.goilTemplate +++ b/goil/templates/root.goilTemplate @@ -81,7 +81,7 @@ let TRANSACTION := exists TRANSACTION default (@()) let OBJECT := exists OBJECT default (@()) let SPINLOCK := exists SPINLOCK default (@()) -template if exists configCheck +template if exists configCheck in check let ioc_queued_list := @() let ioc_unqueued_list := @() @@ -483,6 +483,7 @@ if AUTOSAR & OS::SCALABILITYCLASS >= 3 then let SCHEDULETABLE := st_with_app end if + #------------------------------------------------------------------------------* # Add informations to tasks # Multiply the priority by 2 to add room for the ressources @@ -507,22 +508,11 @@ foreach task in TASK do let task_max_priority := task::PRIORITY end if + # Check transfered to configCheck.goilTemplate let task::USEINTERNALRESOURCE := false let internal_found := false if exists task::RESOURCE then - let internal_name := "" - foreach owned_resource in task::RESOURCE do - foreach resource in RESOURCE do - if resource::NAME == owned_resource::VALUE & resource::RESOURCEPROPERTY == "INTERNAL" then - if internal_found then - error owned_resource : "No more than one internal resource may be assigned to a task" - else - let internal_found := true - let internal_name := owned_resource::VALUE - end if - end if - end foreach - end foreach + let internal_found := true let task::USEINTERNALRESOURCE := internal_found if internal_found then let task::INTERNALRESOURCE := internal_name @@ -539,10 +529,7 @@ foreach task in TASK do end if let INTERNAL_RESCHEDULER_STRUCT::VALUE := INTERNAL_RESCHEDULER::NAME let task::RESOURCE += INTERNAL_RESCHEDULER_STRUCT - if internal_found then - error internal_name : "Internal resource cannot be assigned" - error task::SCHEDULE : "to a non-preemptable task" - end if + # Check transfered to checkConfig.goilTemplate else let task::NONPREEMPTABLE := false end if @@ -714,11 +701,7 @@ foreach obj in PRIO2 do end foreach # Check no extended task as an ACTIVATION attribute greater than 1 -foreach task in EXTENDEDTASKS do - if task::ACTIVATION > 1 then - error task::ACTIVATION : "An extended task cannot have ACTIVATION greater than 1" - end if -end foreach +# Check transfered to configCheck.goilTemplate # increase the RESSCHEDULERPRIORITY by one and have it # set between the highest priority task and the lowest ISR priority @@ -873,25 +856,13 @@ foreach sel_event (sel_INDEX) in USEREVENTS do # # a MASK with 0 is an error # - if sel_event::MASK == 0 then - error sel_event::MASK : "0 is not allowed in MASK" - end if + # Check transfered to configCheck.goilTemplate # # Warn if a MASK has more than one bit # - let more_than_one_bit := false - loop bit from 0 to 63 do - let mask := 1 << bit - let masked_evt := sel_event::MASK & mask - if masked_evt != 0 & masked_evt != sel_event::MASK then - let more_than_one_bit := true - end if - end loop - if more_than_one_bit then - warning sel_event::MASK : "Event " + sel_event::NAME + " uses more than one bit" - end if - + # Check transfered to configCheck.goilTemplate + # # Having 2 mask with common bits is an error if the events are # used by the same task @@ -1015,28 +986,7 @@ end foreach let counterMap := mapof COUNTERS by NAME let taskMap := mapof TASKS by NAME let ALARMS := ALARM -foreach alarm in ALARMS do - if alarm::AUTOSTART then - # verify an AUTOSTART alarm is compatible with the counter - let counter := counterMap[alarm::COUNTER] - if alarm::AUTOSTART_S::CYCLETIME < counter::MINCYCLE & alarm::AUTOSTART_S::CYCLETIME != 0 then - error alarm::AUTOSTART_S::CYCLETIME : "CYCLETIME is lower than MINCYCLE" - error counter::MINCYCLE : "as declared there" - end if - end if - # verify the alarm action is compatible with the target - if exists alarm::ACTION then - if alarm::ACTION == "INCREMENTCOUNTER" then - if counterMap[alarm::ACTION_S::COUNTER]::TYPE != "SOFTWARE" then - error alarm::ACTION_S::COUNTER : "OS285 - It is impossible to increment a hardware counter ("+alarm::ACTION_S::COUNTER+" is not a software counter)." - end if - elsif alarm::ACTION == "SETEVENT" then - if not exists taskMap[alarm::ACTION_S::TASK]::EVENT then - error alarm::ACTION_S::TASK : "An alarm can't set an Event to a basic task (Task "+alarm::ACTION_S::TASK+" is a basic task)." - end if - end if - end if -end foreach +# Check transfered to configCheck.goilTemplate #------------------------------------------------------------------------------* # Compute the list of destination messages. This allow @@ -1156,6 +1106,7 @@ end foreach #------------------------------------------------------------------------------* # Compute the SCHEDULETABLES # + let SCHEDULETABLES := SCHEDULETABLE #------------------------------------------------------------------------------* @@ -1174,6 +1125,7 @@ if AUTOSAR & OS::SCALABILITYCLASS >= 3 then #------------------------------------------------------------------------------* # add the computed attributes foreach app in APPLICATION do + if not exists app::TASK then let app::TASK := @() end if if not exists app::ISR then let app::ISR := @() end if if not exists app::ALARM then let app::ALARM := @() end if @@ -1184,6 +1136,8 @@ if AUTOSAR & OS::SCALABILITYCLASS >= 3 then let isr_map := mapof ISRS2 by NAME + # Check transfered to configCheck.goilTemplate + # vectors for process access let process_of_app := app::TASK diff --git a/tests/GOIL/goil_autosar_alarm_s1/goil_autosar_alarm_s1.oil b/tests/GOIL/goil_autosar_alarm_s1/goil_autosar_alarm_s1.oil index 04f2580da..8e4d8a65e 100755 --- a/tests/GOIL/goil_autosar_alarm_s1/goil_autosar_alarm_s1.oil +++ b/tests/GOIL/goil_autosar_alarm_s1/goil_autosar_alarm_s1.oil @@ -97,7 +97,7 @@ CPU test { COUNTER = Software_Counter; COUNTER = Hardware_Counter; ALARM = Alarm_SetEvent_basictask; - ALARM = Alarm_IncrementCounter; + /*ALARM = Alarm_IncrementCounter;*/ }; EVENT Event1 { MASK = AUTO; diff --git a/tests/GOIL/goil_autosar_app_s1/goil_autosar_app_s1.oil b/tests/GOIL/goil_autosar_app_s1/goil_autosar_app_s1.oil index 5bee5678a..1e3c21523 100755 --- a/tests/GOIL/goil_autosar_app_s1/goil_autosar_app_s1.oil +++ b/tests/GOIL/goil_autosar_app_s1/goil_autosar_app_s1.oil @@ -32,7 +32,7 @@ * $URL$ */ -OIL_VERSION = "2.5" : "goil_autosar_app_s1" ; +OIL_VERSION = "3.1" : "goil_autosar_app_s1" ; IMPLEMENTATION trampoline { @@ -50,8 +50,10 @@ IMPLEMENTATION trampoline { OS config { STATUS = STANDARD; - TRAMPOLINE_BASE_PATH = "../../.."; + BUILD = TRUE { + TRAMPOLINE_BASE_PATH = "../../.."; }; + }; APPMODE std {}; diff --git a/tests/GOIL/goil_autosar_app_s2/goil_autosar_app_s2.oil b/tests/GOIL/goil_autosar_app_s2/goil_autosar_app_s2.oil index 1639cee0a..47e4c8145 100755 --- a/tests/GOIL/goil_autosar_app_s2/goil_autosar_app_s2.oil +++ b/tests/GOIL/goil_autosar_app_s2/goil_autosar_app_s2.oil @@ -32,7 +32,7 @@ * $URL$ */ -OIL_VERSION = "2.5" : "goil_autosar_app_s2" ; +OIL_VERSION = "3.1" : "goil_autosar_app_s2" ; IMPLEMENTATION trampoline { @@ -50,8 +50,10 @@ IMPLEMENTATION trampoline { OS config { STATUS = STANDARD; - TRAMPOLINE_BASE_PATH = "../../.."; + BUILD = TRUE { + TRAMPOLINE_BASE_PATH = "../../.."; }; + }; APPMODE std {}; diff --git a/tests/GOIL/goil_autosar_st_s1/goil_autosar_st_s1.oil b/tests/GOIL/goil_autosar_st_s1/goil_autosar_st_s1.oil index 0354b5eaf..03278bf33 100755 --- a/tests/GOIL/goil_autosar_st_s1/goil_autosar_st_s1.oil +++ b/tests/GOIL/goil_autosar_st_s1/goil_autosar_st_s1.oil @@ -74,6 +74,7 @@ CPU test { AUTOSTART = NONE; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE; LENGTH = 10; + PERIODIC = TRUE; }; SCHEDULETABLE sched2 { COUNTER = Software_Counter; diff --git a/tests/GOIL/goil_autosar_st_s2/goil_autosar_st_s2.oil b/tests/GOIL/goil_autosar_st_s2/goil_autosar_st_s2.oil index b0bcbf43a..02113ba92 100755 --- a/tests/GOIL/goil_autosar_st_s2/goil_autosar_st_s2.oil +++ b/tests/GOIL/goil_autosar_st_s2/goil_autosar_st_s2.oil @@ -32,7 +32,7 @@ * $URL$ */ -OIL_VERSION = "2.5" : "goil_autosar_st_s2" ; +OIL_VERSION = "3.1" : "goil_autosar_st_s2" ; IMPLEMENTATION trampoline { @@ -50,8 +50,10 @@ IMPLEMENTATION trampoline { OS config { STATUS = STANDARD; - TRAMPOLINE_BASE_PATH = "../../.."; + BUILD = TRUE { + TRAMPOLINE_BASE_PATH = "../../.."; }; + }; APPMODE std {}; @@ -70,7 +72,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched1 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = FALSE; LENGTH = 10; @@ -83,7 +85,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched2 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = FALSE; LENGTH = 6; @@ -102,7 +104,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched3 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = FALSE; LENGTH = 11; @@ -121,7 +123,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched4 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = FALSE; LENGTH = 24; @@ -140,7 +142,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched5 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = FALSE; LENGTH = 33; diff --git a/tests/GOIL/goil_autosar_st_s3/goil_autosar_st_s3.oil b/tests/GOIL/goil_autosar_st_s3/goil_autosar_st_s3.oil index 78708d2d2..bab71c8e7 100755 --- a/tests/GOIL/goil_autosar_st_s3/goil_autosar_st_s3.oil +++ b/tests/GOIL/goil_autosar_st_s3/goil_autosar_st_s3.oil @@ -32,7 +32,7 @@ * $URL$ */ -OIL_VERSION = "2.5" : "goil_autosar_st_s3" ; +OIL_VERSION = "3.1" : "goil_autosar_st_s3" ; IMPLEMENTATION trampoline { @@ -50,7 +50,9 @@ IMPLEMENTATION trampoline { OS config { STATUS = STANDARD; - TRAMPOLINE_BASE_PATH = "../../.."; + BUILD = TRUE { + TRAMPOLINE_BASE_PATH = "../../.."; + }; }; APPMODE std {}; @@ -70,7 +72,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched1 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = TRUE; LENGTH = 10; @@ -83,7 +85,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched2 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = TRUE; LENGTH = 6; @@ -102,7 +104,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched3 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = TRUE; LENGTH = 11; @@ -121,7 +123,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched4 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = TRUE; LENGTH = 24; @@ -140,7 +142,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched5 { COUNTER = Software_Counter; - AUTOSTART = FALSE ; + AUTOSTART = NONE ; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = TRUE; LENGTH = 33; diff --git a/tests/GOIL/goil_autosar_st_s4/goil_autosar_st_s4.oil b/tests/GOIL/goil_autosar_st_s4/goil_autosar_st_s4.oil index da8476ee1..3f9144a26 100755 --- a/tests/GOIL/goil_autosar_st_s4/goil_autosar_st_s4.oil +++ b/tests/GOIL/goil_autosar_st_s4/goil_autosar_st_s4.oil @@ -32,7 +32,7 @@ * $URL$ */ -OIL_VERSION = "2.5" : "goil_autosar_st_s4" ; +OIL_VERSION = "3.1" : "goil_autosar_st_s4" ; IMPLEMENTATION trampoline { @@ -50,7 +50,9 @@ IMPLEMENTATION trampoline { OS config { STATUS = STANDARD; - TRAMPOLINE_BASE_PATH = "../../.."; + BUILD = TRUE { + TRAMPOLINE_BASE_PATH = "../../.."; + }; }; APPMODE std {}; diff --git a/tests/GOIL/goil_autosar_st_s5/goil_autosar_st_s5.oil b/tests/GOIL/goil_autosar_st_s5/goil_autosar_st_s5.oil index dfe7ede68..6db5c02dd 100755 --- a/tests/GOIL/goil_autosar_st_s5/goil_autosar_st_s5.oil +++ b/tests/GOIL/goil_autosar_st_s5/goil_autosar_st_s5.oil @@ -32,7 +32,7 @@ * $URL$ */ -OIL_VERSION = "2.5" : "goil_autosar_st_s5" ; +OIL_VERSION = "3.1" : "goil_autosar_st_s5" ; IMPLEMENTATION trampoline { @@ -50,7 +50,9 @@ IMPLEMENTATION trampoline { OS config { STATUS = STANDARD; - TRAMPOLINE_BASE_PATH = "../../.."; + BUILD = TRUE { + TRAMPOLINE_BASE_PATH = "../../.."; + }; }; APPMODE std {}; @@ -76,7 +78,7 @@ IMPLEMENTATION trampoline { }; SCHEDULETABLE sched { COUNTER = Software_Counter; - AUTOSTART = FALSE; + AUTOSTART = NONE; LOCAL_TO_GLOBAL_TIME_SYNCHRONIZATION = FALSE ; PERIODIC = FALSE; LENGTH = 5; diff --git a/tests/GOIL/goil_autosar_sts_s1/goil_autosar_sts_s1.oil b/tests/GOIL/goil_autosar_sts_s1/goil_autosar_sts_s1.oil index e49b080cd..2fc0226e0 100755 --- a/tests/GOIL/goil_autosar_sts_s1/goil_autosar_sts_s1.oil +++ b/tests/GOIL/goil_autosar_sts_s1/goil_autosar_sts_s1.oil @@ -32,7 +32,7 @@ * $URL$ */ -OIL_VERSION = "2.5" : "autosar_sts_s1" ; +OIL_VERSION = "3.1" : "autosar_sts_s1" ; IMPLEMENTATION trampoline { diff --git a/tests/GOIL/goil_autosar_sts_s2/goil_autosar_sts_s2.oil b/tests/GOIL/goil_autosar_sts_s2/goil_autosar_sts_s2.oil index 1a2738fcb..68d23e7a1 100755 --- a/tests/GOIL/goil_autosar_sts_s2/goil_autosar_sts_s2.oil +++ b/tests/GOIL/goil_autosar_sts_s2/goil_autosar_sts_s2.oil @@ -32,7 +32,7 @@ * $URL$ */ -OIL_VERSION = "2.5" : "autosar_sts_s2" ; +OIL_VERSION = "3.1" : "autosar_sts_s2" ; IMPLEMENTATION trampoline {