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 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 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 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 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