Flick Logo

Flick Links

NOTE: This page is my personal collection of Flick-related links.
Visit the Flick Home Page for information about Flick itself.


Local Stuff

The Flick Home Page
Online Cross-Referenced Flick Sources
Also see the index of all Flux cross-referenced sources.
Flest Logs (Viewlog, Internal)
Also available via a file URL.
Reports from the Nightly Flick Builds (a.k.a. viewlog)
Flux Project Documentation and Notes (Internal)
Flux Project WikiWikiWeb Server (Internal)
Flux Project Mailing List Archives (Internal)
Fluke Application Programming Interface Reference (Internal)
Flick Documentation, Notes, and Related Information
Directory of /papers
USC and ILU: interface definition language systems
Fluke Internal Documentation


People

Andy Gokhale
Michi Hennig
Bill Janssen
Peter Lee
George Necula
Christian Queinnec
Vincent Russo
Douglas C. Schmidt
Steve Vinoski
Andreas Vogel


Papers

Object Management Group. The Common Object Request Broker: Architecture and Specification. Revision 2.3, OMG document formal/98-12-01, June 1999. Part of the CORBA 2.3 specification.
(Catalog @ OMG; gzip'ed PS @ OMG; gzip'ed PDF @ OMG; gzip'ed PS @ local access only; gzip'ed PDF @ local access only)

Object Management Group. Ada Language Mapping Specification. OMG document 99-07-29, June 1999. Part of the CORBA 2.3 specification.
(Catalog @ OMG; PS @ OMG; PDF @ OMG; gzip'ed PS @ local access only; gzip'ed PDF @ local access only)

Object Management Group. C Language Mapping Specification. OMG document 99-07-35, June 1999. Part of the CORBA 2.3 specification.
(Catalog @ OMG; PS @ OMG; PDF @ OMG; gzip'ed PS @ local access only; gzip'ed PDF @ local access only)

Object Management Group. C++ Language Mapping Specification. OMG document 99-07-41, June 1999. Part of the CORBA 2.3 specification.
(Catalog @ OMG; PS @ OMG; PDF @ OMG; gzip'ed PS @ local access only; gzip'ed PDF @ local access only)

Object Management Group. COBOL Language Mapping Specification. OMG document formal/99-07-47, June 1999. Part of the CORBA 2.3 specification.
(Catalog @ OMG; PS @ OMG; PDF @ OMG; gzip'ed PS @ local access only; gzip'ed PDF @ local access only)

Object Management Group. IDL to Java Language Mapping Specification. OMG document formal/99-07-53, June 1999. Part of the CORBA 2.3 specification.
(Catalog @ OMG; PS @ OMG; PDF @ OMG; gzip'ed PS @ local access only; gzip'ed PDF @ local access only)

Object Management Group. Java to IDL Language Mapping Specification. OMG document formal/99-07-59, June 1999. Part of the CORBA 2.3 specification.
(Catalog @ OMG; PS @ OMG; PDF @ OMG; gzip'ed PS @ local access only; gzip'ed PDF @ local access only)

Object Management Group. Smalltalk Language Mapping Specification. OMG document 99-07-65, June 1999. Part of the CORBA 2.3 specification.
(Catalog @ OMG; PS @ OMG; PDF @ OMG; gzip'ed PS @ local access only; gzip'ed PDF @ local access only)

