Skip to main content

A New Component-Oriented Programming Language with the First-Class Connector

  • Conference paper
Modular Programming Languages (JMLC 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4228))

Included in the following conference series:

Abstract

The idea of a connector, which explicitly describes the interactions among components, is one of the important contributions of the research on software architecture. The importance of the connector as a first-class entity in software architecture has been increasingly recognized. In this paper we argue that such an important abstraction also deserves first-class support from programming languages. We present a new component-oriented programming language, SAJ (Software Architecture based Java), which integrates some architectural concepts such as the component, the port and particularly the connector into Java. The connector is treated as a first-class entity in SAJ as is the component so that software architecture can be made more explicit at implementation level and the simultaneous reuse of the component and the connector can be realized. The component model and the connector model underlying SAJ are also discussed in detail. We formalize our language giving both the type system and operational semantics and prove the type soundness property.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. on Software Engineering and Methodology 6(3), 213–249 (1997)

    Article  Google Scholar 

  2. David, C., Luckham, J.J., Kenney, L.M., Vera, J., Bryan, D., Mann, W.: Specification and Analysis of System Architecture Using Rapide. IEEE Trans. on Software Engineering 21(4), 336–355 (1995)

    Article  Google Scholar 

  3. Oreizy, P., Rosenblum, D.S., Taylor, R.N.: On the Role of Connectors in Modeling and Implementing software Architectures. Technical Report UCI-ICS-98-04, University of California, Irvine (1998)

    Google Scholar 

  4. Arbab, F.: Abstract Behavior Type: A Foundation Model for Component and Their Composition. Science of Computer Programming 3, 52 (2005)

    Google Scholar 

  5. Liu, Y.D., Smith, S.F.: Interaction-Based Programming with Classages. In: Proceedings of the 20th Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2005), San Diego, California (October 2005)

    Google Scholar 

  6. Oussalah, M., Smeda, A., Khammaci, T.: An Explicit Definition of Connectors for Component-Based Software Architecture. In: 11th IEEE International Conference on the Engineering of Computer-Based Systems (ECBS 2004), Brno, Czech Republic (May 2004)

    Google Scholar 

  7. Szyperski, C.: Component Software - Beyond Object-Oriented Programming. Addison-Wesley, Reading (2003)

    Google Scholar 

  8. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  9. Lau, K.-K., Elizondo, P.V., Wang, Z.: Exogenous Connectors for Software Components. In: Eighth International SIGSOFT Symposium on Component-based Software Engineering (CBSE 2005), St. Louis, MO, USA (May 2005)

    Google Scholar 

  10. Sreedhar, V.C.: Mixin Up Components. In: Proceedings of the 24th International Conference on Software Engineering, Orlando, Florida (May 2002)

    Google Scholar 

  11. Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: Proc. 22nd International Conference on Software Engineering, Limerick, Ireland (June 2000)

    Google Scholar 

  12. Bierman, G., Wren, A.: First-class relationships in an object-oriented language. In: Proceedings of the 19th European Conference on Object-Oriented Programming, Glasgow, Scotland (2005)

    Google Scholar 

  13. Drossopoulou, S., Valkevych, T., Eisenbach, S.: Java type soundness revisited. Technical report. Imperial College London (September 2000)

    Google Scholar 

  14. Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. In: Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA) (1999)

    Google Scholar 

  15. Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California (1998)

    Google Scholar 

  16. Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115(1), 38–94 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  17. Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)

    Google Scholar 

  18. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: connecting software architecture to implementation. In: Proceedings of the 24th International Conference on Software Engineering, Orlando, FL (2002)

    Google Scholar 

  19. Aldrich, J., Chambers, C., Notkin, D.: Language Support for Connector Abstractions. In: Proceedings of the 17th European Conference Object-Oriented Programming, Darmstadat, Germany (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, B., Li, Z., Chen, H. (2006). A New Component-Oriented Programming Language with the First-Class Connector. In: Lightfoot, D.E., Szyperski, C. (eds) Modular Programming Languages. JMLC 2006. Lecture Notes in Computer Science, vol 4228. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11860990_17

Download citation

  • DOI: https://doi.org/10.1007/11860990_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40927-4

  • Online ISBN: 978-3-540-40928-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics