------------------------------------------------------- ------------------------- ------------------------------------------------------------------------------ -- Cheddar is a GNU GPL real time scheduling analysis tool. -- This program provides services to automatically check performances -- of real time architectures. -- -- Copyright (C) 2002-2010, by Frank Singhoff, Alain Plantec, Jerome Legrand -- -- The Cheddar project was started in 2002 by -- the LISyC Team, University of Western Britanny. -- -- Since 2008, Ellidiss technologies also contributes to the development of -- Cheddar and provides industrial support. -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- -- -- Contact : cheddar@listes.univ-brest.fr -- ------------------------------------------------------------------------------ -- Last update : -- $Rev: 97 $ -- $Date: 2007-07-20 15:17:15 +0200 (Fri, 20 Jul 2007) $ -- $Author: singhoff $ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ with Systems; use Systems; package architecture_models is -- Monocore model, preemptive scheduler, solution of exercise 1 -- procedure model0 (sys : out System); -- Monocore model, non preemptive scheduler, solution of exercise 1 -- procedure model3 (sys : out System); -- Multicore models -- procedure model1 (sys : out System); procedure model2 (sys : out System); -- DM global/multiprocessor scheduling -- to test job level task migration and time unit task migration -- example from the real time scheduling course of F. Singhoff -- procedure global_DM_with_job_level_migration_scheduling (sys : out System); procedure global_DM_with_time_unit_level_migration_scheduling (sys : out System); -- Polling server -- procedure polling1 (sys : out System); procedure polling2 (sys : out System); -- Deferrable server -- procedure Deferrable1 (sys : out System); procedure Deferrable2 (sys : out System); -- Pfair scheduling -- example from the real time scheduling course of F. Singhoff procedure PF1 (sys : out System); ---------------------------------------------------- -- Large tast set to stress Cheddar ---------------------------------------------------- -- 100 tasks but one processor/core procedure task100 (sys : out System); -- 200 tasks and several processors/cores procedure task200 (sys : out System); ---------------------------------------------------- -- Set of architecture to test XML printer/parser ---------------------------------------------------- -- empty XML file procedure test1_xml (sys : out System); -- 2 cores only procedure test2_xml (sys : out System); -- 1 core/1 address space/several tasks procedure test3_xml (sys : out System); -- 2 core/1 address space/several tasks procedure test4_xml (sys : out System); -- 1 core/1 address space/several tasks with offsets procedure test5_xml (sys : out System); -- 2 cores with tasks and shared resources procedure test6_xml (sys : out System); -- 2 cores with tasks and buffers procedure test7_xml (sys : out System); -- 2 cores with tasks various task dependency procedure test8_xml (sys : out System); -- 1 core with tasks and users defined schedulers/user defined tasks -- and user defined parameters procedure test9_xml (sys : out System); -- 2 cores with tasks and messages procedure test10_xml (sys : out System); -- 2 cores with tasks and static deployments procedure test11_xml (sys : out System); -- 2 cores with tasks and dynamic deployments procedure test12_xml (sys : out System); -- 2 mono core processors with tasks procedure test13_xml (sys : out System); -- csg example procedure csg_xml (sys : out System); -- csp example procedure csp_xml (sys : out System); -- 1 core with tasks and network -- in order to generate an example of network procedure test_network_xml (sys : out System); ---------------------------------------------------- -- Set of architecture to test scheduling with offset ---------------------------------------------------- -- Audsley set procedure offset_test1 (sys : out System); -- Audsley set with 3 transactions procedure offset_test2 (sys : out System); -- Audsley, same set as test2 but with 1 transaction after task --transformation procedure offset_test3 (sys : out System); ---------------------------------------------------- -- Architectures to test cache behavior ---------------------------------------------------- -- 2 cores with tasks and shared resources to test data cache access procedure cache1 (sys : out System); ---------------------------------------------------- -- Architectures to handle ARINC 653 systems ---------------------------------------------------- -- Cyclic hierarchical scheduler : each partition is activated one during a --given -- quantum -- procedure arinc653_cyclic (sys : out System); -- off-line partition scheduling hierarchical scheduler : partitions are --activated -- according to a event table (off line scheduling) -- procedure arinc653_offline (sys : out System); end architecture_models;