Mark B. Abbott and Larry L. Peterson. A Language-Based Approach to Protocol Implementation. Technical Report TR92-2, University of Arizona Department of Computer Science, July 1992.
(PS @ Arizona; PDF @ Arizona; gzip'ed PS @ local access only)

Mark B. Abbott and Larry L. Peterson. Increasing Network Throughput by Integrating Protocol Layers. IEEE/ACM Transactions on Networking, 1(5):600-610, October 1993.
(PS @ Arizona; PDF @ ACM; gzip'ed PS (from Arizona) @ local access only; PDF (from ACM Digitial Library) @ local access only)

Mark Bert Abbott. A Language-Based Approach to Protocol Implementation. Ph.D. dissertation, University of Arizona, August 1993. Also published as Department of Computer Science technical report TR93-24.
(PS @ Arizona; PDF @ Arizona; gzip'ed PS @ local access only)

Joshua Auerbach, Charles Barton, Mark Chu-Carroll, and Mukund Raghavachari. Mockingbird: Flexible Stub Compilation from Pairs of Declarations. In Proceedings of the 19th IEEE International Conference on Distributed Computing Systems (ICDCS '99), Austin, TX, June 1999.
(Abstract @ IEEE; PDF @ IEEE; PDF @ local access only)

Jürg Bolliger and Thomas Gross. A Framework-Based Approach to the Development of Network-Aware Applications. IEEE Transactions on Software Engineering, volume 24, number 5, pages 376-390, May 1998.
(Abstract @ IEEE; PDF @ IEEE; Abstract @ CMU; PS @ CMU; gzip'ed PS @ local access only)

Oege de Moor, Simon Peyton-Jones, and Eric Van Wyk. Aspect-Oriented Compilers. In Proceedings of the First International Symposium on Generative and Component-Based Software Engineering (GCSE '99), Erfurt, Germany, September 1999.
(gzip'ed PS @ Microsoft; gzip'ed PS @ local access only)

Cristian Francu and Ivan Marsic. An Advanced Communication Toolkit for Implementing the Broker Pattern. In Proceedings of the 19th IEEE International Conference on Distributed Computing Systems (ICDCS '99), pages 458-467, Austin, TX, June 1999.
(Abstract @ IEEE; PDF @ IEEE; gzip'ed PS @ Rutgers; gzip'ed PS @ local access only)

Svend Frølund and Jari Koistinen. Quality of Service Specification in Distributed Object Systems. In Proceedings of the Fourth USENIX Conference on Object-Oriented Technologies and Systems (COOTS '98), Santa Fe, NM, April 1998.
(Abstract @ USENIX; HTML @ USENIX; PDF @ USENIX; PDF @ local access only)

Svend Frølund and Jari Koistinen. Quality of Service Aware Distributed Object Systems. In Proceedings of the Fifth USENIX Conference on Object-Oriented Technologies and Systems (COOTS '99), San Diego, CA, May 1999.
(Abstract @ USENIX; PDF @ USENIX; PDF @ local access only)

Andreas Haeberlen, Jochen Liedtke, Yoonho Park, Lars Reuther, and Volkmar Uhlig. Stub-Code Performance is Becoming Important. In Proceedings of the First Workshop on Industrial Experiences with Systems Software (WIESS 2000), San Diego, CA, October 2000.
(PS @ IBM; gzip'ed PS @ local access only)

William L. Harrison and Samuel N. Kamin. Modular Compilers Based on Monad Transformers. In Proceedings of the IEEE International Conference on Computer Languages (ICCL '98), Chicago, IL, May 1998.
(Abtsract @ IEEE; PDF @ IEEE; gzip'ed PS @ UIUC; gzip'ed PS @ local access only)

Eddie Kohler, M. Frans Kaashoek, and David R. Montgomery. A Readable TCP in the Prolac Protocol Language. In Proceedings of the ACM SIGCOMM '99 Conference (SIGCOMM '99), Cambridge, MA, August 1999.
(Abstract @ ACM; PS @ ACM; PDF @ ACM; PDF @ MIT; gzip'ed PS @ local access only)

Fred Kuhns, Carlos O'Ryan, Douglas C. Schmidt, Ossama Othman, and Jeff Parsons. The Design and Performance of a Pluggable Protocols Framework for Object Request Broker Middleware. In Proceedings of the IFIP Sixth International Workshop on Protocols for High-Speed Networks (PfHSN '99), Salem, MA, August 1999.
(gzip'ed PS @ WUSTL; gzip'ed PS (the ``updated July 28'' version) @ local access only)

John Lamping, Gregor Kiczales, Luis Rodriguez, and Erik Ruf. An Architecture for an Open Compiler. In Proceedings of the IMSA '92 Workshop on Reflection and Meta-level Architectures, 1992.
(Abstract @ Xerox PARC; PDF @ Xerox PARC; gzip'ed PS @ local access only)

Sheng Liang, Paul Hudak, and Mark Jones. Monad Transformers and Modular Interpreters. In Conference Record of POPL '95: 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 333-343, San Fransisco, CA, January 1995.
(Abstract @ ACM; PDF @ ACM; gzip'ed PS @ local access only)

Sai-Lai Lo and Steve Pope. The Implementation of a High Performance ORB over Multiple Network Transports. Technical Report 98.4, AT&T Laboratories Cambridge, March 1998.
(PDF @ AT&T; compressed PS @ AT&T; PDF @ local access only)

Joseph P. Loyall, Alia K. Atlas, Richard E. Schantz, Christopher D. Gill, David L. Levine, Carlos O'Ryan, and Douglas C. Schmidt. Flexible and Adaptive Control of Real-Time Distributed Object Middleware. Submitted to Real-Time Systems: The International Journal of Time-Critical Computing Systems, Kluwer Academic Publishers, 2000.
(PS @ BBN; gzip'ed PS @ WUSTL; gzip'ed PS @ local access only)

Joseph P. Loyall, Richard E. Schantz, John A. Zinky, and David E. Bakken. Specifying and Measuring Quality of Service in Distributed Object Systems. In Proceedings of the First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98), Kyoto, Japan, April 1998.
(Abstract @ BBN; HTML @ BBN; PS @ BBN; PowerPoint @ BBN; gzip'ed PS @ local access only)

Message Passing Interface Forum. MPI-2: Extensions to the Message-Passing Interface. July 1997.
(compressed PS @ MPI Forum; gzip'ed PS @ local access only)

Priya Narasimhan, Louise E. Moser, and P. Michael Melliar-Smith. Exploiting the Internet Inter-ORB Protocol Interface to Provide CORBA with Fault Tolerance. In Proceedings of the Third USENIX Conference on Object-Oriented Technologies and Systems (COOTS '97), Portland, OR, June 1997.
(Abstract @ USENIX; HTML @ USENIX; PDF @ USENIX; PS @ USENIX; PDF @ local access only)

Priya Narasimhan, Louise E. Moser, and P. Michael Melliar-Smith. The Interception Approach to Reliable Distributed CORBA Objects. In Proceedings of the Third USENIX Conference on Object-Oriented Technologies and Systems (COOTS '97), Portland, OR, June 1997. Panel discussion.
(Abstract @ USENIX; HTML @ USENIX; PDF @ USENIX; PS @ USENIX; PDF @ local access only; gzip'ed PS @ local access only)

Ashish Singhai. Quarterware: A Middleware Toolkit of Software RISC Components. Ph.D. thesis, University of Illinois at Urbana-Champaign, 1999. Also published as UIUC Department of Computer Science technical report UIUCDCS-R-99-2088.
(Abstract @ UIUC; PS @ UIUC; PDF @ UIUC; gzip'ed PS @ local access only)

Ashish Singhai, Aamod Sane, and Roy H. Campbell. Quarterware for Middleware. In Proceedings of the Eighteenth International Conference on Distributed Computing Systems (ICDCS '98), pages 192-201, Amsterdam, The Netherlands, May 1998.
(PDF @ IEEE; Abstract @ UIUC; PS @ UIUC; PDF @ UIUC; gzip'ed PS @ local access only)

A. T. van Halteren, A. Noutash, L. J. M. Nieuwenhuis, and M. Wegdam. Extending CORBA with Specialised Protocols for QoS Provisioning. In Proceedings of the International Symposium on Distributed Objects and Applications (DOA '99), Edinburgh, Scotland, September 1999.
(PDF @ U. Twente; PDF @ local access only)

Sreenivasa Viswanadha and Deepak Kapur. IBDL: A Language for Interface Behavior Specification and Testing. In Proceedings of the Fourth USENIX Conference on Object-Oriented Technologies and Systems (COOTS '98), Santa Fe, NM, April 1998.
(Abstract @ USENIX; HTML @ USENIX; PDF @ USENIX; PDF @ local access only)

Girish Welling and Maximilian Ott. Customizing IDL Mappings and ORB Protocols. In Joseph Sventek and Geoffrey Coulson, eds., Middleware 2000, volume 1795 of Lecture Notes in Computer Science. Springer, April 2000.
(gzip'ed PS @ local access only)

Geoffrey G. Xie and Simon S. Lam. An Efficient Network Architecture Motivated by Application-Level QoS. Journal of High Speed Networking, 6(3):165-179, January 1998.
(PS @ Naval Postgraduate School; gzip'ed PS @ local access only)

Gokhale and Schmidt,
Measuring the Performance of Communication Middleware on High-Speed Networks, to appear at SIGCOMM '96, August 1996
Schmidt, Harrison, Al-Shaer
Object-Oriented Components for High-speed Network Programming, Proceedings of the First Conference on Object-Oriented Technologies, USENIX, Monterey, CA, June 1995.
Gokhale and Schmidt,
Operating system Support for High-Performance, Real-time CORBA
Schmidt and Suda,
Transport System Architecture Services for High-Performance Communication Systems, Journal of Selected Areas of Communications special issue on Protocols for Gigabit Networks, IEEE, Vol. 11, No, 4, May 1993.
The Marshalling Problem
A collection of papers and other references, assembled by Philipp Hoschka.
Lingua Franca: An IDL for Structural Subtyping Distributed Systems
By Patrick A. Muckelbauer and Vincent F. Russo. In Proceedings of the 1995 USENIX Conference on Object-Oriented Technologies (COOTS '95), Monterey, CA.
A Note on Distributed Computing
Jim Waldo, Geoff Wyant, Ann Wollrath, and Sam Kendall. Technical Report TR-94-29. Sun Microsystems. November 1994.
Fast, Optimized Sun RPC using Automatic Program Specialization
IRISA Research Report 1094, March 1997. G. Muller, R. Marlet, E.N. Volanschi, C. Consel, C. Pu and A. Goel
Using Events to Build Distributed Applications
Jean Bacon, John Bates, Ken Moody, Richard Hayton. Published? Where? When? Abstract: We have extended an Interface Definition Language to handle event registration and notification. Clients register interest in specified classes of events and servers then notify them of any occurrence asynchronously....
A collection of papers describing GSS-API-based (secure) ONC RPC
Direct-To-COM Compiler Provides Garbage Collection for COM Objects
Dominik Gruntz and Beat Heeb. Presented at the Second Component Users Conference (CUC '97), Munich, Germany, July 1997.
DCOM and CORBA Side by Side, Step by Step, and Layer by Layer
P. Emerald Chung et al. September 1997.
COMEL: A Formal Model for COM
Rosziati Ibrahim. Technical report. (Unpublished?)
A collection of papers by Andreas Vogel, including:
Papers by Christian Queinnec
Computer Communication Review (CCR)
The quarterly SIGCOMM newsletter. Back issues of CCR are available on the Web.
Proof-Carrying Code papers by George Necula
Seminar on classic systems papers
The ACM Interim Copyright Policy
The ACM guidelines for electronically submitting accepted articles to ACM journals.
Also see the ACM LaTeX files for electronic submissions and the Author's Guide for Electronic Submittal of ACM Journal Articles Accepted for Publication.
ACM SIG Proceedings Templates
This is the home of the official ACM Proceedings Format, including the new and official acmproc.cls LaTeX document class.
Yet Another acmconf.cls LaTeX document class
This version of the ACM conference class format is perhaps the most complete, flexible, and CTAN-iest, but it's not the new, official acmproc.cls.
(Old) The acmconf.sty LaTeX Document Style File
(Old) The acmconf.cls LaTeX Document Class File
ACM TOPLAS: Preparing LaTeX documents for the World-Wide Web
Includes links to LaTeX style files for ACM Transactions journals: acmtrans.sty, acmtrans2e.cls, and acmtrans.bst.
IEEE information for authors
Includes links to the LaTeX style files for IEEE Transactions journals: e.g., IEEEtran.cls, IEEEsample2e.tex, and IEEEbib.bst.
The Springer-Verlag LLNCS LaTeX Document Class
Advice to Authors of Extended Abstracts by William Pugh
Advice for effective scientific electronic publishing with TeX and PDF by Markus G. Kuhn
Collected Advice on Research and Writing
A collection of advice about research writing, publishing, speaking, and academic success.
MLA Style
From the Web page: The style recommended by the Modern Language Association for preparing scholarly manuscripts and student research papers concerns itself with the mechanics of writing, such as punctuation, quotation, and documentation of sources. Includes advice for documenting sources from the World Wide Web.
Unix Review articles by Gabriel D. Minton:
Papers about region-based memory management (need better citations):


Conferences

Open to Submissions

Title Location Dates Submit

Closed to Submissions (Deadline Has Passed)

Title Location Dates Submit
PLDI '03: ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (at FCRC '03) San Diego, CA Jun 9-11, 2003 Nov 15, 2002
USENIX '03: 2003 USENIX Annual Technical Conference San Antonio, TX Jun 9-14, 2003 Nov 25, 2002
LCTES '03: Languages, Compilers, and Tools for Embedded Systems (at FCRC '03) San Diego, CA Jun 11-13, 2003 Feb 1, 2003
Middleware 2003: ACM/IFIP/USENIX International Middleware Conference Rio de Janeiro, Brazil Jun 16-20, 2003 Dec 22, 2002
12th USENIX Security Symposium San Francisco, CA Aug 4-8, 2003 Jan 27, 2003
SOSP '03: 19th ACM Symposium on Operating Systems Principles Bolton Landing, NY Oct 19-22, 2003 Mar 24, 2003

Past Conferences

Title Location Dates Submit
ICDCS 2003: 23rd International Conference on Distributed Computing Systems Providence, RI May 19-22, 2003 Sep 13, 2002
HotOS-IX: 9th Workshop on Hot Topics in Operating Systems Lihue, HI May 18-21, 2003 Jan 10, 2003
OSDI '02: 5th Symposium on Operating Systems Design and Implementation Boston, MA Dec 9-11, 2002 May 17, 2002
OOPSLA 2002: 17th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications Seattle, WA Nov 4-8, 2002 Mar 22, 2002
DOA '02: 4th International Symposium on Distributed Objects and Applications Irvine, CA Oct 28-Nov 1, 2002 May 31, 2002
PPDP 2002: 4th International Conference on the Principles and Practice of Declarative Programming (at PLI 2002) Pittsburgh, PA Oct 6-8, 2002 Mar 21, 2002
11th USENIX Security Symposium San Francisco, CA Aug 5-9, 2002 Jan 28, 2002
ICDCS 2002: 22nd International Conference on Distributed Computing Systems Vienna, Austria Jul 2-5, 2002 Nov 4, 2001
OPENARCH '02: 5th IEEE Conference on Open Architectures and Network Programming (colocated with INFOCOM '02) New York, NY Jun 28-29, 2002 Nov 12, 2001
LCTES/SCOPES '02: ACM SIGPLAN Joint Symposium: Languages, Compilers, and Tools for Embedded Systems; and Software and Compilers for Embedded Systems (colocated with PLDI '02) Berlin, Germany Jun 19-21, 2002 Feb 1, 2002
PLDI '02: ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation Berlin, Germany Jun 17-19, 2002 Nov 16, 2001
ECOOP-OOOSWS 2002: 5th ECOOP Workshop on Object-Orientation and Operating Systems (at ECOOP 2002) Málaga, Spain Jun 11, 2002 Apr 8, 2002
USENIX '02: 2002 USENIX Annual Technical Conference Monterey, CA Jun 10-15, 2002 Nov 19, 2001
SEM 2002: 3rd International Workshop on Software Engineering and Middleware (co-located with ICSE 2002) Orlando, FL May 20-21, 2002 Feb 22, 2002
IWQoS 2002: 10th International Workshop on Quality of Service (in conjunction with NOSSDAV 2002) Miami Beach, FL May 15-17, 2002 Feb 8, 2002
LCR '02: 6th Workshop on Languages, Compilers, and Run-time Systems for Scalable Computers Washington, DC Mar 22-23, 2002 Feb 8, 2002
FMOODS '02: IFIP TC6/WG6.1 5th International Conference on Formal Methods for Open Object-Based Distributed Systems Enschede, The Netherlands Mar 20-22, 2002 Sep 19, 2001
PADL '02: 4th International Symposium on Practical Aspects of Declarative Languages (at POPL '02) Portland, OR Jan 19-20, 2002 Aug 20, 2001
SOSP '01: 18th ACM Symposium on Operating Systems Principles Lake Louise, Alberta Oct 21-24, 2001 Mar 26, 2001
OOPSLA 2001: 16th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications Tampa Bay, FL Oct 14-18, 2001 Mar 23, 2001
M3W '01: International Workshop on Multimedia Middleware (in conjuction with ACM Multimedia 2001) Ottawa, Ontario Oct 5, 2001 May 25, 2001
DOA '01: 3rd International Symposium on Distributed Objects and Applications Rome, Italy Sep 18-20, 2001 Apr 1, 2001
Babel '01: 1st Workshop on Multi-Language Infrastructure and Interoperability (at PLI 2001) Firenze, Italy Sep 8, 2001 Jun 1, 2001
PPDP 2001: 3rd International Conference on Principles and Practice of Declarative Programming (at PLI 2001) Firenze, Italy Sep 5-7, 2001 Mar 23, 2001
ACM SIGCOMM 2001: Applications, Technologies, Architectures and Protocols for Computer Communications San Diego, CA Aug 27-31, 2001 Jan 26, 2001
PODC 2001: 20th ACM Symposium on Principles of Distributed Computing Newport, RI Aug 26-29, 2001 Jan 26, 2001
10th USENIX Security Symposium Washington, DC Aug 13-17, 2001 Feb 1, 2001
USENIX '01: 2001 USENIX Annual Technical Conference Boston, MA Jun 25-30, 2001 Dec 1, 2000
PLDI '01: ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation Snowbird, UT Jun 20-22, 2001 Nov 16, 2000
ECOOP-OOOSWS '01: 4th ECOOP Workshop on Object-Orientation and Operating Systems Budapest, Hungary Jun 19, 2001 Apr 17, 2001
ECOOP 2001: 15th European Conference on Object-Oriented Programming Budapest, Hungary Jun 18-22, 2001 Nov 27, 2000
OM '01: ACM SIGPLAN Workshop on Optimization of Middleware and Distributed Systems (at PLDI '01) Snowbird, UT Jun 18, 2001 Feb 18, 2001
Realtime 2001: OMG's 2nd Workshop on Real-Time and Embedded Distributed Object Computing Herndon, VA Jun 4-7, 2001 ?
HotOS-VIII: 8th Workshop on Hot Topics in Operating Systems Schloss Elmau, Germany May 20-22, 2001 Jan 15, 2001
OPENARCH '01: 4th IEEE Conference on Open Architectures and Network Programming Anchorage, AK Apr 27-28, 2001 Oct 6, 2000
ICDCS 2001: 21st International Conference on Distributed Computing Systems Phoenix, AZ Apr 16-19, 2001 Sep 10, 2000
PADL '01: 3rd International Workshop on Practical Aspects of Declarative Languages (at SAC '01) Las Vegas, NV Mar 11-12, 2001 Oct 20, 2000
COOTS '01: 6th USENIX Conference on Object-Oriented Technologies and Systems San Antonio, TX Jan 29-Feb 2, 2001 Jul 27, 2000
POPL '01: 28th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages London, UK Jan 17-19, 2001 Jul 17, 2000
Embedded 2001: OMG's 1st Workshop on Embedded Object-Based Systems Santa Clara, CA Jan 17-19, 2001 Oct 27, 2000
CASES 2000: International Conference on Compilers, Architectures and Synthesis for Embedded Systems San Jose, CA Nov 17-19, 2000 Aug 14, 2000
ASPLOS IX: Ninth International Conference on Architectural Support for Programming Languages and Operating Systems Cambridge, MA Nov 13-15, 2000 Apr 17, 2000
OSDI 2000: 4th Symposium on Operating Systems Design and Implementation San Diego, CA Oct 23-25, 2000 Apr 25, 2000
NISSC 2000: 23rd National Information Systems Security Conference Baltimore, MD Oct 16-20, 2000 Feb 1, 2000
OOPSLA 2000: 15th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications Minneapolis, MN Oct 15-19, 2000 Apr 3, 2000
DOA '00: 2nd International Symposium on Distributed Objects and Applications Antwerp, Belgium Sep 21-23, 2000 May 1, 2000
PPDP 2000: ACM SIGPLAN 2nd International Conference on Principles and Practice of Declarative Programming (at PLI 2000) Montreal, Quebec Sep 20-22, 2000 Mar 15, 2000
FMOODS 2000: 4th IFIP TC6/WG6.1 4 International Conference on Formal Methods for Open Object-Based Distributed Systems Stanford, CA Sep 6-8, 2000 Mar 15, 2000
ACM SIGCOMM 2000: Applications, Technologies, Architectures and Protocols for Computer Communications Stockholm, Sweden Aug 28-Sep 1, 2000 Jan 28, 2000
9th USENIX Security Symposium Denver, CO Aug 14-17, 2000 Feb 10, 2000
PODC 2000: 19th ACM Symposium on Principles of Distributed Computing Portland, OR Jul 16-19, 2000 Jan 14, 2000
USENIX 2000: 2000 USENIX Annual Technical Conference San Diego, CA Jun 18-23, 2000 Nov 29, 1999
PLDI 2000: ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation Vancouver, BC Jun 18-21, 2000 Nov 12, 1999
Workshop on Quality of Service in Distributed Object Systems (at ECOOP 2000) (see also CFP) Sophia Antipolis, France Jun 13, 2000 Mar 24, 2000
ECOOP 2000: 14th European Conference on Object-Oriented Programming Sophia Antipolis, France Jun 12-16, 2000 Nov 12, 1999
ECOOP-OOOSWS 2000: 3rd ECOOP Workshop on Object-Orientation and Operating Systems Sophia Antipolis, France Jun 12-13, 2000 Mar 31, 2000
IWQoS 2000: 8th International Workshop on Quality of Service Pittsburgh, PA Jun 5-7, 2000 Feb 21, 2000
RTAS 2000: IEEE Real-Time Technology and Applications Symposium Washington, DC May 31-Jun 2, 2000 Dec 17, 1999
LCR 2000: 5th Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers Rochester, NY May 25-27, 2000 Feb 7, 2000
ICDCS 2000: 20th IEEE International Conference on Distributed Computing Systems Taipei, Taiwan Apr 10-13, 2000 Aug 22, 1999
RM 2000: Workshop on Reflective Middleware (at Middleware 2000 Palisades, NY Apr 7-8, 2000 Feb 14, 2000
Middleware 2000: IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing Palisades, NY Apr 3-7, 2000 Oct 15, 1999
ISORC 2K: 3rd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing Newport Beach, CA Mar 15-17, 2000 Oct 6, 1999
PEPM '00: 2000 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation Boston, MA Jan 22-23, 2000 Oct 4, 1999
POPL '00: 27th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages Boston, MA Jan 19-21, 2000 Jul 19, 1999
Dynamo '00: ACM SIGPLAN Workshop on Dynamic and Adaptive Compilation and Optimization (at POPL '00) Boston, MA Jan 18, 2000 Oct 4, 1999
SOSP '99: 17th ACM Symposium on Operating Systems Principles Kiawah Island, SC Dec 12-15, 1999 May 17, 1999
RTSS '99: 20th IEEE Real-Time Systems Symposium Phoenix, AZ Dec 1-3, 1999 May 1, 1999
OOPSLA '99: 14th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications Denver, CO Nov 1-5, 1999 Apr 1, 1999
NISSC '99: 22nd National Information Systems Security Conference Arlington, VA Oct 18-21, 1999 Feb 15, 1999
DSL '99: 2nd USENIX Conference on Domain-Specific Languages Austin, TX Oct 3-5, 1999 Mar 22, 1999
CASES '99: 2nd International Workshop on Compiler and Architecture Support for Embedded Systems Washington, D.C. Oct 1-3, 1999 ?
PPDP '99: International Conference on Principles and Practice of Declarative Programming Paris, France Sep 29-Oct 1, 1999 Mar 1, 1999
FM '99: World Congress on Formal Methods Toulouse, France Sep 20-24, 1999 Feb 14, 1999
DOA '99: International Symposium on Distributed Objects and Applications Edinburgh, Scotland Sep 5-6, 1999 Apr 1, 1999
ACM SIGCOMM '99: Applications, Technologies, Architectures, and Protocols for Computer Communication Cambridge, MA Aug 30-Sep 3, 1999 Jan 29, 1999
8th USENIX Security Symposium Washington, DC Aug 23-26, 1999 Mar 16, 1999
ECOOP '99: 13th European Conference on Object-Oriented Programming Lisbon, Portugal Jun 14-18, 1999 Nov 28, 1999
MOS '99: 5th Mobile Object Systems Workshop: Programming Languages for Wide Area Networks (at ECOOP '99) Lisbon, Portugal Jun 14, 1999 Apr 11, 1999
USENIX '99: 1999 USENIX Annual Technical Conference Monterey, CA Jun 6-11, 1999 Dec 2, 1998
IWQoS '99: 7th International Workshop on Quality of Service London, UK Jun 1-4, 1999 Dec 8, 1998
ICDCS '99: 19th IEEE International Conference on Distributed Computing Systems Austin, TX May 31-Jun 4, 1999 ?
LCTES '99: ACM SIGPLAN 1999 Workshop on Languages, Compilers, and Tools for Embedded Systems (at PLDI '99) Altanta, GA May 5, 1999 Feb 26, 1999
PODC '99: 18th ACM Symposium on Principles of Distributed Computing Atlanta, GA May 4-6, 1999 Nov 3, 1998
COOTS '99: 5th Conference on Object-Oriented Technologies and Systems San Diego, CA May 3-7, 1999 Nov 6, 1998
ISORC '99: 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing St. Malo, France May 2-5, 1999 Nov 30, 1998
WCSSS '99: ACM SIGPLAN 1999 Workshop on Compiler Support for System Software (at PLDI '99) Altanta, GA May 1, 1999 Mar 1, 1999
PLDI '99: 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation Atlanta, GA May 1-4, 1999 Oct 9, 1998
HotOS-VII: 7th Workshop on Hot Topics in Operating Systems Rio Rico, AZ Mar 29-30, 1999 Dec 1, 1998
OPENARCH '99: 2nd IEEE Conference on Open Architectures and Network Programming New York, NY Mar 26-27, 1999 Sep 14, 1998
OSDI '99: 3rd Symposium on Operating Systems Design and Implementation New Orleans, LA Feb 22-25, 1999 Jul 28, 1998
FMOODS '99: 3rd IFIP International Conference on Formal Methods for Open Object-Based Distributed Systems Florence, Italy Feb 15-18, 1999 Jul 5, 1998
POPL '99: 26th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages San Antonio, TX Jan 20-22, 1999 Jul 24, 1998
OOPSLA '98: 1998 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications Vancouver, BC Oct 18-22, 1998 Apr 13, 1998
ASPLOS VIII: Eighth International Conference on Architectural Support for Programming Languages and Operating Systems San Jose, CA Oct 4-7, 1998 Mar 7, 1998
Middleware '98: IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing Lake District, UK Sep 15-18, 1998 Mar 16, 1998
EW '98: 8th ACM SIGOPS European Workshop on Support for Composing Distributed Applications Sintra, Portugul Sep 7-10, 1998 Feb 27, 1998
ACM SIGCOMM '98: Applications, Technologies, Architectures, and Protocols for Computer Communication Vancouver, BC Aug 31-Sep 4, 1998 Jan 30, 1998
PODC '98: 17th ACM Symposium on Principles of Distributed Computing Puerto Vallarta, Mexico Jun 28-Jul 2, 1998 Jan 9, 1998
SIGMETRICS '98: Joint International Conference on Measurement and Modeling of Computer Systems Madison, WI Jun 22-26, 1998 Oct 27, 1997
LCTES '98: Workshop on Languages, Compilers, and Tools for Embedded Systems (at PLDI '98) Montreal, Quebec Jun 19-20, 1998 Feb 20, 1998
PASTE '98: Workshop on Program Analysis for Software Tools and Engineering (at PLDI '98) Montreal, Quebec Jun 16, 1998 Nov 28, 1997
PLDI '98: 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation Montreal, Quebec Jun 16-19, 1998 Nov 7, 1997
USENIX '98: 1998 USENIX Annual Technical Conference New Orleans, LA Jun 15-19, 1998 Dec 2, 1997
RTAS '98: 4th IEEE Real-Time Technology and Applications Symposium Denver, CO Jun 10-12, 1998 Dec 7, 1997
LCR '98: 4th Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers Pittsburgh, PA May 28-30, 1998 Feb 27, 1998
ICDCS '98: 18th IEEE International Conference on Distributed Computing Systems Amsterdam, The Netherlands May 26-29, 1998 ?
IWQoS '98: 6th IEEE International Workshop on Quality of Service Napa, CA May 18-20, 1998 Feb 23, 1998
ICCL '98: IEEE Computer Society International Conference on Computer Languages Chicago, IL May 14-16, 1998 Oct 1, 1997
ICCDS '98: 4th International Conference on Configurable Distributed Systems Annapolis, MD May 4-6, 1998 Dec 1, 1997
COOTS '98: 4th Conference on Object-Oriented Technologies and Systems Santa Fe, NM Apr 27-30, 1998 Dec 2, 1997
ISORC '98: 1st IEEE International Symposium on Object-Oriented Real-Time Distributed Computing Kyoto, Japan Apr 20-22, 1998 Nov 7, 1997
TIC '98: 2nd International Workshop on Types in Compilation Kyoto, Japan Mar 25-27, 1998 Dec 8, 1997
CANPC '98: Workshop on Communication, Architecture, and Applications for Network-Based Parallel Computing Las Vegas, NV Feb 1-4, 1998 Oct 12, 1997
7th USENIX Security Symposium San Antonio, TX Jan 26-29, 1998 Sep 9, 1997
POPL '98: 25th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (CFP) San Diego, CA Jan 19-23, 1998 Jul 19, 1997
DSL '97: Conference on Domain-Specific Languages Santa Barbara, CA Oct 15-17, 1997 Jun 13, 1997
OOPSLA '97: 1997 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications Atlanta, GA Oct 5-9, 1997 Feb 14, 1997
SOSP '97: 16th ACM Symposium on Operating Systems Principles St. Malo, France Oct 5-8, 1997 Mar 12, 1997
DAIS '97: International Workshop on Distributed Applications and Interoperable Systems Cottbus, Germany Sep 30-Oct 2, 1997 Apr 10, 1997
ACM SIGCOMM '97: Applications, Technologies, Architectures, and Protocols for Computer Communication Cannes, France Sep 14-18, 1997 Jan 31, 1997
PODC '97: 16th ACM Symposium on Principles of Distributed Computing Santa Barbara, CA Aug 21-24, 1997 Jan 24, 1997
2nd SUIF Compiler Workshop Stanford, CA Aug 21-23, 1997 Jul 14, 1997
FMOODS '97: 2nd IFIP International Workshop on Formal Methods for Open Object-Based Distributed Systems Canterbury, UK Jul 21-23, 1997 Jan 14, 1997
CUC '97: 2nd Component User's Conference Munich, Germany Jul 14-18, 1997 Jan 15, 1997
COOTS '97: 3rd Conference on Object-Oriented Technologies and Systems Portland, OR Jun 16-19, 1997 Feb 12, 1997
PLDI '97: 1997 ACM SIGPLAN Conference on Programming Language Design and Implementation Las Vegas, NV Jun 15-18, 1997 Nov 8, 1996
CORBA: Implementation, Use and Evaluation Workshop (at ECOOP '97) Jyväskylä, Finland Jun 10, 1997 Apr 18, 1997
ECOOP '97: 11th European Conference on Object-Oriented Programming Jyväskylä, Finland Jun 9-13, 1997 Nov 24, 1996
ICDCS '97: 17th International Conference on Distributed Computing Systems Baltimore, MD May 27-30, 1997 Oct 7, 1996
IWQoS '97: IFIP 5th International Workshop on Quality of Service New York, NY May 21-23, 1997 Mar 18, 1997
HotOS-VI: 6th Workshop on Hot Topics in Operating Systems Cape Cod, MA May 5-6, 1997 Jan 15, 1997
DSL '97: SIGPLAN Workshop on Domain-Specific Languages Paris, France Jan 18, 1997 Oct 14, 1996
POPL '97: 24th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages Paris, France Jan 15-17, 1997 ?
OSDI '96: 2nd Symposium on Operating Systems Design and Implementations Seattle, WA Oct 28-31, 1996 May 7, 1996
ASPLOS VII: ACM 7th International Conference on Architectural Support for Programming Languages and Operating Systems Cambridge, MA Oct 1-5, 1996 Mar 5, 1996
ACM SIGCOMM '96: Applications, Technologies, Architectures, and Protocols for Computer Communication Stanford, CA Aug 26-30, 1996 ?
WCSSS '96: 1st Annual Workshop on Compiler Support for System Software Tucson, AZ Feb 23-24, 1996 Oct 30, 1995

Conference-Related Materials

ACM SIGPLAN List of Upcoming Events
ACM SIGOPS: List of Upcoming Events in Operating Systems Research
Programming Language and Compiler Conferences
Upcoming Compiler and Parallel Computing Conferences
Resources for Organizers of Conferences and Workshops


Journals: Special Issues

Open to Submissions

Title Publication Date Submit Date

Closed to Submissions (Deadline Has Passed)

Title Publication Date Submit Date
Computer Communications Journal: Special Issue on QoS-Sensitive Network Applications and Systems 4Q2000 Mar 15, 2000


Research Projects

QuOIN: Quorum Distributed Objects Integration
See also BBN's QuOIN page.
TAO
The Distributed Object Computing group at Washington University is developing a high-performance, real-time ORB called TAO (The ACE ORB). TAO is a real-time ORB endsystem designed to provide end-to-end quality of service guarantees to applications by vertically integrating CORBA middleware with OS I/O subsystems, communication protocols, and network interfaces. Object Computing, Inc., is working to commercialize TAO; see the press release (Dec 3 1998).
Mockingbird
(Description adapted from the project Web page.) Mockingbird is designed to help programmers write communicating programs more productively and effectively. The Mockingbird project is developing new analysis techniques for type declarations: for any type, these techniques expose the set of other types to which the type may be converted without loss of information. This technique is applicable both to programming languages (C++ and Java) and to interface definition languages (CORBA IDL and Microsoft IDL), and thus enables a style of programming that deals with multiple languages much more gracefully than present IDL-based systems like CORBA and DCOM, but without sacrificing the ability to interoperate with CORBA and DCOM.
Millennium
From the Web page: The Millennium project at Microsoft Research is investigating new ways to build distributed systems. Our primary goal is to provide a new level of abstraction for application programmers and users. The resulting systems will manage machines and network connections for the programmer in the same way that operating systems today manage pages of memory and disk sectors. Our distributed system will be self-tuning and self-configuring; it will automatically adapt to changes in hardware resources and application workload.
Ensemble
From the Web page: For a distributed systems researcher, Ensemble is a highly modular and reconfigurable toolkit. The high-level protocols provided to applications are really stacks of tiny protocol ``layers.'' These protocol layers each implement several simple properties: they are composed to provide sets of high-level properties, such as total ordering, security, virtual synchrony, and so on. Individual layers can be modified or rebuilt to experiment with new properties or change the performance characteristics of the system. This makes Ensemble a very flexible platform on which to do research.
The Fox Project
The Fox Project at CMU applies principles of programming languages to advance the art of systems building. The work of the project includes theoretical studies of programming languages and their properties, development of new compiler and run-time technology, and empirical studies of the application of advanced language techniques to real-world programming problems, especially in the areas of high-performance networks and operating systems.
The COMPOSE Project (Alternate Link)
The COMPOSE group focuses on partial evaluation and explores PE in the context of operating systems.
The Realize Project
The Realize system is an overlay for use on top of standard operating systems that can support fault-tolerant real-time systems using an object-oriented programming methodology. In the terminology of CORBA, Realize is an ORB of a rather specialized nature that must accommodate object replication, fault-tolerance, and real-time scheduling.
The Renaissance Project
Renaissance is a project at Purdue University to investigate the applicability of object-oriented techniques to the construction of large scale distributed systems.
The Software Systems Generator Group
From the Web page: The future of software development lies in automating rote tasks. We are exploring different ways in which software development can be automated, productivity increased, and software quality improved. Our work includes the topics of Product-Line Architectures; Software Plug-and-Play Components; Refactorings (Automated Applications of OO Design Patterns); and Software Generators.
Distributed Multimedia Research Group, Lancaster University
These people do research into reflective middleware. From the Web page: Although middleware is now well established, it is crucial that the technology and standards remain responsive to new challenges; for example groupware, quality of service, multimedia, real-time, and increasingly mobility. In our opinion, such challenges require new approaches to the engineering of middleware platforms in terms of being able to i) flexibly configure the underlying support offered by the middleware platform, and ii) inspect and adapt the underlying components at run time.
2K: A Component-Based Network-Centric Operating System for the Next Millenium
An operating system project that makes use of ``dynamicTAO.'' From the Web page: 2K is an open source, distributed adaptable operating system being built by the Systems Software Research Group and by the Multimedia Operating Systems and Networking Group in the University of Illinois at Urbana-Champaign.... [The] research seeks to modify resource management in operating systems to accommodate frequent change.
Sawmill Linux
Uses Flick, as I understand. From the Web page: The goal of the SawMill (formerly Lava) project is to develop highly-configurable operating systems technology. This technology enables the composition of operating systems from a set of components that can implement both general and application-specific functionality.


Free Software

sunrpc-src-4.0.tar.Z
The ``old'' rpcgen.
tirpcsrc.tar.Z
The ``new'' rpcgen.
rpc-0.9.tar.gz
Linux-based distribution of the rpcgen suite, both old and new styles. Various good stuff.
Directory of /networking/rpc
Arpc
(Also see the Q/CORBA reference below.) From the Web page: Arpc (pronounced ``arp-cee'') is an extension to the publically available ONC RPC/XDR system version 4.0 (from Sun Microsystems). It was developed as part of the DARPA sponsored Arcadia environments project. Arpc provides a number of capabilities not available in the normal Sun RPC packages. These capabilities include: ... (1) Combined Client Server Support... (2) Peer Communication Style... (3) Request Acknowledgement... (4) Exception Returns... (5) Decomposition of Functionality...
Inter-Language Unification -- ILU
Jylu, ILU for Java
The Electra Object Request Broker
omniORB 3.0.0
A ``free high-performance CORBA 2 ORB from AT&T Laboratories Cambrdige.'' The release announcement mentioned that with the omniORB 3 IDL compiler, ``it is easy to write your own customised code generators, using the Python scripting language.''
(Obsolete) omniORB2
A free (GPL'ed) CORBA ORB from the Olivetti and Oracle Research Laboratory. In January 1999, AT&T acquired ORL to create AT&T Laboratories Cambridge.
MICO: MICO is CORBA
Tclmico: a Tcl interface to MICO
By plugging into CORBA's DII (Dynamic Invocation Interface), tclmico provides CORBA client functionality to Tcl scripts and allows you to invoke any methods of any CORBA object in a typesafe manner.
Combat: A Tcl language mapping for CORBA
From the Web page: Combat (formerly TclMico) is an extension to the popular Tcl scripting language that allows accessing and providing CORBA objects at the script level, i.e. with Combat, your Tcl scripts can access CORBA services or become a CORBA server themselves.
ORBit, a free ORB from the GNOME Project (also see the ORBit Resource Page and the ORBit FTP site)
Advertised as: ``An Object Request Broker aiming for full CORBA 2.2 compliance... Uses Very Cool optimization techniques to provide thin, fast stubs and a memory-efficient, fast ORB... C language bindings, others to come. Performs all basic client- and server- side SII functions, to the point of replacing mico as the ORB used by the GNOME panel, and allowing CORBA integration work to proceed in the rest of the GNOME desktop project.''
PyORBit: Python/ORBit Bindings
Q/CORBA
Supports C and Ada. From the Web page: Q/CORBA is a software bus system used as part of the ARPA sponsored Arcadia project. Q/CORBA provides both remote procedure call (RPC) and message-passing semantics as a layer above Unix sockets. It can provide both the Open Network Computing (ONC) industrial standard (the one underlying NFS) as well as CORBA2 IIOP.
Arachne, a free CORBA/C++ implementation
ISP C++ ORB
From the Web page: ISP C++ ORB is compliant with OMG Common Object Request Broker Architecture 2.0 (CORBA 2.0) standard.
JIDL: The CORBA IDL Compiler for Java
Jorba, an ORB written entirely in Java.
JacORB, a Java ORB
JavaORB, yet another Java ORB (CORBA 2.2)
HORB, yet another Java ORB (CORBA 2.0?)
ACT, the Advanced Communication System
Includes the ACT ORB, another ORB written in Java.
Jonathan: An Open ORB
From the Web page: Jonathan is an Object Request Broker written entirely in Java... Jonathan is organised around a very small kernel, that essentially defines a notion of interface reference, and a number of Java interfaces that let entities built upon it communicate.
OpenORB
From the Web page: OpenORB is an open source CORBA 3.0 implementation sponsored by Intalio Inc., and is a part of a much larger open source Intalio platform. OpenORB is the successor of JavaORB which has been entirely redesigned to define a new generation of ORB. Indeed, OpenORB is not a common CORBA implementation, but it has the ability to exactly fit all users requirements! It means that OpenORB is a modular and a customizable ORB.
OpenCCM
Supports Java. From the Web page: OpenCCM stands for the Open CORBA Component Model Platform: the first public available Open Source implementation of the Object Management Group's CORBA Component Model.
JRPC Development Kit
An ONC RPC development kit for Java. Includes a Java language binding for the ONC RPC IDL. Free for noncommercial use.
Fnorb, a CORBA ORB written in Python, with an IDL-to-Python compiler.
CLORB, a CORBA ORB written in Common Lisp.
AdaBroker
From the Web page: AdaBroker is a set of tools and libraries that can be used to develop CORBA applications in Ada. It provides an IDL parser, an Ada code generator, and the CORBA predefined Ada support packages (defined by the Ada mapping).
corba.el, a CORBA interface for GNU Emacs.
From the Web page: ...currently implements the Dynamic Invocation Interface and only a few of the data types. No server functionality or static stubs.
DynaORB: ``The Universal CORBA Client''
A CORBA client Java library. Uses DII (?), thus avoiding the need for an IDL compiler.
IDL4: the CORBA IDL compiler for the L4 micorkernel
From the Web page: We have developed an experimental new IDL compiler that produces near-optimal stub code for gcc and the L4 microkernel. The current experimental IDL4 compiler cooperates with the gcc compiler and its x86 code generator. Other compilers or target machines would require different optimizations. In most cases, the generated stub code is approximately 3 times faster (and shorter) than the code generated by a commonly used portable IDL compiler [Flick].
idldoc
A program that produces HTML documentation from a CORBA IDL source.
NSRG Software Distribution
A CORBA IIOP client package in Perl, written by Alan Noble
Alan Noble's CORBA Page
A list of free CORBA and CORBA-like middleware implementations
Ben Eng's CORBA Page
References to lots of CORBA stuff, including Ben Eng's ORB Core Feature Matrix: a comparison of many CORBA ORBS, both commercial and free.
MCITT: Manufacturer's CORBA Interface Testing Toolkit
MCITT (``M-kit'') minimizes the amount of effort needed to produce simple emulations --- test servers --- that can be used to replace actual servers in a testing scenario. The person doing the testing only needs to specify the behaviors that are important for the specific scenario being examined, and MCITT will do the rest. CORBA boilerplate code, memory management, and stubs for unused operations are generated automatically. MCITT also provides conformance test assertions, automatic inclusion of conformance test boilerplate, and timed loops for performance evaluation. Test assertions can even be derived automatically from Component Interaction Specifications.
Verisoft
VeriSoft is a tool for systematically exploring the state spaces of software systems composed of several concurrent processes executing arbitrary code written in full-fledged programming languages, such as C or C++.
CorbaScript: an interpreted, object-oriented scripting language for CORBA environments
An IIOP Protocol Analyser
A modified tcpdump that interprets IIOP, by Bill Janssen.
A CORBA test suite written using ADL.
MIG 1.0, as part of the Hurd.
TxRx: an RPC extension for the Tool Command Language
SWIG
Directory of /pub/freeware/snacc
perlrpcgen
perlrpcgen is a program to generate Perl extensions from ONC RPC interface descriptions.
DIPC
THE ADAPTIVE COMMUNICATION ENVIRONMENT (ACE)
Nexus
The Prolac Protocol Language
From the Web page: Prolac is a new language designed for writing readable, modular, extensible, and efficient network protocol implementations. It is a pragmatic implementation language rather than a theoretical or prescriptive specification language.
FFIGEN, a Foreign Function Interface Generator
FFIGEN is a program suite which facilitates the writing of translators from C header files to foreign function interfaces for particular language implementations. Like Flick, it has separate compiler passes.
Acme, a simple, generic software architecture description language
Extended by the Yale EDCS Project to HOT Acme.
The National Compiler Infrastructure Project
The Stanford SUIF Compiler Group
Zephyr --- A National Compiler Infrastructure
Includes tools for manipulating ASDL, the Zephyr Abstract Syntax Description Language.
BANE: the Berkeley Analysis Engine
BANE is a system for constructing type- and constraint-based program analyses. BANE includes a set of constraint ``building blocks'' and a mechanism for composing them easily to build new program analyses. BANE includes a lot of infrastructure beyond the program analysis core, for example, an ANSI C parser and a constraint visualization tool.
VCG: Visualization of Compiler Graphs
From the Web page: The VCG tool reads a textual and readable specification of a graph and visualizes the graph. If not all positions of nodes are fixed, the tool layouts the graph using several heuristics as reducing the number of crossings, minimizing the size of edges, centering of nodes.
SGI's implementation of the C++ Standard Template Library
Also see other SGI open source projects.
Cygwin, previously known as Cygwin32 and GNU-Win32
From the Web page: The Cygwin tools are ports of the popular GNU development tools and utilities for Windows 95, 98, and NT. They function by using the Cygwin library which provides a UNIX-like API on top of the Win32 API.
Mingw32
GNU software for Windows 95 and Windows NT.
GNOME: the GNU Network Object Model Environment
Uses CORBA. From the Web page: The GNOME project intends to build a complete, user-friendly desktop based entirely on free software. GNOME is part of the GNU project. See the FAQ list.
The GNOME Development Site
Berlin
From the Web page: Berlin is a next-generation windowing system, incorporating... the industry standard network-transparent component system, CORBA.
The Boehm-Demers-Weiser conservative garbage collector
Includes a C string (cord) package that provides fast concatenation and substring operations on long strings.
Programs for C Source Code Metrics
CCCC: C and C++ Code Counter
Cscope
From the Web page: Cscope is a developer's tool for browsing program code. The Cscope code has been released as Open Source by Santa Cruz Operation, Inc. (SCO) under the BSD license.
Ckit
From the announcement: Ckit is a C front end written in SML that translates C source code (after preprocessing) into abstract syntax represented as a set of SML datatypes. Ckit also provides facilities for extending the C language with additional syntactic constructs, which can be useful for implementing ``C-like'' domain-specific languages as well as C dialects. Ckit is currently used as the frontend for domain-specific languages and for a variety of tools for static analysis of C code.
Artistic Style: a source code formatter
(Was previously published at this location.) From the Web page: Artistic Style is a reindenter and reformatter of C++, C and Java source code.
DOC++: a documentation system for C, C++, and Java
From the announcement: DOC++ is a documentation system for C/C++ and Java, generating both LaTeX output for high quality hardcopies and HTML output for sophisticated online browsing of your documentation. The documentation is extracted directly from the C++ header or Java class files.
Doxygen
From the Web page: Doxygen is a documentation system for C, C++ and IDL. It can generate an on-line class browser (in HTML) and/or an off-line reference manual (in LaTeX) from a set of documented source files. There is also support for generating man pages and for converting the generated output into Postscript, hyperlinked PDF or compressed HTML. The documentation is extracted directly from the sources.
C--: A Portable Assembly Language
From Simon Peyton Jones' C-- Web page: Of late it has become very common for research compilers to emit C as their target code, relying on a C compiler to generate machine code.... The trouble is that C was designed as a programming language not as a compiler target language, and is not very suitable for the latter purpose.... Thus motivated, some colleagues and I have been working on the design of C--, a portable assembly language. C-- has to strike a balance between being high-level enough to allow the back end a fair crack of the whip, while being low level enough to give the front end the control it needs. A major goal is to provide portable support for features needed by advanced languages, such as garbage collection, exception handling, and debugging, without building in a particular garbage collector, exception semantics, or debugging model.
Eli: a compiler construction system for domain specific languages
The Gentle Compiler Construction system
From the Gentle Web page: Gentle is a modern toolkit for compiler writers and implementors of domain specific languages. Gentle covers the full spectrum of translation. It supports language recognition, definition of abstract syntax trees, construction of tree walkers based on pattern matching, smart traversal, simple unparsing for source-to-source translation, and optimal code selection for microprocessors.
TRAP: a Python-based generic compiler prototyping system
From the Web page: TRAP is a generic prototyping system for translators and compilers, especially suited for medium-complexity special purpose languages. TRAP integrates concepts from various other compiler construction systems under the umbrella of Python. The system eases the construction of front-ends (i.e., lexical and syntactical analyzers), but beyond that provides substantial support for complex semantic analysis and transformation phases in which abstract syntax tree-like intermediate representation (IR) data structures are manipulated.
BtYacc: ``Backtracking Yacc''
Zyacc: Another Enhanced yacc
SableCC: a compiler framework that generates compilers in Java
RDP: an LL(1) parser generator
RDP compiles attributed LL(1) grammars decorated with C-language semantic actions into recursivedescent parsers. RDP is written in strict ANSI C and produces strict ANSI C.
Elegant: another compiler generator
A GPL'ed compiler generator from Philips supporting LL(1) and LALR(1) parsing and lots of nifty features.
lmbench: Tools for Performance Analysis
HBench-OS
HBench-OS is a suite of portable benchmarks designed to measure the performance of primitive functionality provided by an operating system/hardware platform.
Python
Errata for Programming Python by Mark Lutz
Includes book clarifications and corrections, changes to Python, supplemental material, and program patches.
Cecil
From the Wab page: ``Cecil is a purely object-oriented, type-safe, garbage-collected language intended to support rapid construction of high-quality, extensible software.'' Cecil has multimethods, a Self-like object model, first-class lexically-nested anonymous function, immutable and mutable variables, and lots of other stuff. It sounds a lot like Self.
Lua
From the announcement: Lua is a programming language originally designed for extending applications, but also frequently used as a general-purpose, stand-alone language. Lua combines simple procedural syntax (similar to Pascal) with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, interpreted from bytecodes, and has automatic memory management.
Ruby
From the Ruby Web page: Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl).
Ficl
From the Ficl Web page: Ficl (Forth inspired command language) is an ANS Forth interpreter written in C. Unlike traditional Forths, this interpreter is designed to be embedded into other systems as a command/macro/development prototype language. Ficl provides object extensions that can be used to wrap methods and structures of the host system without altering them.
OpenC++
From the OpenC++ Web page: OpenC++ is a version of C++ with a Metaobject Protocol. In other words, it is a tool of source-code translation for C++. Programmers can easily implement various kinds of translation so that they can define new syntax, new annotation, and new object behavior.
elastiC
From the Web page: elastiC is a portable high-level object-oriented interpreted language with a C like syntax. [...] elastiC has been strongly influenced by C, Smalltalk, Scheme and Python and tries to merge the best characteristics of all these languages, maintaining though its unique personality.


Commercial Software

ORBeline by Visigenic
Orbix by Iona Technologies
HP ORB Plus by Hewlett-Packard
Corbus by BBN
Dais by DiaLogos
Joe by Sun Microsystems
http://sunsolve.sun.com/cserve/ProductInfo/spc036.txt
ORBacus (formerly known as OmniBroker) by Object Oriented Concepts, Inc.
RCP-ORB by Nortel
From the product overview page:The RCP-ORB is the Nortel implementation of the OMG's (Object Management Group's) CORBA specifications. The current target environment is the VxWorks real-time operating system on PowerPC processors supporting both C and C++, and using TCP/IP or ATM for communications. A number of optimisations support efficient local communications. Other environments include HPUX, SunOS, Solaris, and AIX.
OAK by Paragon Software, Inc.
CHORUS/COOL ORB
DOME (Distributed Object Management Environment)
Nouveau
From the Web page: Nouveau offers superior performance [and] increased reliability across heterogeneous distributed computing technologies (COM, CORBA, RPC, and Java).... Nouveau and NobleNet RPC are now Rogue Wave products as a result of Rogue Wave's recent acquisition of NobleNet.
ORBexpress by Objective Interface
Supports both C++ and Ada 95.
TAO (The ANSA ORB)
Another CORBA ORB called TAO, not to be confused with Doug Schmidt's TAO (The ACE ORB), which is freely available. The implementors have ties to the Nemesis group at Cambridge University.
AccordSTAR by Accord Software
An RPC system that uses a C subset as its IDL.
PowerRPC
A commercial, ONC RPC-based IDL compiler by Netbula. It offers some interesting annotation-like features.
NobleNet RPC 3.0
A commercial, ONC RPC-based IDL compiler by NobleNet. It too offers some interesting annotation-like features.
Distinct ONC RPC/XDR Toolkit
A commercial ONC RPC toolkit, in versions for C and Java.
Distributed Component Object Model (DCOM) for Solaris 2.5
Inferno
Inferno is a new network operating system and programming environment from Lucent Technologies.
Myricom Home Page


References and Documentation

Internet Engineering Standards Repository
Searchable.
RFC Indexes
RFC 1831
RFC 1832
The Charter of the IETF ONC RPC Working Group
With links to the relevant Internet Draft documents.
Programming with ONC RPC
CORBA 2.0 Specification
An HTML version of the specification, published by OMG.
OMG Working Group Publications
Includes current draft documents and whatnot. Of special interest are the ORB Revision Task Force working drafts.
The CORBA Messaging Service proposal
Look at the OMG Messaging Service RFP page for additional information.
CORBA 3.0 Press Release
Describes the new features that will be part of CORBA 3.0.
The CORBA Brand
The Open Group has developed a CORBA (2.1) Product Standard complete with test suites. Certification costs lots of money.
The CORBA FAQ List
CORBA, OpenDoc, and OpenStep Beginner's Page
A Brief Tutorial on CORBA
DSTC's OMG Page
OMG List of Public Documents
DCE, the Distributed Computing Environment
DCE 1.1 Online Documentation from Transarc, including:
Java(tm) IDL
Java Beans - Component APIs for Java
Java Remote Method Invocation (RMI) and Object Serialization
XML-RPC
From the Web page: What is XML-RPC? It's a spec and a set of implementations that allow software running on disparate operating systems, running in different environments to make procedure calls over the Internet. It's remote procedure calling using HTTP as the transport and XML as the encoding.
XML-RPC for C and C++
From the Web page: This library provides a modular implementation of XML-RPC for C and C++.
SOAP: Simple Object Access Protocol
(See also the Microsoft .NET page.) From the Web page: SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses.
ASN.1: Communication Between Heterogeneous Systems by Olivier Dubuisson
The text of this book is online. From the Web page: ASN.1 was in great need of a reference textbook, didactic as well as precise and Olivier Dubuisson's texbook meet these demands. The language is comprehensively described from its basic constructions to the latest additions to the notation.
Apple's OpenDoc Site
Microsoft's OLE Development Site
The Component Object Model (COM) Specification
Distributed Component Object Model Protocol (DCOM/1.0) Specification
An Internet-Draft document from Microsoft, written May 1996.
Distributed Component Object Model Protocol (DCOM/1.0) Specification
An Internet-Draft document from Microsoft, updated November 1996.
Modularization Techniques
A paper describing the COM-like techniques that are used by Mozilla (Netscape Navigator) modules.
Overview of HTTP-NG
w3ng: Binary Wire Protocol for HTTP-ng
An Internet Draft for the HTTP-ng protocol, written by Bill Janssen.
Distributed Object Computing and CORBA Documents
Online CORBA documents
OMG Home Page
OSF Home Page
OSF DCE RFC: The Request for Comments documents
Includes specifications of DCE's XIDL.
CI Labs
The Club for Enterprise Object Technology: OpenDoc, SOM, Java, and Visual Age
This is IBM's ``Club OpenDoc'' reference site.
The OpenDoc Revolution
comp.lang.c Frequently Asked Questions


Lists

Archive of the CORBA Development Mailing List <corba-dev@qds.com>
The comp.compilers newsgroup archives
Archive of the Types Forum
TYPES is a moderated e-mail forum focusing on Type Theory in Computer Science, with a broad view of the subject encompassing semantical, categorical, operational, and proof theoretical topics.
Operating Systems Project Information
A list of free CORBA and CORBA-like middleware implementations
Ben Eng's CORBA Page
References to lots of CORBA stuff, including Ben Eng's ORB Core Feature Matrix: a comparison of many CORBA ORBS, both commercial and free.
The Free CORBA Page
CORBA Comparison Resources
A list of links to various CORBA comparisons.
Real-Time CORBA Trade Study
From the document: In 1999 the Defense Information Infrastructure Common Operating Environment (DII COE) Real-time Integrated Product Team (RT IPT), in conjunction with the RT Technical Working Group (TWG), conducted a study of Object Request Brokers (ORBs) of interest to the Department of Defense (DoD) real-time community. [...] Based on our findings, the IPT and TWG concluded that both ORBexpress and TAO deserve further consideration by specific applications seeking an ORB. Details about all aspects of the evaluation are presented in this document.
Research on High-performance, Reliable, and Real-time CORBA
Worb, ``an online resource serving the CORBA community.''
Cetus Links: Links on Objects and Components: CORBA
Lots of links!
Cetus Links: Links on Objects and Components: CORBA ORBs
Lots of links!
Cetus - Some Links: Object-Orientation
Information Resources for CORBA and the OMG
Distributed Object Computing
A page like this one with lots of links to other CORBA- and COM-related sites.
A Collection of Links to CORBA, OpenDoc, Fresco, OpenStep, and related technologies
A meta-index of Internet Compiler Resources
A small collection of links about compiler and interpreter construction resources.
Links to compiler construction software, yacc'able grammars, and so on.
Bibliography on Programming Languages and Compiler Construction
DBLP Computer Science Bibliography
From the Web page: The DBLP server provides bibliographic information on major computer science journals and proceedings. Initially the server was focused on DataBase systems and Logic Programming (DBLP), now it is gradually being expanded toward other fields of computer science. You may now read ``DBLP'' as ``Digital Bibliography & Library Project.'' The server indexes more than 100000 articles and contains more than 4100 links to home pages of computer scientists (Dec. 1998).
ResearchIndex: The NECI Scientific Literature Digital Library
From the Web pages: ResearchIndex is a scientific literature digital library that aims to improve the dissemination and feedback of scientific literature, and to provide improvements in functionality, usability, availability, cost, comprehensiveness, efficiency, and timeliness. Rather than creating just another digital library, ResearchIndex provides algorithms, techniques, and software that can be used in other digital libraries. ResearchIndex indexes Postscript and PDF research articles on the Web [...].
The Collection of Computer Science Bibliographies
Nelson F. Beebe's collection of BibTeX format bibliographies.
Includes ACM stuff, LNCS stuff, USENIX stuff, and much much more. Also see the FTP directory, which may have BibTeX files that are not linked from the Web page.
The Computing Research Repository (CoRR).
Cora: Computer Science Research Paper Search Engine
From the Web pages: Cora is a special-purpose search engine covering computer science research papers. It allows keyword searches over the partial text of Postscript-formatted papers it has found by spidering the Web.


Other

Interactive Data Language (IDL) FAQ List
Information about ``the other IDL,'' which has nothing whatsoever to do interface definition languages. This is the IDL that is discussed in the USENET newsgroup comp.lang.idl-pvwave.
Programming in C++: Rules and Recommendations (Ellemtel)
Also available in HTML form.
Recommended C Style and Coding Standards (Indian Hill)
GNU Coding Standards
Recursive Make Considered Harmful by Peter Miller.
From the abstract: This paper explores an number of problems regarding the use of recursive make, and shows that they are all symptoms of the same problem.
The SR Programming Language
http://www.flick.com
Flicking: The Art of Actively Avoiding Work


Eric Eide <eeide@cs.utah.edu>
Last modified: Tue May 20 16:24:41 MDT 2003