ocarina-backends-pn-components.ads 3.86 KB
Newer Older
1
2
3
4
5
6
7
8
------------------------------------------------------------------------------
--                                                                          --
--                           OCARINA COMPONENTS                             --
--                                                                          --
--       O C A R I N A . B A C K E N D S . P N . C O M P O N E N T S        --
--                                                                          --
--                                 S p e c                                  --
--                                                                          --
9
--    Copyright (C) 2008-2009 Telecom ParisTech, 2010-2014 ESA & ISAE.      --
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--                                                                          --
-- Ocarina  is free software;  you  can  redistribute  it and/or  modify    --
-- it under terms of the GNU General Public License as published by the     --
-- Free Software Foundation; either version 2, or (at your option) any      --
-- later version. Ocarina 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 distributed with Ocarina; see file COPYING.   --
-- If not, write to the Free Software Foundation, 51 Franklin Street, Fifth --
-- Floor, Boston, MA 02111-1301, USA.                                       --
--                                                                          --
-- As a special exception,  if other files  instantiate  generics from this --
-- unit, or you link  this unit with other files  to produce an executable, --
-- this  unit  does not  by itself cause  the resulting  executable to be   --
-- covered  by the  GNU  General  Public  License. This exception does not  --
-- however invalidate  any other reasons why the executable file might be   --
-- covered by the GNU Public License.                                       --
--                                                                          --
jhugues's avatar
jhugues committed
29
30
--                 Ocarina is maintained by the TASTE project               --
--                      (taste-users@lists.tuxfamily.org)                   --
31
32
33
34
35
36
--                                                                          --
------------------------------------------------------------------------------

package Ocarina.Backends.PN.Components is

   function Process_Architecture_Instance
37
     (Architecture_Instance : Ocarina.Types.Node_Id;
jhugues's avatar
jhugues committed
38
      F : Unsigned_Long_Long)  --  0 for CPN, 1 for TPN
39
     return Ocarina.Types.Node_Id;
jhugues's avatar
jhugues committed
40
41
   --  Transform the Ocarina tree of the distributed application nodes
   --  into a Petri Net (pn) tree.
42
43
44

private

45
46
47
48
   type PN_Init_Node is access procedure (N : Ocarina.Types.Node_Id;
                                          A : Ocarina.Types.Node_Id;
                                          Name : Ocarina.Types.Name_Id;
                                          PN_G : Ocarina.Types.Node_Id;
49
50
                                          M    : Unsigned_Long_Long);

51
52
53
54
   type PN_Init_Arc is access procedure (N : Ocarina.Types.Node_Id;
                                         A : Ocarina.Types.Node_Id;
                                         F : Ocarina.Types.Node_Id;
                                         T : Ocarina.Types.Node_Id;
55
56
                                         K : Unsigned_Long_Long);

57
58
59
   type PN_Dup_Arc is access procedure (A        : Ocarina.Types.Node_Id;
                                        A_Inst   : Ocarina.Types.Node_Id;
                                        Endpoint : Ocarina.Types.Node_Id;
60
61
                                        From     : Boolean);

62
   type PN_New_Node is access function return Ocarina.Types.Node_Id;
63
64

end Ocarina.Backends.PN.Components;