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

Automating software architecture exploration with M2Aspects

Published: 27 May 2006 Publication History

Abstract

An important step in the development of large-scale distributed reactive systems is the design of effective system architectures. The early availability of prototypes facilitates the selection of the most effective architecture for a given situation. Although it is very beneficial to evaluate and compare architectures for functionality and quality attributes before implementing or changing the entire system, this step is often skipped due to the required time and effort. In this paper we present on the status of our tool chain to automate our approach of efficient prototype creation for scenario-based software specifications using aspect-oriented programming techniques (10). It transforms interaction-based software specifications (scenarios) into AspectJ programs. Central part of this tool chain is M2Aspects, which implements the methodological transition from scenarios to aspect implementations. It also handles architectural configurations; M2Aspects maps of the same set of scenarios to different candidate architectures. This significantly reduces the effort required to explore architectural alternatives. We explain our tool-chain using the Center TRACON Automation System as a running example.

References

[1]
P. Clements, R. Kazman, and M. Klein. Evaluating Software Architectures - Methods and Case Studies. Addison-Wesley, 2002.
[2]
R. France, G. Georg, and I. Ray. Supporting Multi-Dimensional Separation of Design Concerns. In OSD Workshop on AOM: Aspect-Oriented Modeling with UML, 2003.
[3]
ITU-TS. Recommendation Z.120 : Message Sequence Chart (MSC). Geneva, 1996.
[4]
JAXB. http://java.sun.com/webservices/jaxb/.
[5]
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.
[6]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect Oriented Programming. Technical report, Xerox Corporation, 1997.
[7]
I. Krüger. Distributed System Design with Message Sequence Charts. PhD thesis, Technische Universitäat München, 2000.
[8]
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.
[9]
I. Krüger, R. Mathew, and M. Meisinger. From Scenarios to Aspects: Exploring Product Lines. In Proceedings of the ICSE 2005 Workshop on Scenarios and State Machines (SCESM), 2005.
[10]
I. Krüger, R. Mathew, and M. Meisinger. Efficient Exploration of Service-Oriented Architectures using Aspects. In Proceedings of the 28th International Conference on Software Engineering (ICSE), 2006.
[11]
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.
[12]
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.
[13]
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.
[14]
R. Mathew. Systematic Definition, Implementation and Evaluation of Service-Oriented Software. Master's thesis, University of California, San Diego, 2004.
[15]
R. Mathew and I. H. Krüger. Full Service Specification for CTAS System, 2006. http://sosa.ucsd.edu/publications/icse2006/CTASServiceSpecification.pdf.
[16]
R. Mathew and I. H. Krüger. Full Service Specification for CTAS System, 2006. http://sosa.ucsd.edu/publications/icse2006/CTASServiceSpecification.pdf.
[17]
J. A. Robinson. Computational Logic: The Unification Computation. In Proceedings of the 6th International Conference on Machine Intelligence, 1971.
[18]
SCSEM 2006 Case Study. 5th Int. Workshop on Scenarios and State Machines: Models, Algorithms, and Tools. CTAS Case study Overview, Requirements, 2006. http://ise.gmu.edu/scesm06/case-study-2/requirements.pdf.
[19]
UML 2.0. http://www.omg.org/uml.
[20]
Xerox Corp., Palo Alto Research Center Inc. The AspectJ Programming Guide. http://www.eclipse.org/aspectj/doc/released/progguide, 2004.

Cited By

View all
  • (2015)Optimization Methods for Nop-Shadows Typestate AnalysisIEICE Transactions on Information and Systems10.1587/transinf.2014EDP7329E98.D:6(1213-1227)Online publication date: 2015
  • (2012)The Clara framework for hybrid typestate analysisInternational Journal on Software Tools for Technology Transfer (STTT)10.5555/3115971.311616314:3(307-326)Online publication date: 1-Jun-2012
  • (2012)Partially Evaluating Finite-State Runtime Monitors Ahead of TimeACM Transactions on Programming Languages and Systems10.1145/2220365.222036634:2(1-52)Online publication date: 1-Jun-2012
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SCESM '06: Proceedings of the 2006 international workshop on Scenarios and state machines: models, algorithms, and tools
May 2006
93 pages
ISBN:1595933948
DOI:10.1145/1138953
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: 27 May 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

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

Qualifiers

  • Article

Conference

ICSE06
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2015)Optimization Methods for Nop-Shadows Typestate AnalysisIEICE Transactions on Information and Systems10.1587/transinf.2014EDP7329E98.D:6(1213-1227)Online publication date: 2015
  • (2012)The Clara framework for hybrid typestate analysisInternational Journal on Software Tools for Technology Transfer (STTT)10.5555/3115971.311616314:3(307-326)Online publication date: 1-Jun-2012
  • (2012)Partially Evaluating Finite-State Runtime Monitors Ahead of TimeACM Transactions on Programming Languages and Systems10.1145/2220365.222036634:2(1-52)Online publication date: 1-Jun-2012
  • (2011)MOPBoxProceedings of the Second international conference on Runtime verification10.1007/978-3-642-29860-8_28(365-369)Online publication date: 27-Sep-2011
  • (2010)ClaraProceedings of the First international conference on Runtime verification10.5555/1939399.1939417(183-197)Online publication date: 1-Nov-2010
  • (2010)The Clara framework for hybrid typestate analysisInternational Journal on Software Tools for Technology Transfer10.1007/s10009-010-0183-514:3(307-326)Online publication date: 5-Dec-2010
  • (2010)Clara: A Framework for Partially Evaluating Finite-State Runtime Monitors Ahead of TimeRuntime Verification10.1007/978-3-642-16612-9_15(183-197)Online publication date: 2010
  • (2009)Dependent adviceProceedings of the 8th ACM international conference on Aspect-oriented software development10.1145/1509239.1509243(3-14)Online publication date: 2-Mar-2009
  • (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)Runtime Verification of Interactions: From MSCs to AspectsRuntime Verification10.1007/978-3-540-77395-5_6(63-74)Online publication date: 2007

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media