Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/998675.999450acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

DiscoTect: A System for Discovering Architectures from Running Systems

Published: 23 May 2004 Publication History

Abstract

One of the challenging problems for software developersis guaranteeing that a system as built is consistentwith its architectural design. In this paper we describe atechnique that uses run time observations about an executingsystem to construct an architectural view of thesystem. With this technique we develop mappings thatexploit regularities in system implementation and architecturalstyle. These mappings describe how low-levelsystem events can be interpreted as more abstract architecturaloperations. We describe the current implementationof a tool that uses these mappings, and show that itcan highlight inconsistencies between implementationand architecture.

References

[1]
{1} J. Aldrich, C. Chambers, and D. Notkin. ArchJava: Connecting Software Architecture to Implementation. In Proc. ICSE 2002.
[2]
{2} R. Allen, D. Garlan Formalizing Architectural Connection. In Proc. ICSE 1994.
[3]
{3} R. M. Balzer and N. M Goldman. Mediating Connectors. Proc. 1999 ICDCD Workshop on Electronic Commerce and Web-Based Applications, 1999.
[4]
{4} M. Dias and D. Richardson. The Role of Event Description on Architecting Dependable Systems (extended version from WADS). Lecture Notes in Computer Science - Book on Architecting Dependable Systems (Spring-Verlag), 2003.
[5]
{5} M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. IEEE Tans. on Soft. Eng., 27(2), 2001.
[6]
{6} M. Fleury and F. Reverbel. The JBoss Extensible Server. Proc. International Middleware Conference, 2003.
[7]
{7} D. Garlan, R. J. Allen, and J. Ockerbloom. Exploiting Style in Architectural Design. Proc FSE 94, 1994.
[8]
{8} D. Garlan, A. J. Kompanek, S.-W. Cheng. Reconciling the Needs of Architectural Description with Object Modeling Notations. Science of Computer Programming vol. 44, 2001.
[9]
{9} D. Garlan, R. T. Monroe, and D. Wile. Acme: Architectural Description of Component-Based Systems. Foundations of Component-Based Systems, Gary T. Leavens and Murali Sitaraman (eds), Cambridge University Press, 2000.
[10]
{10} D. Garlan, B. Schmerl, and J. Chang. Using Gauges for Architecture-Based Monitoring and Adaptation. Proc. 1st Working Conference on Complex and Dynamic Systems Architecture, 2001.
[11]
{11} D. Garlan, S.-W. Cheng, B. Schmerl. Increasing System Dependability through Architecture-based Self-repair. Architecting Dependable Systems, R. de Lemos, C. Gacek, A. Romanovsky (Eds). LNCS 2677, Springer-Verlag, 2003.
[12]
{12} D. Jackson and A. Waingold. Lightweight extraction of object models from bytecode. In Proc. ICSE 1999.
[13]
{13} G. Kaiser, J. Parekh, P. Gross, and G. Veletto. Kinesthetics eXtreme: An External Infrastructure for Monitoring Distributed Legacy Systems. Proc. 5th International Active Middleware Workshop, 2003.
[14]
{14} R. Kazman, and S. J. Carriere. Playing Detective: Reconstructing Software Architecture from Available Evidence. Journal of Automated Software Engineering 6(2), 1999.
[15]
{15} R. Kazman, J. Asundi, J. S. Kim, and B. Sethananda. A Simulation Testbed for Mobile Adaptive Architectures, Computer Standards and Interfaces, to appear, 2003.
[16]
{16} G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W.G. Griswold. An Overview of Aspect J. ECOOP 2001.
[17]
{17} D. C. Luckham. Rapide: A Language and Toolset for Simulation of Distributed Systems by Partial Orderings of Events. DIMACS Partial Order Methods Workshop, 1996.
[18]
{18} N Madhav. Testing Ada 95 Programs for Conformance to Rapide Archtiecturs. Proc. Reliable Software Technologies - Ada Europe 96, 1996.
[19]
{19} G. C. Murphy, D. Notkin, and K. J. Sullivan. Software Reflexion Models: Bridging the Gap Between Source and High-Level Models. In Proc. FSE 1995.
[20]
{20} G. C. Murphy, D. Notkin, Lightweight lexical source model extraction, ACM TOSEM, 5(3), 1996.
[21]
{21} S. Reiss. JIVE: Visualizing Java in Action (Demonstration Description). Proc. ICSE 2003.
[22]
{22} M. Shaw, R. Deline, D. Klein, T. L. Ross, D. M. Young, G. Zelesnik. Abstractions for Software Architecture and Tools to Support Them. IEEE Trans. on Soft. Eng. 21(4), 1995.
[23]
{23} R.N. Taylor, N. Medvidovic, K. M. Anderson, E. J. Whitehead, J. E. Robbins, K. A. Nies, P. Oriezy, and D. Dubrow. A Component- and Message-Based Architectural Style for GUI Software. IEEE Trans. on Soft. Eng. 22(6), 1996.
[24]
{24} S. Vestel. MetaH Programmer's Manual, Version 1.09. Technical Report, Honeywell Technology Center, 1996.
[25]
{25} M. Vieira, M. Dias, D. J. Richardson. Software Architecture based on Statechart Semantics. Proc. the 10th International Workshop on Component Based Software Engineering, 2001.
[26]
{26} R. J. Walker, G. C. Murphy, B. Freeman-Benson, D. Wright, D. Swanson, J. Isaak. Visualizing Dynamic Software System Information through High-level Models. In Proc. OOPSLA'98,
[27]
{27} R. J. Walker, G. C. Murphy, J. Steinbok, and M. P. Robillard. Efficient Mapping of Software System Traces to Architectural Views. In S. A. MacKay and J. H. Johnson (eds) In Proc. CASCON 2000. .
[28]
{28} D. Wells and P. Pazandak. Taming Cyber Incognito: Surveying Dynamic/Reconfigurable Software Landscapes. Proc. 1st Working Conference on Complex and Dynamic Systems Architectures, 2001.
[29]
{29} A. Zeller. Animating Data Structures in DDD. Proc. SIGCSE/SIGCUE Program Visualization Workshop, 2000.

Cited By

View all
  • (2019)Process-mining based dynamic software architecture reconstructionProceedings of the 13th European Conference on Software Architecture - Volume 210.1145/3344948.3344985(217-224)Online publication date: 9-Sep-2019
  • (2019)Using active learning to synthesize models of applications that access databasesProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314591(269-285)Online publication date: 8-Jun-2019
  • (2019)Detection and repair of architectural inconsistencies in JavaProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00067(560-571)Online publication date: 25-May-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '04: Proceedings of the 26th International Conference on Software Engineering
May 2004
761 pages
ISBN:0769521630

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 23 May 2004

Check for updates

Qualifiers

  • Article

Conference

ICSE04
Sponsor:

Acceptance Rates

ICSE '04 Paper Acceptance Rate 58 of 436 submissions, 13%;
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)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Process-mining based dynamic software architecture reconstructionProceedings of the 13th European Conference on Software Architecture - Volume 210.1145/3344948.3344985(217-224)Online publication date: 9-Sep-2019
  • (2019)Using active learning to synthesize models of applications that access databasesProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314591(269-285)Online publication date: 8-Jun-2019
  • (2019)Detection and repair of architectural inconsistencies in JavaProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00067(560-571)Online publication date: 25-May-2019
  • (2018)Maintaining Architecture-Implementation Conformance to Support Architecture CentralityACM Transactions on Software Engineering and Methodology10.1145/322904827:2(1-52)Online publication date: 27-Jun-2018
  • (2016)A genetic approach to architectural pattern discoveryProccedings of the 10th European Conference on Software Architecture Workshops10.1145/2993412.3003393(1-7)Online publication date: 28-Nov-2016
  • (2016)KDM as the Underlying Metamodel in Architecture-Conformance CheckingProceedings of the XXX Brazilian Symposium on Software Engineering10.1145/2973839.2973851(103-112)Online publication date: 19-Sep-2016
  • (2015)The ARAMIS Workbench for Monitoring, Analysis and Visualization of Architectures based on Run-time InteractionsProceedings of the 2015 European Conference on Software Architecture Workshops10.1145/2797433.2797492(1-7)Online publication date: 7-Sep-2015
  • (2013)Maintaining architectural conformance during software developmentProceedings of the 7th European conference on Software Architecture10.1007/978-3-642-39031-9_19(208-223)Online publication date: 1-Jul-2013
  • (2012)Enhancing architecture-implementation conformance with change management and support for behavioral mappingProceedings of the 34th International Conference on Software Engineering10.5555/2337223.2337297(628-638)Online publication date: 2-Jun-2012
  • (2012)Foundations and tools for end-user architectingProceedings of the 17th Monterey conference on Large-Scale Complex IT Systems: development, operation and management10.1007/978-3-642-34059-8_9(157-182)Online publication date: 19-Mar-2012
  • Show More Cited By

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