Created
October 23, 2013 20:52
-
-
Save juli1/7126527 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package transmission::version1::imported::functions | |
public | |
with SEI; | |
with ARINC653; | |
abstract engine | |
features | |
from_transmission : in event port; | |
to_transmission : out event port; | |
to_plotresults : out event port; | |
properties | |
SEI::nsloc => 100; | |
end engine; | |
abstract maneuversgui | |
features | |
to_shiftlogic : out event port; | |
to_vehicle : out event port; | |
properties | |
SEI::nsloc => 100; | |
end maneuversgui; | |
abstract moreinfo | |
properties | |
SEI::nsloc => 100; | |
end moreinfo; | |
abstract plotresults | |
features | |
from_engine : in event port; | |
from_vehicle : in event port; | |
properties | |
SEI::nsloc => 100; | |
end plotresults; | |
abstract transmission | |
features | |
from_engine : in event port; | |
from_vehicle : in event port; | |
from_shiftlogic : in event port; | |
to_engine : out event port; | |
to_vehicle : out event port; | |
properties | |
SEI::nsloc => 100; | |
end transmission; | |
abstract vehicle | |
features | |
from_transmission : in event port; | |
from_maneuversgui : in event port; | |
to_transmission : out event port; | |
to_shiftlogic : out event port; | |
to_plotresults : out event port; | |
properties | |
SEI::nsloc => 100; | |
end vehicle; | |
abstract scope1 | |
properties | |
SEI::nsloc => 100; | |
end scope1; | |
end transmission::version1::imported::functions; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package transmission::version1::runtime::common | |
public | |
with ARINC653; | |
with SEI; | |
virtual processor partition | |
end partition; | |
virtual processor implementation partition.i | |
end partition.i; | |
processor module | |
end module; | |
memory ram | |
end ram; | |
memory segment | |
end segment; | |
memory implementation segment.i | |
end segment.i; | |
end transmission::version1::runtime::common; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package transmission::version1::runtime | |
public | |
with Base_Types; | |
with transmission::version1::runtime::common; | |
with transmission::version1::imported::functions; | |
with SEI; | |
with ARINC653; | |
data generictype extends Base_Types::Integer | |
end generictype; | |
process pr_engine | |
features | |
from_transmission : in event data port generictype; | |
to_transmission : out event data port generictype; | |
to_plotresults : out event data port generictype; | |
end pr_engine; | |
process implementation pr_engine.i | |
end pr_engine.i; | |
process pr_maneuversgui | |
features | |
to_transmission : out event data port generictype; | |
to_vehicle : out event data port generictype; | |
end pr_maneuversgui; | |
process implementation pr_maneuversgui.i | |
end pr_maneuversgui.i; | |
process pr_moreinfo | |
end pr_moreinfo; | |
process implementation pr_moreinfo.i | |
end pr_moreinfo.i; | |
process pr_plotresults | |
features | |
from_engine : in event data port generictype; | |
from_vehicle : in event data port generictype; | |
end pr_plotresults; | |
process implementation pr_plotresults.i | |
end pr_plotresults.i; | |
thread thr_transmission | |
features | |
from_engine : in event data port generictype; | |
to_vehicle : out event data port generictype; | |
throttle : in event data port generictype; | |
to_engine : out event data port generictype; | |
from_vehicle_rpm : in event data port generictype; | |
from_vehicle_speed : in event data port generictype; | |
end thr_transmission; | |
thread implementation thr_transmission.i | |
subcomponents | |
gear : data generictype; | |
annex behavior_specification {** | |
states | |
ready : initial complete state; | |
compute : state; | |
transitions | |
ready -[ on dispatch ]-> compute; | |
compute -[ gear = 1 and from_vehicle_speed > 100 and throttle > 100]-> ready | |
{gear := 2}; | |
compute -[ gear = 2 and from_vehicle_speed < 100 and throttle < 100]-> ready | |
{gear := 1}; | |
**}; | |
--annex behavior_specification {** | |
-- states | |
-- steady : initial complete state; | |
-- downshifting : complete state; | |
-- upshifting : complete state; | |
-- transitions | |
-- steady -[ on dispatch and gear > 0]-> downshifting; | |
-- downshifting -[ on dispatch]-> steady {gear := gear - 1}; | |
-- steady -[ on dispatch ]-> upshifting; | |
-- upshifting -[ on dispatch ]-> steady {gear := gear + 1}; | |
--**}; | |
end thr_transmission.i; | |
subprogram choose_gear | |
features | |
throttle : in parameter generictype; | |
speed : in parameter generictype; | |
gearvar : requires data access generictype; | |
end choose_gear; | |
process pr_transmission | |
features | |
from_engine : in event data port generictype; | |
to_vehicle : out event data port generictype; | |
throttle : in event data port generictype; | |
to_engine : out event data port generictype; | |
from_vehicle_rpm : in event data port generictype; | |
from_vehicle_speed : in event data port generictype; | |
end pr_transmission; | |
process implementation pr_transmission.i | |
subcomponents | |
gear_value : data generictype; | |
thr : thread thr_transmission.i; | |
end pr_transmission.i; | |
process pr_vehicle | |
features | |
from_transmission : in event data port generictype; | |
from_maneuversgui : in event data port generictype; | |
to_transmission_rpm : out event data port generictype; | |
to_transmission_speed : out event data port generictype; | |
to_plotresults : out event data port generictype; | |
end pr_vehicle; | |
process implementation pr_vehicle.i | |
end pr_vehicle.i; | |
process pr_scope1 | |
end pr_scope1; | |
process implementation pr_scope1.i | |
end pr_scope1.i; | |
processor module extends transmission::version1::runtime::common::module | |
end module; | |
processor implementation module.i | |
end module.i; | |
memory ram extends transmission::version1::runtime::common::ram | |
end ram; | |
memory implementation ram.i | |
end ram.i; | |
system mainsystem | |
end mainsystem; | |
system implementation mainsystem.i | |
subcomponents | |
engine : process pr_engine.i; | |
maneuversgui : process pr_maneuversgui.i; | |
moreinfo : process pr_moreinfo.i; | |
plotresults : process pr_plotresults.i; | |
transmission : process pr_transmission.i; | |
vehicle : process pr_vehicle.i; | |
scope1 : process pr_scope1.i; | |
cpu : processor module.i; | |
ram : memory ram.i; | |
connections | |
c1 : port engine.to_transmission->transmission.from_engine; | |
c2 : port engine.to_plotresults->plotresults.from_engine; | |
c3 : port maneuversgui.to_transmission->transmission.throttle; | |
c4 : port maneuversgui.to_vehicle->vehicle.from_maneuversgui; | |
c5 : port transmission.to_engine->engine.from_transmission; | |
c6 : port transmission.to_vehicle->vehicle.from_transmission; | |
c7 : port vehicle.to_transmission_rpm->transmission.from_vehicle_rpm; | |
c8 : port vehicle.to_transmission_speed->transmission.from_vehicle_speed; | |
c9 : port vehicle.to_plotresults->plotresults.from_vehicle; | |
properties | |
Actual_Processor_Binding => (reference (cpu)) applies to engine; | |
Actual_Memory_Binding => (reference (ram)) applies to engine; | |
Actual_Processor_Binding => (reference (cpu)) applies to maneuversgui; | |
Actual_Memory_Binding => (reference (ram)) applies to maneuversgui; | |
Actual_Processor_Binding => (reference (cpu)) applies to moreinfo; | |
Actual_Memory_Binding => (reference (ram)) applies to moreinfo; | |
Actual_Processor_Binding => (reference (cpu)) applies to plotresults; | |
Actual_Memory_Binding => (reference (ram)) applies to plotresults; | |
Actual_Processor_Binding => (reference (cpu)) applies to transmission; | |
Actual_Memory_Binding => (reference (ram)) applies to transmission; | |
Actual_Processor_Binding => (reference (cpu)) applies to vehicle; | |
Actual_Memory_Binding => (reference (ram)) applies to vehicle; | |
Actual_Processor_Binding => (reference (cpu)) applies to scope1; | |
Actual_Memory_Binding => (reference (ram)) applies to scope1; | |
end mainsystem.i; | |
end transmission::version1::runtime; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment