skip to main content
10.1145/1167350.1167447acmconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
Article

BoxScript: a component-oriented language for teaching

Published: 18 March 2005 Publication History

Abstract

As component-oriented approaches become increasingly pervasive in the development of complex software systems, it becomes increasingly important to introduce computing science students to appropriate programming concepts, languages and techniques. This paper describes the design of the component-oriented language BoxScript, which seeks to address the needs of teachers and students for a clean, simple language. This paper first enumerates the principles applied in the language design and then presents the key concepts and features of BoxScript. The paper illustrates the language features by using an example and by comparing it with several other component-oriented programming languages.

References

[1]
Ardis, M., Daley, N., Hoffman, D., Siy, H. and Weiss, D. Software Product Lines: A Case Study. Software- Practice and Experience, Vol. 30, pp. 825--847, 2000.]]
[2]
Britton, K. H., Parker, R. A. and Parnas, D. L. A Procedure for Designing Abstract Interfaces for Device Interface Modules. In Proceedings of the 5th International Conference on Software Engineering, pp. 195--204, March, 1981.]]
[3]
Cheesman, J. and Daniels, J. UML Components: A Simple Process for Specifying Component-Based Software. Addison Wesley, 2001.]]
[4]
Cunningham, H. C., Liu, Y., Tadepalli, P. and Fu, M. Component Software: A New Software Engineering Course. Journal of Computing Sciences in Colleges, Vol. 18, No. 6, pp. 10--21, June 2003.]]
[5]
Cunningham, H. C., Liu, Y. and Tadepalli, P. Toward Specification and Composition of BoxScript Components. In Proceedings of the Workshop on Specification and Verification of Component-Based Systems (SAVCBS), pp. 114--117, November 2004.]]
[6]
Deitel, H. M. and Deitel, P. J. C#: How to Program. Prentice Hall, 2003.]]
[7]
Gamma, E., Helm, R., Johnson, R. and Vlissides, J. Design Patterns: Elements of Reusable Object-oriented Software. Addison Wesley, 1995.]]
[8]
Leavens, G. T. and Cheon, Y. Design by Contract with JML. Draft paper, Iowa State University, August 2004.]]
[9]
Lüer, C. Environments for Deployable Components. Technical Report #02-15, Dept. of Information and Computer Science, University of California, Irvine, May 2002.]]
[10]
S. McDirmid, M. Flatt, and W. C. Hsieh. "Jiazzi: New-age Components for Old-fashioned Java," In Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 211--222, 2001.]]
[11]
Meyer, B. Object-Oriented Software Construction. Second Edition, Prentice Hall, 1997.]]
[12]
L. Mikhajlov and E. Sekerinski. The Fragile Base Class Problem and Its Solution. Technical Report 117, Turku Centre for Computer Science, Finland, June 1997.]]
[13]
Oberon Microsystems, Inc. Component Pascal Language Report. May 1997.]]
[14]
Parnas, D. L. On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the ACM, Vol. 15, No. 12, pp. 1053--1058, December 1972.]]
[15]
Parnas, D. L. On the Design and Development of Program Families. IEEE Transactions on Software Engineering, Vol. SE-2, pp. 1--9, March 1976.]]
[16]
Seco, J. C. ComponentJ in a NutShell. http://ctp.di.fct.unl.pt/~jcs/bibIndex/papers/ComponentJ.pdf. Last accessed: 24 Jan 2004.]]
[17]
Schmid, H. A. Systematic Framework Design by Generalization. Communications of the ACM, Vol. 40, No. 10, pp. 48--51, October 1997.]]
[18]
Singh, I., Stearns, B., Johnson, M. and the Enterprise Team. Designing Enterprise Applications with the J2EE#8482; Platform. Second Edition. Addison Wesley, 2002.]]
[19]
Szyperski, C. Component Software: Beyond Object-Oriented Programming. Second Edition. Addison Wesley, 2002.]]
[20]
Udell, J. Componentware, BYTE, pp. 46--56, May 1994.]]

Cited By

View all
  • (2013)Component Based Software Development Using Component Oriented ProgrammingProceedings of International Conference on Advances in Computing10.1007/978-81-322-0740-5_137(1125-1133)Online publication date: 2013
  • (2007)Java in the boxProceedings of the 45th annual ACM Southeast Conference10.1145/1233341.1233351(47-52)Online publication date: 23-Mar-2007
  • (2006)SCLProceedings of the 14th international conference on Advances in smalltalk10.5555/1763416.1763421(91-110)Online publication date: 4-Sep-2006

Index Terms

  1. BoxScript: a component-oriented language for teaching

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ACMSE '05 vol 1: Proceedings of the 43rd annual ACM Southeast Conference - Volume 1
    March 2005
    408 pages
    ISBN:1595930590
    DOI:10.1145/1167350
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 March 2005

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. BoxScript
    2. component-oriented language
    3. education

    Qualifiers

    • Article

    Conference

    ACM SE05
    Sponsor:
    ACM SE05: ACM Southeast Regional Conference 2005
    March 18 - 20, 2005
    Georgia, Kennesaw

    Acceptance Rates

    Overall Acceptance Rate 502 of 1,023 submissions, 49%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 07 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2013)Component Based Software Development Using Component Oriented ProgrammingProceedings of International Conference on Advances in Computing10.1007/978-81-322-0740-5_137(1125-1133)Online publication date: 2013
    • (2007)Java in the boxProceedings of the 45th annual ACM Southeast Conference10.1145/1233341.1233351(47-52)Online publication date: 23-Mar-2007
    • (2006)SCLProceedings of the 14th international conference on Advances in smalltalk10.5555/1763416.1763421(91-110)Online publication date: 4-Sep-2006

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media