1<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2<!-- BEGIN LICENSE BLOCK
3   - Version: CMPL 1.1
4   -
5   - The contents of this file are subject to the Cisco-style Mozilla Public
6   - License Version 1.1 (the "License"); you may not use this file except
7   - in compliance with the License.  You may obtain a copy of the License
8   - at www.eclipse-clp.org/license.
9   - 
10   - Software distributed under the License is distributed on an "AS IS"
11   - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See
12   - the License for the specific language governing rights and limitations
13   - under the License. 
14   - 
15   - The Original Code is  The ECLiPSe Constraint Logic Programming System. 
16   - The Initial Developer of the Original Code is  Cisco Systems, Inc. 
17   - Portions created by the Initial Developer are
18   - Copyright (C) 2006 Cisco Systems, Inc.  All Rights Reserved.
19   - 
20   - Contributor(s): 
21   - 
22   - END LICENSE BLOCK -->
23<html>
24<head>
25   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
26   <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; SunOS 5.7 sun4u) [Netscape]">
27</head>
28<body text="#000000" bgcolor="#CCFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
29
30<h1>
31Overview of ECLiPSe components and assignment of maintainers</h1>
32Author: Joachim Schimpf
33<br>Date: 2002-02-07
34<h2>
35Purpose</h2>
36This document gives an overview of all components of the ECLiPSe system
37and assigns two or more maintainers to each component. The intentions are
38<ul>
39<li>
40every change by one maintainer is reviewed (possibly after check-in) by
41the/an other maintainer</li>
42
43<li>
44every change by a non-maintainer should be reviewed by a maintainer before
45check-in</li>
46
47<li>
48at every team meeting, we go through the recent CVS commit log and make
49maintainers aware of what needs to be reviewed</li>
50</ul>
51Abbreviations used:
52<ul>
53<li>
54amc - Andy Cheadle</li>
55
56<li>
57ajs - Andrew Sadler</li>
58
59<li>
60hhe - Hani El-Sakkout</li>
61
62<li>
63ks - Kish Shen</li>
64
65<li>
66mgw - Mark Wallace</li>
67
68<li>
69josh - Josh Singer</li>
70
71<li>
72js - Joachim Schimpf</li>
73
74<li>
75sn - Stefano Novello</li>
76
77<li>
78wh - Warwick Harvey</li>
79</ul>
80
81<h1>
82ECLiPSe Kernel Components</h1>
83&nbsp;
84<table BORDER=2 WIDTH="100%" NOSAVE >
85<tr BGCOLOR="#33CCFF" NOSAVE>
86<td NOSAVE>Component</td>
87
88<td>Description</td>
89
90<td>Files in</td>
91
92<td>Documentation</td>
93
94<td>Test</td>
95
96<td>Owner</td>
97
98<td>We support</td>
99
100<td>Maint 1</td>
101
102<td>Maint 2</td>
103</tr>
104
105<tr>
106<td>Arithmetic</td>
107
108<td>All ground arithmetic, including GNU multi precision library, used
109for Eclipse bignums and rationals</td>
110
111<td>Gmp/*
112<br>Kernel/src/{emu,bip_arith,bigrat,intervals}.c</td>
113
114<td>Internals Manual</td>
115
116<td></td>
117
118<td>ICP
119<br>LGPL</td>
120
121<td>yes</td>
122
123<td>js</td>
124
125<td>wh</td>
126</tr>
127
128<tr>
129<td>Pds,Alog,Usc</td>
130
131<td>Parallel system support</td>
132
133<td>Pds/
134<br>Alog/
135<br>Usc/</td>
136
137<td>Reports by Kees Schuerman</td>
138
139<td></td>
140
141<td>ICP</td>
142
143<td>no</td>
144
145<td>-</td>
146
147<td>-</td>
148</tr>
149
150<tr>
151<td>Shm</td>
152
153<td>Memory management</td>
154
155<td>Shm/</td>
156
157<td>DOC file</td>
158
159<td></td>
160
161<td>ICP</td>
162
163<td>yes</td>
164
165<td>js</td>
166
167<td>amc</td>
168</tr>
169
170<tr>
171<td>WinMSC</td>
172
173<td>Windows Visual C build structure for Eclipse</td>
174
175<td>WinMSC/</td>
176
177<td>source</td>
178
179<td></td>
180
181<td>ICP</td>
182
183<td>yes</td>
184
185<td>js</td>
186
187<td>wh</td>
188</tr>
189
190<tr>
191<td>INSTALL</td>
192
193<td>Global install and build structure, makefiles</td>
194
195<td>*/INSTALL,BUILD,Makefile</td>
196
197<td>Memo</td>
198
199<td></td>
200
201<td>ICP</td>
202
203<td>yes</td>
204
205<td>wh</td>
206
207<td>ajs</td>
208</tr>
209
210<tr>
211<td>Control</td>
212
213<td>All solutions, suspensions, priorities, events etc</td>
214
215<td>Kernel/src/emu*, bip_control
216<br>Kernel/lib/setof</td>
217
218<td>Internals Manual</td>
219
220<td></td>
221
222<td>ICP</td>
223
224<td>yes</td>
225
226<td>js</td>
227
228<td>ks</td>
229</tr>
230
231<tr>
232<td>Compiler (old)</td>
233
234<td>Micha Meier's compiler, implemented in C</td>
235
236<td>sepia/src/head,body,pass*,procedure,section</td>
237
238<td>source
239<br>Micha's papers</td>
240
241<td></td>
242
243<td>ICP</td>
244
245<td>yes</td>
246
247<td>-</td>
248
249<td>-</td>
250</tr>
251
252<tr>
253<td>Compiler (new)</td>
254
255<td>New compiler, implemented in Eclipse</td>
256
257<td>Compiler/*</td>
258
259<td>Implementation Report</td>
260
261<td></td>
262
263<td>ICP</td>
264
265<td>yes</td>
266
267<td>js</td>
268
269<td>ks</td>
270</tr>
271
272<tr>
273<td>Heap Storage</td>
274
275<td>Everything related to nonlogical storage</td>
276
277<td>Kernel/src/bip_record, property, proc_desc, bip_array, dynamic</td>
278
279<td>Internals Manual</td>
280
281<td></td>
282
283<td>ICP</td>
284
285<td>yes</td>
286
287<td>js</td>
288
289<td>ks</td>
290</tr>
291
292<tr>
293<td>Term Manip</td>
294
295<td>All non-numeric operations (strings etc)</td>
296
297<td>Kernel/src/bip_strings,tconv,comp</td>
298
299<td>Internals Manual</td>
300
301<td></td>
302
303<td>ICP</td>
304
305<td>yes</td>
306
307<td>js</td>
308
309<td>ks</td>
310</tr>
311
312<tr NOSAVE>
313<td>Low level I/O</td>
314
315<td>Buffers, files, sockets, streams</td>
316
317<td>Kernel/src/io, bip_io</td>
318
319<td NOSAVE>Internals Manual</td>
320
321<td></td>
322
323<td>ICP</td>
324
325<td>yes</td>
326
327<td>js</td>
328
329<td>ajs</td>
330</tr>
331
332<tr>
333<td>Read/Write</td>
334
335<td>lexer, parser, writer</td>
336
337<td>Kernel/src/lex, read, write, operator</td>
338
339<td>Internals Manual</td>
340
341<td></td>
342
343<td>ICP</td>
344
345<td>yes</td>
346
347<td>js</td>
348
349<td>ks</td>
350</tr>
351
352<tr>
353<td>Modules</td>
354
355<td>dictionary, procedure and property descriptors</td>
356
357<td>Kernel/src/proc_desc,bip_module,dict</td>
358
359<td>Internals Manual</td>
360
361<td></td>
362
363<td>ICP</td>
364
365<td>yes</td>
366
367<td>js</td>
368
369<td>ks</td>
370</tr>
371
372<tr>
373<td>Engine</td>
374
375<td>Emulator, garbage collector, stack management</td>
376
377<td>Kernel/src/emu*, gc*, mem*</td>
378
379<td>Internals Manual</td>
380
381<td></td>
382
383<td>ICP</td>
384
385<td>yes</td>
386
387<td>js</td>
388
389<td>ks
390<br>amc</td>
391</tr>
392
393<tr>
394<td>OS interface</td>
395
396<td>Operating system interface predicates</td>
397
398<td>Kernel/src/os_support, bip_misc</td>
399
400<td>source</td>
401
402<td></td>
403
404<td>ICP</td>
405
406<td>yes</td>
407
408<td>js</td>
409
410<td>ks</td>
411</tr>
412
413<tr>
414<td>Compiler support</td>
415
416<td>Assembler, compiled file storage</td>
417
418<td>Kernel/lib/fcompile,asm</td>
419
420<td>source,eci</td>
421
422<td></td>
423
424<td>ICP</td>
425
426<td>yes</td>
427
428<td>ks</td>
429
430<td>js</td>
431</tr>
432
433<tr>
434<td>Testing</td>
435
436<td>Test harness and utilities</td>
437
438<td>Tests/aitch, test_eclipse
439<br>Kernel/lib/t_all,test_util,timelog</td>
440
441<td>source</td>
442
443<td></td>
444
445<td>ICP</td>
446
447<td>yes</td>
448
449<td>wh</td>
450
451<td>js</td>
452</tr>
453</table>
454<!-- -------------------------------------------------------- -->
455<h1>
456ECLiPSe Libraries</h1>
457&nbsp;
458<table BORDER=2 WIDTH="100%" NOSAVE >
459<tr BGCOLOR="#33CCFF" NOSAVE>
460<td NOSAVE>Component</td>
461
462<td>Description</td>
463
464<td>Files in</td>
465
466<td>Documentation</td>
467
468<td>Test</td>
469
470<td>Owner</td>
471
472<td>We support</td>
473
474<td>Maint 1</td>
475
476<td>Maint 2</td>
477</tr>
478
479<tr>
480<td>Clpqr</td>
481
482<td>Simplex solver in Prolog</td>
483
484<td>Clpqr/</td>
485
486<td>Paper by Holzbaur</td>
487
488<td></td>
489
490<td>3rd party</td>
491
492<td>no</td>
493
494<td>-</td>
495
496<td>-</td>
497</tr>
498
499<tr>
500<td>Contrib</td>
501
502<td>DEC10 Prolog libraries</td>
503
504<td>Contrib/</td>
505
506<td>source, .hlp files</td>
507
508<td></td>
509
510<td>public domain</td>
511
512<td>no</td>
513
514<td>-</td>
515
516<td>-</td>
517</tr>
518
519<tr>
520<td>Oci</td>
521
522<td>Oracle interface</td>
523
524<td>Oci/</td>
525
526<td>libman/oci.tex</td>
527
528<td></td>
529
530<td>PTL</td>
531
532<td>no</td>
533
534<td>sn</td>
535
536<td>-</td>
537</tr>
538
539<tr>
540<td>CHR</td>
541
542<td>Constraint handling rules</td>
543
544<td>ecrc_solvers/chr</td>
545
546<td>Library Manual</td>
547
548<td></td>
549
550<td>ICP</td>
551
552<td>no</td>
553
554<td>-</td>
555
556<td>-</td>
557</tr>
558
559<tr>
560<td>ECH</td>
561
562<td>New constraint handling rules</td>
563
564<td>icparc_solvers/ech</td>
565
566<td>Library Manual</td>
567
568<td></td>
569
570<td>ICP</td>
571
572<td>yes</td>
573
574<td>ks</td>
575
576<td>ajs</td>
577</tr>
578
579<tr>
580<td>Conjunto</td>
581
582<td>Set solver</td>
583
584<td>ecrc_solvers/</td>
585
586<td>Library Manual</td>
587
588<td></td>
589
590<td>ICP</td>
591
592<td>no</td>
593
594<td>-</td>
595
596<td>-</td>
597</tr>
598
599<tr>
600<td>Grace</td>
601
602<td>Visualiser</td>
603
604<td>ecrc_solvers/grace/</td>
605
606<td></td>
607
608<td></td>
609
610<td></td>
611
612<td>no</td>
613
614<td>-</td>
615
616<td>-</td>
617</tr>
618
619<tr>
620<td>Propia</td>
621
622<td>Generalised propagation</td>
623
624<td>ecrc_solvers/</td>
625
626<td>Library Manual</td>
627
628<td></td>
629
630<td>ICP</td>
631
632<td>yes</td>
633
634<td>mgw</td>
635
636<td>wh</td>
637</tr>
638
639<tr>
640<td>Global FD/IC</td>
641
642<td>Global fd constraints</td>
643
644<td>icparc_solvers/{edge_finder, cumulative, fd_global}</td>
645
646<td>Library Manual</td>
647
648<td></td>
649
650<td>ICP</td>
651
652<td>yes</td>
653
654<td>js</td>
655
656<td>ajs</td>
657</tr>
658
659<tr>
660<td>Eplex</td>
661
662<td>Cplex/Xpress interface</td>
663
664<td>icparc_solvers/eplex*</td>
665
666<td>Library Manual</td>
667
668<td></td>
669
670<td>ICP</td>
671
672<td>yes</td>
673
674<td>ks</td>
675
676<td>js</td>
677</tr>
678
679<tr>
680<td>Probing</td>
681
682<td>Probing for scheduling</td>
683
684<td>icparc_solvers/probe*</td>
685
686<td>Library Manual</td>
687
688<td></td>
689
690<td>ICP</td>
691
692<td>yes</td>
693
694<td>mgw</td>
695
696<td>wh</td>
697</tr>
698
699<tr>
700<td>Repair</td>
701
702<td>Repair/tentative value library</td>
703
704<td>icparc_solvers/repair*</td>
705
706<td>Library Manual</td>
707
708<td></td>
709
710<td>ICP</td>
711
712<td>yes</td>
713
714<td>js</td>
715
716<td>mgw
717<br>sn/hhe</td>
718</tr>
719
720<tr>
721<td>Ria</td>
722
723<td>Real interval constraints</td>
724
725<td>icparc_solvers/ria*</td>
726
727<td>Library Manual</td>
728
729<td></td>
730
731<td>ICP</td>
732
733<td>yes</td>
734
735<td>js</td>
736
737<td>wh</td>
738</tr>
739
740<tr>
741<td>IC</td>
742
743<td>Interval constraints</td>
744
745<td>icparc_solvers/ic*</td>
746
747<td>Library Manual</td>
748
749<td></td>
750
751<td>ICP</td>
752
753<td>yes</td>
754
755<td>wh</td>
756
757<td>ajs</td>
758</tr>
759
760<tr>
761<td>Search samples</td>
762
763<td>Code templates and examples</td>
764
765<td>icparc_solvers/cbs,wcs,knapsack,repair_fd</td>
766
767<td>Tutorial</td>
768
769<td></td>
770
771<td>ICP</td>
772
773<td>no</td>
774
775<td>mgw</td>
776
777<td>ks</td>
778</tr>
779
780<tr>
781<td>Graph alg</td>
782
783<td>Graph representation and algorithms library</td>
784
785<td>icparc_solvers/graph_algorithms</td>
786
787<td>eci</td>
788
789<td></td>
790
791<td>ICP</td>
792
793<td>yes</td>
794
795<td>js</td>
796
797<td>ajs</td>
798</tr>
799
800<tr>
801<td>daVinci</td>
802
803<td>DaVinci interface</td>
804
805<td>pt_libraries</td>
806
807<td>eci</td>
808
809<td></td>
810
811<td>PTL</td>
812
813<td>yes</td>
814
815<td>js</td>
816
817<td>hs
818<br>ks</td>
819</tr>
820
821<tr>
822<td>Search tools</td>
823
824<td>Search library for fd,
825<br>branch-and-bound</td>
826
827<td>pt_libraries
828<br>icparc_solvers/branch_and_bound</td>
829
830<td>eci</td>
831
832<td></td>
833
834<td>PTL</td>
835
836<td>yes</td>
837
838<td>js</td>
839
840<td>hs
841<br>wh</td>
842</tr>
843
844<tr>
845<td>Project Tools</td>
846
847<td></td>
848
849<td>pt_libraries/pretty_printer,...</td>
850
851<td>eci</td>
852
853<td></td>
854
855<td>PTL</td>
856
857<td>yes</td>
858
859<td>js</td>
860
861<td>hs
862<br>ks</td>
863</tr>
864
865<tr>
866<td>Utilities</td>
867
868<td>Various small libraries</td>
869
870<td>Kernel/lib/calendar, lists, shadow_cons, var_names</td>
871
872<td>source</td>
873
874<td></td>
875
876<td>ICP</td>
877
878<td>yes</td>
879
880<td>js</td>
881
882<td>ks
883<br>mgw</td>
884</tr>
885
886<tr>
887<td>FD</td>
888
889<td>Finite domain solver</td>
890
891<td>Kernel/lib/fd</td>
892
893<td>source</td>
894
895<td></td>
896
897<td>ICP</td>
898
899<td>yes</td>
900
901<td>wh</td>
902
903<td>js</td>
904</tr>
905
906<tr>
907<td>Collections</td>
908
909<td>Abstract data types for collections</td>
910
911<td>Kernel/lib/hash
912<br>mercury/m_map, m_tree234</td>
913
914<td>source</td>
915
916<td></td>
917
918<td>ICP
919<br>LGPL</td>
920
921<td>yes</td>
922
923<td>wh</td>
924
925<td>amc</td>
926</tr>
927
928<tr>
929<td>Compatibility Libraries</td>
930
931<td>Compatility packages for other, mainly Prolog systems</td>
932
933<td>Kernel/lib/bsi,cprolog,quintus,sicstus,iso</td>
934
935<td>source,eci</td>
936
937<td></td>
938
939<td>ICP</td>
940
941<td>yes</td>
942
943<td>js</td>
944
945<td>ks</td>
946</tr>
947
948<tr>
949<td>FD Sets</td>
950
951<td>Finite integer set solver</td>
952
953<td>icparc_solvers/fd_sets</td>
954
955<td>source,eci</td>
956
957<td></td>
958
959<td>ICP</td>
960
961<td>yes</td>
962
963<td>js</td>
964
965<td>wh</td>
966</tr>
967</table>
968<!-- -------------------------------------------------------- -->
969<h1>
970ECLiPSe Interfacing</h1>
971&nbsp;
972<table BORDER=2 WIDTH="100%" NOSAVE >
973<tr BGCOLOR="#33CCFF" NOSAVE>
974<td NOSAVE>Component</td>
975
976<td>Description</td>
977
978<td>Files in</td>
979
980<td>Documentation</td>
981
982<td>Test</td>
983
984<td>Owner</td>
985
986<td>We support</td>
987
988<td>Maint 1</td>
989
990<td>Maint 2</td>
991</tr>
992
993<tr>
994<td>JavaInterface</td>
995
996<td>Java embedding and remote interface</td>
997
998<td>JavaInterface/*</td>
999
1000<td>Embedding Manual, javadoc</td>
1001
1002<td></td>
1003
1004<td>PTL</td>
1005
1006<td>yes</td>
1007
1008<td>josh</td>
1009
1010<td>ajs</td>
1011</tr>
1012
1013<tr>
1014<td>VBInterface</td>
1015
1016<td>Visual Basic interface</td>
1017
1018<td>VBInterface/</td>
1019
1020<td>Embedding Manual</td>
1021
1022<td></td>
1023
1024<td>ICP</td>
1025
1026<td>no</td>
1027
1028<td>sn</td>
1029
1030<td>-</td>
1031</tr>
1032
1033<tr>
1034<td>Tcl Interface</td>
1035
1036<td>Tcl/Tk embedding interface</td>
1037
1038<td>lib_tcl/eclipse.tcl</td>
1039
1040<td>Embedding Manual</td>
1041
1042<td></td>
1043
1044<td>ICP</td>
1045
1046<td>yes</td>
1047
1048<td>ks</td>
1049
1050<td>js</td>
1051</tr>
1052
1053<tr>
1054<td>RemoteInterface</td>
1055
1056<td>Generic remote interface</td>
1057
1058<td>Kernel/lib/</td>
1059
1060<td>Embedding Manual</td>
1061
1062<td></td>
1063
1064<td>ICP</td>
1065
1066<td>yes</td>
1067
1068<td>ks</td>
1069
1070<td>josh</td>
1071</tr>
1072
1073<tr>
1074<td>C/C++ Interface</td>
1075
1076<td>Low level embedding and external predicate interface</td>
1077
1078<td>Kernel/src/embed,eclipse_cc,external,embed</td>
1079
1080<td>Embedding Manual</td>
1081
1082<td></td>
1083
1084<td>ICP</td>
1085
1086<td>yes</td>
1087
1088<td>ajs</td>
1089
1090<td>sn</td>
1091</tr>
1092</table>
1093<!-- -------------------------------------------------------- -->
1094<h1>
1095ECLiPSe Development Tools</h1>
1096&nbsp;
1097<table BORDER=2 WIDTH="100%" NOSAVE >
1098<tr BGCOLOR="#33CCFF" NOSAVE>
1099<td NOSAVE>Component</td>
1100
1101<td>Description</td>
1102
1103<td>Files in</td>
1104
1105<td>Documentation</td>
1106
1107<td>Test</td>
1108
1109<td>Owner</td>
1110
1111<td>We support</td>
1112
1113<td>Maint 1</td>
1114
1115<td>Maint 2</td>
1116</tr>
1117
1118<tr>
1119<td>Opium</td>
1120
1121<td>Debugging system</td>
1122
1123<td>Opium/</td>
1124
1125<td>Papers, reports, manual by Mireille Ducasse</td>
1126
1127<td></td>
1128
1129<td>public domain</td>
1130
1131<td>no</td>
1132
1133<td>-</td>
1134
1135<td>-</td>
1136</tr>
1137
1138<tr>
1139<td>Toplevel</td>
1140
1141<td>Interactive toplevel</td>
1142
1143<td>Kernel/lib/toplevel</td>
1144
1145<td>source</td>
1146
1147<td></td>
1148
1149<td>ICP</td>
1150
1151<td>yes</td>
1152
1153<td>js</td>
1154
1155<td>ks</td>
1156</tr>
1157
1158<tr>
1159<td>Debugger and Profiler</td>
1160
1161<td>The box model tracer with its user interfaces</td>
1162
1163<td>Kernel/lib/tracer*, profile,
1164<br>lib_tcl/eclipse_tools</td>
1165
1166<td>source</td>
1167
1168<td></td>
1169
1170<td>ICP</td>
1171
1172<td>yes</td>
1173
1174<td>js</td>
1175
1176<td>ks</td>
1177</tr>
1178
1179<tr>
1180<td>Documenter</td>
1181
1182<td>Tools to extract interfaces and generate documentation</td>
1183
1184<td>Kernel/lib/document</td>
1185
1186<td>source</td>
1187
1188<td></td>
1189
1190<td>ICP</td>
1191
1192<td>yes</td>
1193
1194<td>js</td>
1195
1196<td>ks</td>
1197</tr>
1198
1199<tr>
1200<td>TkEclipse</td>
1201
1202<td>The development GUI inTCL/Tkl</td>
1203
1204<td>lib_tcl/*</td>
1205
1206<td>source</td>
1207
1208<td>script</td>
1209
1210<td>ICP</td>
1211
1212<td>yes</td>
1213
1214<td>ks</td>
1215
1216<td>js</td>
1217</tr>
1218
1219<tr>
1220<td>Visualisation Tools</td>
1221
1222<td>Development tools for visualising constraint programming and search</td>
1223
1224<td>Visualisation/*</td>
1225
1226<td>tbd</td>
1227
1228<td></td>
1229
1230<td>PTL</td>
1231
1232<td>yes</td>
1233
1234<td>ajs</td>
1235
1236<td>amc</td>
1237</tr>
1238</table>
1239
1240</body>
1241</html>
1242