ACM Home Page
Please provide us with feedback. Feedback
A formal framework for component deployment
Full text PdfPdf (593 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications table of contents
Portland, Oregon, USA
SESSION: Types table of contents
Pages: 325 - 344  
Year of Publication: 2006
ISBN:1-59593-348-4
Also published in ...
Authors
Yu David Liu  The Johns Hopkins University
Scott F. Smith  The Johns Hopkins University
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 126,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1167473.1167502
What is a DOI?

ABSTRACT

Software deployment is a complex process, and industrial-strength frameworks such as .NET, Java, and CORBA all provide explicit support for component deployment. However, these frameworks are not built around fundamental principles as much as they are engineering efforts closely tied to particulars of the respective systems. Here we aim to elucidate the fundamental principles of software deployment, in a platform-independent manner. Issues that need to be addressed include deployment unit design, when, where and how to wire components together, versioning, version dependencies, and hot-deployment of components. We define the application buildbox as the place where software is developed and deployed, and define a formal Labeled Transition System (LTS) on the buildbox with transitions for deployment operations that include build, install, ship, and update. We establish formal properties of the LTS, including the fact that if a component is shipped with a certain version dependency, then at run time that dependency must be satisfied with a compatible version. Our treatment of deployment is both platform- and vendor-independent, and we show how it models the core mechanisms of the industrial-strength deployment frameworks.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Allen, E., Chase, D., Luchangco, V., Ryu, J. W. M. S., Steele, G., and Tobin-Hochstadt, S. The Fortress Language Specification (Version 0.618), April 2005.
2
 
3
The Scala Bazaar System, http://scala.epfl.ch/downloads/sbaz.html.
 
4
BEA .BEA WebLogic Server Enterprise JavaBeans 1.1, http://www.weblogic.com/docs51/classdocs/API_ejb/.
 
5
Buckley, A. A model of dynamic binding in .NET. In Proceedings of 3rd International Working Conference on Component Deployment (2005), pp. 149--163.
6
 
7
Chatley, R., Eisenbach, S., and Magee, J. Magicbeans: a platform for deploying plugin components. In Second International Working Conference on Component Deployment (2004), vol. 3083, pp. 97--112.
 
8
Chen, X., and Simons, M. A component framework for dynamic reconfiguration of distributed systems. In Lecture Notes in Computer Science, Volume 2370 (Jan 2002), vol. 2370.
9
 
10
Comprehensive perl archive network, http://www.cpan.org.
 
11
Comprehensive tex archive network, http://www.ctan.org.
 
12
Debian package management, http://www.debian.org.
 
13
Drossopoulou, S., Lagorio, G., and Eisenbach, S. Flexible models for dynamic linking. In Proceedings of the 12th European Symposium on Programming (2003).
14
 
15
Eclipse, http://www.eclipse.org.
 
16
ECMA. Standard ECMA -335: Common Language Infrastructure, 2002.
 
17
EJB 3.0 Expert Group. JSR 220: Enterprise JavaBeans Version 3.0, June 2005.
 
18
Ewing, M., and Troan, E. The RPM packaging system. In Proceedings of the 1st Conference on Freely Redistributable Software (1996).
19
20
 
21
 
22
23
 
24
 
25
Installshield, http://www.installshield.com.
26
 
27
Liu, Y. D., and Smith, S. F. Modules With Interfaces for Dynamic Linking and Communication. In ECOOP'04 (2004), pp. 414--439.
28
 
29
Liu, Y. D., and Smith, S. F. A Formal Framework for Component Deployment (Long Version), http://www.cs.jhu.edu/~yliu/deploy/. Tech. rep., The Johns Hopkins University, Baltimore, Maryland, March 2006.
 
30
McCamant, S., and Ernst, M. D. Early identification of incompatibilities in multi-component upgrades. In Proceedings of the 18th ECOOP (2004), pp. 440--464.
31
 
32
Meijer, E., and Gough, J. Technical Overview of the Common Language Runtime, 2000.
 
33
Microsoft. Component Object Model Technologies, http://www.microsoft.com/com/.
 
34
Mono, http://www.mono-project.com.
 
35
MSDN. Shared Source Common Language Infrastructure 1.0 R elease, http://msdn.microsoft.com/net/sscli/.
 
36
Object Management Group. Deployment and Configuration of Component-based Distributed Applications Specification, July 2003.
 
37
OSGi. Open services gateway initiative service platform, release 4 core, available at http://www.osgi.org, 2005.
 
38
 
39
Pietrek, M. Avoiding DLL hell: Introducing application metadata in the microsoft .NET framework. MSDN Magazine, available at http://msdn.microsoft.com/ (2000).
 
40
Portage, http://www.gentoo.org.
 
41
Reid, A., Flatt, M., Stoller, L., Lepreau, J., and Eide, E. Knit: Component composition for systems software. In Proc. of the 4th Operating Systems Design and Implementation (OSDI) (October 2000), pp. 347--360.
 
42
 
43
Rubygems, http://rubyforge.org/projects/rubygems/.
 
44


Collaborative Colleagues:
Yu David Liu: colleagues
Scott F. Smith: colleagues