skip to main content
10.1145/1134285.1134296acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Efficient exploration of service-oriented architectures using aspects

Published: 28 May 2006 Publication History

Abstract

An important step in the development of large-scale distributed, reactive systems is the design of architectures that effectively support the systems' purposes. Early prototypes help to decide upon the most effective architecture for a given situation. Questions to answer include the boundaries of components, communication topologies and of replication. It is desirable to evaluate and compare architectures for functionality and quality attributes before implementing or changing the whole system. Often, the effort required is prohibitive. In this paper we present an approach to efficiently create prototypes for service-oriented architectures using aspect-oriented programming techniques. We explain a procedure for transforming interaction based software specifications into AspectJ programs. We show how to map the same set of interaction scenarios to different candidate architectures. This significantly reduces the effort required to explore architectural alternatives. We explain and evaluate our approach using the Center TRACON Automation System as a running example.

References

[1]
M. Broy and I. H. Krüger, editors. Pre-Proceedings of the Automotive Software Workshop San Diego 2004. UCSD, 2004. http://aswsd.ucsd.edu/2004.
[2]
P. Clements, R. Kazman, and M. Klein. Evaluating Software Architectures -- Methods and Case Studies. Addison-Wesley, 2002.
[3]
G. Denaro, A. Polini, and W. Emmerich. Early performance testing of distributed software applications. In WOSP '04: Proceedings of the 4th international workshop on Software and performance, pages 94--103. ACM Press, 2004.
[4]
E. Evans. Domain Driven Design. Addison-Wesley, 2003.
[5]
R. France, G. Georg, and I. Ray. Supporting Multi-Dimensional Separation of Design Concerns. In The 3rd AOSD Modeling With UML Workshop, 2003.
[6]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[7]
J. Hannemann and G. Kiczales. Design pattern implementation in Java and AspectJ. In Proceedings of OOPSLA'02, pages 161--173. ACM Press, 2002.
[8]
ITU-TS. Recommendation Z.120 : Message Sequence Chart (MSC). Geneva, 1996.
[9]
E. Kendall. Aspect Oriented Programming for Role Models. In International Workshop on Aspect Oriented Programming at ECOOP, volume 1743 of LNCS, pages 294--295. Springer Verlag, 1999.
[10]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming, volume 2072 of LNCS, pages 327--353. Springer Verlag, 2001.
[11]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect Oriented Programming. Technical report, Xerox Corporation, 1997.
[12]
B. Kristensen. Object-Oriented Modeling with Roles. In Proceedings of the 1st Conference on Object Information Systems, 1996.
[13]
I. Krüger. Distributed System Design with Message Sequence Charts. PhD thesis, Technische Universität München, 2000.
[14]
I. Krüger, R. Grosu, P. Scholz, and M. Broy. From MSCs to Statecharts. In F. J. Rammig, editor, Distributed and Parallel Embedded Systems, pages 61--71. Kluwer Academic Publishers, 1999.
[15]
I. H. Krüger. Capturing Overlapping, Triggered, and Preemptive Collaborations Using MSCs. In M. Pezzà, editor, FASE 2003, volume 2621 of LNCS, pages 387--402. Springer Verlag, 2003.
[16]
I. H. Krüger, J. Ahluwalia, D. Gupta, R. Mathew, P. Moorthy, W. Phillips, and S. Rittmann. Towards a Process and Tool-Chain for Service-Oriented Automotive Software Engineering. In Proceedings of the ICSE 2004 Workshop on Software Engineering for Automotive Systems (SEAS), 2004.
[17]
I. H. Krüger and R. Mathew. Systematic Development and Exploration of Service-Oriented Software Architectures. In Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture (WICSA), pages 177--187. IEEE, 2004.
[18]
L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, 27(7):558--565, July 1978.
[19]
Y. Liu and I. Gorton. Accuracy of Performance Prediction for EJB Applications: A Statistical Analysis. In Proceedings of the 4th Int. Workshop on Software Engineering and Middleware (SEM'2004), volume 3437 of LNCS, pages 185--198, 2005.
[20]
R. Mathew. Systematic Definition, Implementation and Evaluation of Service-Oriented Software. Master's thesis, University of California, San Diego, 2004.
[21]
R. Mathew and I. H. Krüger. Full Service Specification for CTAS System, 2006. http://sosa.ucsd.edu/publications/icse2006/CTASServiceSpecification.pdf.
[22]
OMG Model Driven Architecture. http://www.omg.org/mda.
[23]
B. Paech. A Framework for Interaction Description with Roles. Technical Report TUM-I9731, Technische Universit"at München, 1997.
[24]
E. Pulvermüller, A. Speck, and A. Rashid. Implementing Collaboration-Based Designs Using Aspect-Oriented Programming. In TOOLS '00: Proc. of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00), pages 95--104. IEEE Computer Society, 2000.
[25]
SCSEM 2003 Case Study. 2nd Int. Workshop on Scenarios and State Machines: Models, Algorithms, and Tools. CTAS Case study Overview, Requirements, 2002. http://www.doc.ic.ac.uk/~su2/SCESM/CS/requirements.pdf.
[26]
K. Sen, G. Rosu, and G. Agha. Runtime Safety Analysis of Multithreaded Programs. Proceedings of the 10th European Software Engineering Conference and the 11th ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 337--346, 2003.
[27]
M. Shaw and D. Garlan. Software Architecture, Perspectives on an Emerging Discipline. Prentice Hall, 1996.
[28]
Y. Smaragdakis and D. Batory. Implementing Layered Designs with Mixin Layers. In Proceedings of ECOOP 1998, volume 1445 of LNCS, pages 550--570. Springer Verlag, 1998.
[29]
J. Snell, D. Tidwell, and P. Kulchenko. Programming Web Services with SOAP. O'Reilly, 2002.
[30]
D. Trowbridge, U. Roxburgh, G. Hohpe, D. Manolescu, and E. Nadhan. Integration Patterns. Patterns & Practices. Microsoft Press, 2004.
[31]
UML 2.0. http://www.omg.org/uml.
[32]
M. VanHilst and D. Notkin. Using Role Components to Implement Collaboration-Based Designs. In Proceedings of OOPSLA'96, pages 359--369. ACM Press, 1996.
[33]
Xerox Corp., Palo Alto Research Center Inc. The AspectJ Programming Guide. http://www.eclipse.org/aspectj/doc/released/progguide, 2004.
[34]
P. Zave. Feature-Oriented Description, Formal Methods, and DFC. In Proceedings of the FIREworks Workshop on Language Constructs for Describing Features, pages 11--26. Springer-Verlag, 2001.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '06: Proceedings of the 28th international conference on Software engineering
May 2006
1110 pages
ISBN:1595933751
DOI:10.1145/1134285
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: 28 May 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. architecture comparison
  2. aspect-oriented programming
  3. aspectJ
  4. aspects
  5. components
  6. distributed reactive systems
  7. roles
  8. service-oriented development
  9. services
  10. software architecture exploration

Qualifiers

  • Article

Conference

ICSE06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2018)Aspect-oriented challenges in system integration with microservices, SOA and IoTEnterprise Information Systems10.1080/17517575.2018.1462406(1-23)Online publication date: 10-Apr-2018
  • (2012)Context-aware services engineeringACM Transactions on Internet Technology10.1145/2078316.207831811:3(1-28)Online publication date: 3-Feb-2012
  • (2011)A Compiler for Multimodal ScenariosACM Transactions on Software Engineering and Methodology10.1145/2000799.200080420:4(1-41)Online publication date: 1-Sep-2011
  • (2011)A framework for locating service providers in service-oriented software systems2011 International Conference on Computational Problem-Solving (ICCP)10.1109/ICCPS.2011.6092242(1-6)Online publication date: Oct-2011
  • (2009)AmoebaACM Transactions on Software Engineering and Methodology10.1145/1571629.157163219:2(1-45)Online publication date: 14-Oct-2009
  • (2008)A model-based approach for engineering pervasive services in SOAsProceedings of the 5th international conference on Pervasive services10.1145/1387269.1387279(57-60)Online publication date: 6-Jul-2008
  • (2008)Towards engineering models of aspectual pervasive software servicesProceedings of the 3rd ACM workshop on Software engineering for pervasive services10.1145/1387229.1387232(3-8)Online publication date: 6-Jul-2008
  • (2007)Runtime verification of interactionsProceedings of the 7th international conference on Runtime verification10.5555/1785141.1785149(63-74)Online publication date: 13-Mar-2007
  • (2007)Engineering Automotive SoftwareProceedings of the IEEE10.1109/JPROC.2006.88838695:2(356-373)Online publication date: Feb-2007
  • (2007)The Treasure Map for Rich Services2007 IEEE International Conference on Information Reuse and Integration10.1109/IRI.2007.4296653(400-405)Online publication date: Aug-2007
  • Show More Cited By

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