----------------------------------------------- --------------------------------- ------------------------------------------------------------------------------ -- 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: 523 $ -- $Date: 2012-09-26 14:09:39 +0100 (Wed, 26 Sep 2012) $ -- $Author: fotsing $ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with unbounded_strings; use unbounded_strings; package Manual is Ustr_File_Menu : constant Unbounded_String := To_Unbounded_String ("File Menu") & unbounded_lf & unbounded_lf; Ustr_File_Menu_Content : constant Unbounded_String := To_Unbounded_String ("1. New sub-menu : create a new XML project.") & unbounded_lf & To_Unbounded_String ("2. Open sub-menu : load a XML project file into the editor.") & unbounded_lf & To_Unbounded_String( "3. Save sub-menu : save the current XML project into a file with the current XML project file name." ) & unbounded_lf & To_Unbounded_String( "4. Save as sub-menu : save the current XML project into a file with a new XML project file name." ) & unbounded_lf & To_Unbounded_String ("5. AADL sub-menu : ") & unbounded_lf & To_Unbounded_String (" 5.1 AADL import : read an AADL specification into Cheddar") & unbounded_lf & To_Unbounded_String( " 5.2 AADL export : translate a Cheddar specification towards an AADL specification" ) & unbounded_lf & To_Unbounded_String (" 5.3 Export property sets used by Cheddar") & unbounded_lf & To_Unbounded_String (" 5.4 Export standard AADL property set") & unbounded_lf & To_Unbounded_String (" 5.5 Customize how AADL services work") & unbounded_lf & To_Unbounded_String ("6. Exit sub-menu : Quit the Cheddar's toolset.") & unbounded_lf & unbounded_lf; Ustr_Edit_Menu : constant Unbounded_String := To_Unbounded_String ("Edit Menu") & unbounded_lf & unbounded_lf; Ustr_Edit_Menu_Content : constant Unbounded_String := To_Unbounded_String( "1. Add sub-menu : create a new object in the current XML project. Object can be a processor, a task, a message, a buffer, a network or an event analyzer." ) & unbounded_lf & To_Unbounded_String( "2. Delete sub-menu : remove an object from the current XML project. Object can be a processor, a task, a message, a buffer, a network or an event analyzer" ) & unbounded_lf & To_Unbounded_String( "3. Update sub-menu : change parameters of an already defined object in the current XML project. Object can be a processor, a task, a message, a buffer, a network or an event analyzer." ) & unbounded_lf & To_Unbounded_String( "4. Duplicate sub-menu : copy an objet to a new one in the current XML project. Object can be a processor, a task, a message, a buffer, a network or an event analyzer." ) & unbounded_lf & unbounded_lf; Ustr_View_Menu : constant Unbounded_String := To_Unbounded_String ("View Menu") & unbounded_lf & unbounded_lf; Ustr_View_Menu_Content : constant Unbounded_String := To_Unbounded_String( "1. List sub-menu : show a set of object of the current XML project. Set of object can be the processor set, the" ) & To_Unbounded_String( " task set, the message set, the buffer set, the network set or the event analyzer set." ) & unbounded_lf & unbounded_lf; Ustr_Tools_Menu : constant Unbounded_String := To_Unbounded_String ("Tools Menu") & unbounded_lf & unbounded_lf; Ustr_Tools_Menu_Content : constant Unbounded_String := To_Unbounded_String ("") & unbounded_lf & To_Unbounded_String( "1. Clear work space sub-menu : clean the working area (main window). Do not change anything on the project itself. " ) & unbounded_lf & To_Unbounded_String ("2. Scheduling sub-menu : ") & unbounded_lf & To_Unbounded_String( " 2.1 Scheduling simulation sub-menu : compute and draw scheduling simulation. This sub-menu allows the user to customize the way the scheduling is computed." ) & unbounded_lf & To_Unbounded_String( " 2.2 Scheduling feasibility sub-menu : compute some basics feasibility tests on all processors. Feasibility test computed there are utilization factor test and response time test." ) & unbounded_lf & To_Unbounded_String( " 2.3 Set priorities according to Rate Monotonic sub-menu : change priority of the task " ) & To_Unbounded_String( " according to the period (Tasks with the smallest period become tasks with the highest priority)." ) & unbounded_lf & To_Unbounded_String( " 2.4 Set priorities according to Deadline Monotonic sub-menu : change priority of the task" ) & To_Unbounded_String( " according to the deadline (Tasks with the smallest deadline become tasks with the highest priority). " ) & unbounded_lf & To_Unbounded_String( " 2.5 Partition sub-menu : provide some services to assign tasks on a set of processor." ) & unbounded_lf & To_Unbounded_String( " 2.5.1 With Best Fit sub-sub-menu : assign tasks on the set of processor according to the Best Fit algorithm. " ) & unbounded_lf & To_Unbounded_String( " 2.5.2 With General Task sub-sub-menu : assign tasks on the set of processor according to the General Task algorithm." ) & unbounded_lf & To_Unbounded_String( " 2.5.3 With Next Fit sub-sub-menu : assign tasks on the set of processor according to the Next Fit algorithm." ) & unbounded_lf & To_Unbounded_String( " 2.5.4 With First Fit sub-sub-menu : assign tasks on the set of processor according to the First Fit algorithm." ) & unbounded_lf & To_Unbounded_String( " 2.5.5 With Small Task sub-sub-menu : assign tasks on the set of processor according to the Small Task algorithm." ) & unbounded_lf & To_Unbounded_String( " 2.6 Event table services sub-menu : provide some basic services on event tables." ) & unbounded_lf & To_Unbounded_String( " 2.6.1 Compute scheduling and generate event table sub-sub-menu : compute the scheduling and produce the event table." ) & unbounded_lf & To_Unbounded_String( " 2.6.2 Draw time line from event table sub-sub-menu : draw time line from the last computed or loaded scheduling/event table." ) & unbounded_lf & To_Unbounded_String( " 2.6.3 Run analysis on event table sub-sub-menu : perform analysis on the last computed or loaded scheduling/event table." ) & unbounded_lf & To_Unbounded_String( " 2.6.4 Export event table sub-sub-menu : save the last scheduling/event table on a file in a XML format." ) & unbounded_lf & To_Unbounded_String( " 2.7 Options sub-menu : describe how the scheduling simulation will be done." ) & unbounded_lf & To_Unbounded_String ("3. Resource sub-menu : from there, you ") & unbounded_lf & To_Unbounded_String( " 3.1 Bound on blocking time sub-sub-menu : compute bound on shared resources blocking time according to PCP and PIP protocols without computing the scheduling" ) & unbounded_lf & To_Unbounded_String( " 3.2 Looking for priority inversion from simulation sub-sub-menu : run analysis on a previously computed scheduling to look for hight priority " ) & To_Unbounded_String (" tasks blocked by lower priority task at shared resource access.") & unbounded_lf & To_Unbounded_String( " 3.3 Looking for priority inversion from simulation sub-sub-menu : run analysis on a previously computed scheduling to look for tasks blocked for ever on shared reousrces." ) & unbounded_lf & To_Unbounded_String( "4. Buffer sub-menu : this submenu can help you to study buffers shared by tasks." ) & unbounded_lf & To_Unbounded_String( " 4.1 Buffer simulation sub-sub-menu : compute buffer utilization factor and message waiting time from a given scheduling simulation. " ) & unbounded_lf & To_Unbounded_String( " 4.2 Buffer feasibility tests sub-sub-menu : compute bound on buffer utilization factor and essage waiting time without computing scheduling" ) & unbounded_lf & To_Unbounded_String( "5. Precedency sub-menu : You will find here some heuristics/algorithms that can schedule or check feasibility of a tasks set with dependencies" ) & unbounded_lf & To_Unbounded_String( " 5.1 Chetto/Blazewicz modifications on priorities sub-sub-menu : This service create independent task set from" ) & To_Unbounded_String( " a dependent task set by a modification oe task priorities according to precedency constraints." ) & unbounded_lf & To_Unbounded_String( " 5.2 Chetto/Blazewicz modifications on deadlines sub-sub-menu : This service create independent task set from" ) & To_Unbounded_String( " a dependent task set by a modification oe task deadlines according to precedency constraints." ) & unbounded_lf & To_Unbounded_String( " 5.3 End to End response time : compute response time from a set of task (which have precendency relationship) with the Holistic method." ) & unbounded_lf & To_Unbounded_String( "6. Random sub-menu : this submenu should provide necessary tools to do simulations with random events." ) & unbounded_lf & To_Unbounded_String( " 6.1 Compute response time density sub-menu : compute statistic distribution of task response time from a scheduling simulation." ) & unbounded_lf & unbounded_lf; Ustr_Help_Menu : constant Unbounded_String := To_Unbounded_String ("Help Menu") & unbounded_lf & unbounded_lf; Ustr_Help_Menu_Content : constant Unbounded_String := To_Unbounded_String( "1. About Cheddar sub-menu : provide version number of the Cheddar's binaries") & unbounded_lf & To_Unbounded_String ("2. Manual sub-menu : contains the text given in this section") & unbounded_lf & To_Unbounded_String( "3. Scheduling references sub-menu : gives all paper references used to compute feasibility tests and simulation results." ) & unbounded_lf & unbounded_lf; end Manual;