SlideShare a Scribd company logo
1 of 2
Download to read offline
Architecture Recovery for Distributed Systems
Nabor C. Mendonça
Centro de CiĂȘncias TecnolĂłgicas
Universidade de Fortaleza
Av. Washington Soares, 1321, Bloco D
60811-905 Fortaleza, CE, Brazil
nabor@unifor.br
Abstract
The ability to recover up-to-date architectural
information from existing software artifacts is key to
effective software maintenance, reengineering and reuse.
Although architecture recovery can be facilitated with the
help of current reverse engineering techniques and tools,
many issues remain to be properly addressed, particularly
regarding recovery of runtime abstractions (e.g., clients,
server, interaction protocols) that are typical to
distributed system design. In this position paper we claim
that integrating multiple static analysis techniques can be
a cost-effective way of recovering a distributed system's
“as-built” architectural design. To support this claim, we
present X-ray, an integrated, static analysis based
architecture recovery approach for distributed systems.
1. Introduction
Software architecture is now widely recognized as a
crucial aspect of software design that affects the entire
software life-cycle. However, because software systems
are seldom documented properly, and because design
abstractions tend not to be explicitly represented in
implemented software artifacts, reasoning about the
architecture of an existing software system (being it for
maintenance, reengineering or reuse) can be exceedingly
difficult.
Architecture recovery aims at supporting the process of
extracting up-to-date architectural information about an
existing software system from its available software
artifacts. Technically, architecture recovery can be seen
as an attempt to reverse the process that might have been
used to derive the existing software artifacts from a
suitable architectural specification. However, any attempt
to bridge the gap between an architecture specification
and its implementation is hampered by the fact most
traditional programming languages fail to provide high-
level support for the implementation of design
concepts[1]. In particular, those languages provide no
explicit construct to implement distributed runtime
abstractions (e.g., servers, clients, interaction protocols),
which end up encoded in more primitive programming
language constructs such as data structures, functions, and
classes.
Another difficulty stems from the fact that a single
architectural description is generally insufficient to
represent the design of a large distributed system. Industry
practice has shown that a more effective approach is to
describe a distributed system architecture from multiple
perspectives or views, with each view emphasizing a
specific set of concerns and including its own types of
design elements and rationale[2][3]. As a consequence,
architecture recovery should be concerned not only with
the ability to recognize abstractions from different views,
but also with the ability to understand how the
abstractions of each view may relate to those of the other
views[4].
2. Limitations of Current Approaches
Although there is considerable body of work on reverse
engineering techniques and tools, these are generally
limited in supporting architecture recovery because they
tend to neglect aspects of system distribution and runtime
organization. The exception are dynamic analysis tools
(e.g., [5]) and domain-based pattern matching tools (e.g.,
[6][7]).
Dynamic analysis tools, though precise in capturing
runtime elements and interactions, are generally limited in
revealing how those elements may relate to, and are
realized in terms of, the various elements of the source
code. In addition, those tools tend to require costly event-
tracing techniques, such as code instrumentation and
symbolic execution, which may be impractical for time-
critical systems or systems whose original development
environment is no longer (or only partially) available.
Domain-based pattern matching tools in turn trade off
precision against a better mapping of potential runtime
events to their executing code fragments, but are still
limited in revealing how those fragments may be reused
across the code for different executable components.
3. Towards an Integrated Approach
We claim that integrating traditional and more
sophisticated static analysis techniques can be a cost-
effective way of recovering a distributed system's “as-
built” architectural design. To support this claim, we have
developed X-ray, an integrated approach for statically
recovering distributed system architectural views[8].
X-ray comprises three domain-based static analysis
techniques, namely component module classification,
syntactic pattern matching, and structural reachability
analysis. These complementary techniques can facilitate
the task of identifying a distributed system's implemented
executable components and their potential runtime
interconnections. The component module classification
technique automatically distinguishes source code
modules according to the executables components they
implement. The syntactic pattern matching technique in
turn helps to recognize specific code fragments that may
implement typical component interaction features. Finally,
the structural reachability analysis technique aids in the
association of those features to the code specific for each
executable component.
By considering different types of domain information
at multiple levels of abstraction, X-ray also helps to relate
implemented design elements across multiple architectural
views. For example, following Kruchten's 4+1 model[2],
the module classification technique maps elements of the
development view (source code modules and subsystems)
to elements of the process view (executable components).
The pattern matching and reachability analysis techniques
further enrich this mapping by associating a module's
specific code fragments to potential runtime interaction
events. These two techniques are also useful in revealing
aspects of the logical and physical views. For instance,
recognizing that two executable components may interact
at runtime through a pipe indicates that these components
are likely to play the architectural role of filters (``logical
view''), and that they can only be executed concurrently
under the same communications domain (``physical
view'').
A preliminary investigation on the effectiveness of X-
ray has been carried out through a number of case studies
involving distributed software of varying sizes and
application domains[9]. In particular, the approach has
been successfully used to help extract architectural
runtime information from the source code for two
moderate-size, publicly-available distributed systems,
namely Samba, a well-known file and print sharing service
software suit, and Field, a distributed programming
environment developed at Brown University. These
experiments build confidence that combining module
classification, syntactic pattern matching, and structural
reachability analysis can be a cost-effective way of
recovering up-to-date architectural information from
existing distributed system artifacts.
We are currently applying X-ray to assess distributed
system evolution from a runtime architecture perspective.
We also plant to investigate how the approach can be
extended so as to support extraction of distributed runtime
abstractions involving both physical and logical
mobility[10].
References
[1] M. Shaw and D. Garlan, “Software architecture:
Perspectives on an emerging discipline”, Prentice-Hall,
1996.
[2] P. B. Kruchten, “The 4+1 view model of architecture”,
IEEE Software, 12(6):42-50, 1995.
[3] C. Hofmeister et al., “Applied software architecture”,
Addison Wesley, 2000.
[4] B. Waters and G. Abowd, “Architectural synthesis:
Integrating multiple architectural perspectives”, In
WCRE’99, IEEE CS Press, 1999.
[5] D. Jerding and S. Rugaber, “Extraction of architectural
connections from event traces”, In PASTE’98, ACM
Press, 1998.
[6] R. Fiutem et al., “A clichĂ© based environment to
support architectural reverse engineering”, In ICSM’96,
IEEE CS Press, 1996, pp. 319-328.
[7] L. J. Holtzblatt et al., “Design recovery for distributed
systems”, IEEE Trans. on Softw. Eng., 23(7):461-471,
1997.
[8] N. C. Mendonça and J. Kramer, “An Approach for
Recovering Distributed System Architectures”, Automated
Software Engineering Journal, 8(3/4):311-354, August
2001.
[9] N. C. Mendonça, “Software architecture recovery for
distributed systems”, PhD Thesis, Imperial College,
Department of Computing, 1999.
[10] G.-C. Roman, G. P. Picco, and A. Murphy, “Software
engineering for mobility: A road map”, In A. Finkelstein,
editor, The Future of Software Engineering, ACM Press,
June 2000, pp. 241-258.
View publication stats
View publication stats

More Related Content

Similar to Architecture Recovery For Distributed Systems

ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...IJCSEA Journal
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...IJCSEA Journal
 
A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...ijseajournal
 
MarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModelingMarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModelingBob Garrett
 
A petri net model for hardware software codesign
A petri net model for hardware software codesignA petri net model for hardware software codesign
A petri net model for hardware software codesignJULIO GONZALEZ SANZ
 
10.1.1.107.2618
10.1.1.107.261810.1.1.107.2618
10.1.1.107.2618Jay van Zyl
 
Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsEditor IJCATR
 
Lq3620002008
Lq3620002008Lq3620002008
Lq3620002008IJERA Editor
 
Model Based Software Architectures
Model Based Software ArchitecturesModel Based Software Architectures
Model Based Software ArchitecturesMunazza-Mah-Jabeen
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...ijwscjournal
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...ijwscjournal
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...ijwscjournal
 
PATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWARE
PATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWAREPATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWARE
PATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWAREijseajournal
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
A Framework To Generate 3D Learning Experience
A Framework To Generate 3D Learning ExperienceA Framework To Generate 3D Learning Experience
A Framework To Generate 3D Learning ExperienceNathan Mathis
 
A Reconfigurable Component-Based Problem Solving Environment
A Reconfigurable Component-Based Problem Solving EnvironmentA Reconfigurable Component-Based Problem Solving Environment
A Reconfigurable Component-Based Problem Solving EnvironmentSheila Sinclair
 

Similar to Architecture Recovery For Distributed Systems (20)

ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
 
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
ARCHITECTING IN THE CONTEXT OF AGILE SOFTWARE DEVELOPMENT: FRAGILITY VERSUS F...
 
A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...
 
MarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModelingMarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModeling
 
A petri net model for hardware software codesign
A petri net model for hardware software codesignA petri net model for hardware software codesign
A petri net model for hardware software codesign
 
10.1.1.107.2618
10.1.1.107.261810.1.1.107.2618
10.1.1.107.2618
 
Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal Models
 
Lq3620002008
Lq3620002008Lq3620002008
Lq3620002008
 
Model Based Software Architectures
Model Based Software ArchitecturesModel Based Software Architectures
Model Based Software Architectures
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
 
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...
 
PATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWARE
PATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWAREPATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWARE
PATTERN-BASED AND REUSE-DRIVEN ARCHITECTING OF MOBILE CLOUD SOFTWARE
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Class notes
Class notesClass notes
Class notes
 
H1803044651
H1803044651H1803044651
H1803044651
 
81-T48
81-T4881-T48
81-T48
 
A Framework To Generate 3D Learning Experience
A Framework To Generate 3D Learning ExperienceA Framework To Generate 3D Learning Experience
A Framework To Generate 3D Learning Experience
 
A Reconfigurable Component-Based Problem Solving Environment
A Reconfigurable Component-Based Problem Solving EnvironmentA Reconfigurable Component-Based Problem Solving Environment
A Reconfigurable Component-Based Problem Solving Environment
 
Thesis Proposal Presentation
Thesis Proposal PresentationThesis Proposal Presentation
Thesis Proposal Presentation
 

More from Jim Webb

When Practicing Writing Chinese, Is It Recommende
When Practicing Writing Chinese, Is It RecommendeWhen Practicing Writing Chinese, Is It Recommende
When Practicing Writing Chinese, Is It RecommendeJim Webb
 
016 King Essay Example Stephen Why We Crave H
016 King Essay Example Stephen Why We Crave H016 King Essay Example Stephen Why We Crave H
016 King Essay Example Stephen Why We Crave HJim Webb
 
How To Write An Essay Fast Essay Writing Guide - Greetinglines
How To Write An Essay Fast Essay Writing Guide - GreetinglinesHow To Write An Essay Fast Essay Writing Guide - Greetinglines
How To Write An Essay Fast Essay Writing Guide - GreetinglinesJim Webb
 
Essay Coaching Seven Secrets For Writing Standout College
Essay Coaching Seven Secrets For Writing Standout CollegeEssay Coaching Seven Secrets For Writing Standout College
Essay Coaching Seven Secrets For Writing Standout CollegeJim Webb
 
Write Essays That Get In And Get Money EBook - Comp
Write Essays That Get In And Get Money EBook - CompWrite Essays That Get In And Get Money EBook - Comp
Write Essays That Get In And Get Money EBook - CompJim Webb
 
Wicked Fun In First Grade
Wicked Fun In First GradeWicked Fun In First Grade
Wicked Fun In First GradeJim Webb
 
Research Paper Help ‒ Write My P
Research Paper Help ‒ Write My PResearch Paper Help ‒ Write My P
Research Paper Help ‒ Write My PJim Webb
 
How To Do A Term Paper. D
How To Do A Term Paper. DHow To Do A Term Paper. D
How To Do A Term Paper. DJim Webb
 
Essay Websites Life Philosophy Essay
Essay Websites Life Philosophy EssayEssay Websites Life Philosophy Essay
Essay Websites Life Philosophy EssayJim Webb
 
Baby Thesis Introduction Sample - Thesis Title Idea
Baby Thesis Introduction Sample - Thesis Title IdeaBaby Thesis Introduction Sample - Thesis Title Idea
Baby Thesis Introduction Sample - Thesis Title IdeaJim Webb
 
Buy Essay Paper - Purchase Cu
Buy Essay Paper - Purchase CuBuy Essay Paper - Purchase Cu
Buy Essay Paper - Purchase CuJim Webb
 
From Where Can I Avail Cheap Essa
From Where Can I Avail Cheap EssaFrom Where Can I Avail Cheap Essa
From Where Can I Avail Cheap EssaJim Webb
 
Writing Philosophy Papers
Writing Philosophy PapersWriting Philosophy Papers
Writing Philosophy PapersJim Webb
 
Paragraph Ipyu9-M682198491
Paragraph Ipyu9-M682198491Paragraph Ipyu9-M682198491
Paragraph Ipyu9-M682198491Jim Webb
 
PPT - Writing Biomedical Research Papers PowerPo
PPT - Writing Biomedical Research Papers PowerPoPPT - Writing Biomedical Research Papers PowerPo
PPT - Writing Biomedical Research Papers PowerPoJim Webb
 
Economics Summary Essay Example
Economics Summary Essay ExampleEconomics Summary Essay Example
Economics Summary Essay ExampleJim Webb
 
Who Are Professional Essay Writers And How Students Might Benefit From
Who Are Professional Essay Writers And How Students Might Benefit FromWho Are Professional Essay Writers And How Students Might Benefit From
Who Are Professional Essay Writers And How Students Might Benefit FromJim Webb
 
Sample Personal Statements Graduate School Persona
Sample Personal Statements Graduate School PersonaSample Personal Statements Graduate School Persona
Sample Personal Statements Graduate School PersonaJim Webb
 
Buy A Critical Analysis Paper
Buy A Critical Analysis PaperBuy A Critical Analysis Paper
Buy A Critical Analysis PaperJim Webb
 
Writing A Position Paper - MUNKi
Writing A Position Paper - MUNKiWriting A Position Paper - MUNKi
Writing A Position Paper - MUNKiJim Webb
 

More from Jim Webb (20)

When Practicing Writing Chinese, Is It Recommende
When Practicing Writing Chinese, Is It RecommendeWhen Practicing Writing Chinese, Is It Recommende
When Practicing Writing Chinese, Is It Recommende
 
016 King Essay Example Stephen Why We Crave H
016 King Essay Example Stephen Why We Crave H016 King Essay Example Stephen Why We Crave H
016 King Essay Example Stephen Why We Crave H
 
How To Write An Essay Fast Essay Writing Guide - Greetinglines
How To Write An Essay Fast Essay Writing Guide - GreetinglinesHow To Write An Essay Fast Essay Writing Guide - Greetinglines
How To Write An Essay Fast Essay Writing Guide - Greetinglines
 
Essay Coaching Seven Secrets For Writing Standout College
Essay Coaching Seven Secrets For Writing Standout CollegeEssay Coaching Seven Secrets For Writing Standout College
Essay Coaching Seven Secrets For Writing Standout College
 
Write Essays That Get In And Get Money EBook - Comp
Write Essays That Get In And Get Money EBook - CompWrite Essays That Get In And Get Money EBook - Comp
Write Essays That Get In And Get Money EBook - Comp
 
Wicked Fun In First Grade
Wicked Fun In First GradeWicked Fun In First Grade
Wicked Fun In First Grade
 
Research Paper Help ‒ Write My P
Research Paper Help ‒ Write My PResearch Paper Help ‒ Write My P
Research Paper Help ‒ Write My P
 
How To Do A Term Paper. D
How To Do A Term Paper. DHow To Do A Term Paper. D
How To Do A Term Paper. D
 
Essay Websites Life Philosophy Essay
Essay Websites Life Philosophy EssayEssay Websites Life Philosophy Essay
Essay Websites Life Philosophy Essay
 
Baby Thesis Introduction Sample - Thesis Title Idea
Baby Thesis Introduction Sample - Thesis Title IdeaBaby Thesis Introduction Sample - Thesis Title Idea
Baby Thesis Introduction Sample - Thesis Title Idea
 
Buy Essay Paper - Purchase Cu
Buy Essay Paper - Purchase CuBuy Essay Paper - Purchase Cu
Buy Essay Paper - Purchase Cu
 
From Where Can I Avail Cheap Essa
From Where Can I Avail Cheap EssaFrom Where Can I Avail Cheap Essa
From Where Can I Avail Cheap Essa
 
Writing Philosophy Papers
Writing Philosophy PapersWriting Philosophy Papers
Writing Philosophy Papers
 
Paragraph Ipyu9-M682198491
Paragraph Ipyu9-M682198491Paragraph Ipyu9-M682198491
Paragraph Ipyu9-M682198491
 
PPT - Writing Biomedical Research Papers PowerPo
PPT - Writing Biomedical Research Papers PowerPoPPT - Writing Biomedical Research Papers PowerPo
PPT - Writing Biomedical Research Papers PowerPo
 
Economics Summary Essay Example
Economics Summary Essay ExampleEconomics Summary Essay Example
Economics Summary Essay Example
 
Who Are Professional Essay Writers And How Students Might Benefit From
Who Are Professional Essay Writers And How Students Might Benefit FromWho Are Professional Essay Writers And How Students Might Benefit From
Who Are Professional Essay Writers And How Students Might Benefit From
 
Sample Personal Statements Graduate School Persona
Sample Personal Statements Graduate School PersonaSample Personal Statements Graduate School Persona
Sample Personal Statements Graduate School Persona
 
Buy A Critical Analysis Paper
Buy A Critical Analysis PaperBuy A Critical Analysis Paper
Buy A Critical Analysis Paper
 
Writing A Position Paper - MUNKi
Writing A Position Paper - MUNKiWriting A Position Paper - MUNKi
Writing A Position Paper - MUNKi
 

Recently uploaded

Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
HỌC TỐT TIáșŸNG ANH 11 THEO CHÆŻÆ NG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáșŸT - Cáșą NĂ...
HỌC TỐT TIáșŸNG ANH 11 THEO CHÆŻÆ NG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáșŸT - Cáșą NĂ...HỌC TỐT TIáșŸNG ANH 11 THEO CHÆŻÆ NG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáșŸT - Cáșą NĂ...
HỌC TỐT TIáșŸNG ANH 11 THEO CHÆŻÆ NG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáșŸT - Cáșą NĂ...Nguyen Thanh Tu Collection
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
call girls in Kamla Market (DELHI) 🔝 >àŒ’9953330565🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Kamla Market (DELHI) 🔝 >àŒ’9953330565🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïžcall girls in Kamla Market (DELHI) 🔝 >àŒ’9953330565🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Kamla Market (DELHI) 🔝 >àŒ’9953330565🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 

Recently uploaded (20)

Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
HỌC TỐT TIáșŸNG ANH 11 THEO CHÆŻÆ NG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáșŸT - Cáșą NĂ...
HỌC TỐT TIáșŸNG ANH 11 THEO CHÆŻÆ NG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáșŸT - Cáșą NĂ...HỌC TỐT TIáșŸNG ANH 11 THEO CHÆŻÆ NG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáșŸT - Cáșą NĂ...
HỌC TỐT TIáșŸNG ANH 11 THEO CHÆŻÆ NG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáșŸT - Cáșą NĂ...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
call girls in Kamla Market (DELHI) 🔝 >àŒ’9953330565🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Kamla Market (DELHI) 🔝 >àŒ’9953330565🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïžcall girls in Kamla Market (DELHI) 🔝 >àŒ’9953330565🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
call girls in Kamla Market (DELHI) 🔝 >àŒ’9953330565🔝 genuine Escort Service đŸ”âœ”ïžâœ”ïž
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 

Architecture Recovery For Distributed Systems

  • 1. Architecture Recovery for Distributed Systems Nabor C. Mendonça Centro de CiĂȘncias TecnolĂłgicas Universidade de Fortaleza Av. Washington Soares, 1321, Bloco D 60811-905 Fortaleza, CE, Brazil nabor@unifor.br Abstract The ability to recover up-to-date architectural information from existing software artifacts is key to effective software maintenance, reengineering and reuse. Although architecture recovery can be facilitated with the help of current reverse engineering techniques and tools, many issues remain to be properly addressed, particularly regarding recovery of runtime abstractions (e.g., clients, server, interaction protocols) that are typical to distributed system design. In this position paper we claim that integrating multiple static analysis techniques can be a cost-effective way of recovering a distributed system's “as-built” architectural design. To support this claim, we present X-ray, an integrated, static analysis based architecture recovery approach for distributed systems. 1. Introduction Software architecture is now widely recognized as a crucial aspect of software design that affects the entire software life-cycle. However, because software systems are seldom documented properly, and because design abstractions tend not to be explicitly represented in implemented software artifacts, reasoning about the architecture of an existing software system (being it for maintenance, reengineering or reuse) can be exceedingly difficult. Architecture recovery aims at supporting the process of extracting up-to-date architectural information about an existing software system from its available software artifacts. Technically, architecture recovery can be seen as an attempt to reverse the process that might have been used to derive the existing software artifacts from a suitable architectural specification. However, any attempt to bridge the gap between an architecture specification and its implementation is hampered by the fact most traditional programming languages fail to provide high- level support for the implementation of design concepts[1]. In particular, those languages provide no explicit construct to implement distributed runtime abstractions (e.g., servers, clients, interaction protocols), which end up encoded in more primitive programming language constructs such as data structures, functions, and classes. Another difficulty stems from the fact that a single architectural description is generally insufficient to represent the design of a large distributed system. Industry practice has shown that a more effective approach is to describe a distributed system architecture from multiple perspectives or views, with each view emphasizing a specific set of concerns and including its own types of design elements and rationale[2][3]. As a consequence, architecture recovery should be concerned not only with the ability to recognize abstractions from different views, but also with the ability to understand how the abstractions of each view may relate to those of the other views[4]. 2. Limitations of Current Approaches Although there is considerable body of work on reverse engineering techniques and tools, these are generally limited in supporting architecture recovery because they tend to neglect aspects of system distribution and runtime organization. The exception are dynamic analysis tools (e.g., [5]) and domain-based pattern matching tools (e.g., [6][7]). Dynamic analysis tools, though precise in capturing runtime elements and interactions, are generally limited in revealing how those elements may relate to, and are realized in terms of, the various elements of the source code. In addition, those tools tend to require costly event- tracing techniques, such as code instrumentation and symbolic execution, which may be impractical for time- critical systems or systems whose original development environment is no longer (or only partially) available. Domain-based pattern matching tools in turn trade off precision against a better mapping of potential runtime events to their executing code fragments, but are still limited in revealing how those fragments may be reused across the code for different executable components.
  • 2. 3. Towards an Integrated Approach We claim that integrating traditional and more sophisticated static analysis techniques can be a cost- effective way of recovering a distributed system's “as- built” architectural design. To support this claim, we have developed X-ray, an integrated approach for statically recovering distributed system architectural views[8]. X-ray comprises three domain-based static analysis techniques, namely component module classification, syntactic pattern matching, and structural reachability analysis. These complementary techniques can facilitate the task of identifying a distributed system's implemented executable components and their potential runtime interconnections. The component module classification technique automatically distinguishes source code modules according to the executables components they implement. The syntactic pattern matching technique in turn helps to recognize specific code fragments that may implement typical component interaction features. Finally, the structural reachability analysis technique aids in the association of those features to the code specific for each executable component. By considering different types of domain information at multiple levels of abstraction, X-ray also helps to relate implemented design elements across multiple architectural views. For example, following Kruchten's 4+1 model[2], the module classification technique maps elements of the development view (source code modules and subsystems) to elements of the process view (executable components). The pattern matching and reachability analysis techniques further enrich this mapping by associating a module's specific code fragments to potential runtime interaction events. These two techniques are also useful in revealing aspects of the logical and physical views. For instance, recognizing that two executable components may interact at runtime through a pipe indicates that these components are likely to play the architectural role of filters (``logical view''), and that they can only be executed concurrently under the same communications domain (``physical view''). A preliminary investigation on the effectiveness of X- ray has been carried out through a number of case studies involving distributed software of varying sizes and application domains[9]. In particular, the approach has been successfully used to help extract architectural runtime information from the source code for two moderate-size, publicly-available distributed systems, namely Samba, a well-known file and print sharing service software suit, and Field, a distributed programming environment developed at Brown University. These experiments build confidence that combining module classification, syntactic pattern matching, and structural reachability analysis can be a cost-effective way of recovering up-to-date architectural information from existing distributed system artifacts. We are currently applying X-ray to assess distributed system evolution from a runtime architecture perspective. We also plant to investigate how the approach can be extended so as to support extraction of distributed runtime abstractions involving both physical and logical mobility[10]. References [1] M. Shaw and D. Garlan, “Software architecture: Perspectives on an emerging discipline”, Prentice-Hall, 1996. [2] P. B. Kruchten, “The 4+1 view model of architecture”, IEEE Software, 12(6):42-50, 1995. [3] C. Hofmeister et al., “Applied software architecture”, Addison Wesley, 2000. [4] B. Waters and G. Abowd, “Architectural synthesis: Integrating multiple architectural perspectives”, In WCRE’99, IEEE CS Press, 1999. [5] D. Jerding and S. Rugaber, “Extraction of architectural connections from event traces”, In PASTE’98, ACM Press, 1998. [6] R. Fiutem et al., “A clichĂ© based environment to support architectural reverse engineering”, In ICSM’96, IEEE CS Press, 1996, pp. 319-328. [7] L. J. Holtzblatt et al., “Design recovery for distributed systems”, IEEE Trans. on Softw. Eng., 23(7):461-471, 1997. [8] N. C. Mendonça and J. Kramer, “An Approach for Recovering Distributed System Architectures”, Automated Software Engineering Journal, 8(3/4):311-354, August 2001. [9] N. C. Mendonça, “Software architecture recovery for distributed systems”, PhD Thesis, Imperial College, Department of Computing, 1999. [10] G.-C. Roman, G. P. Picco, and A. Murphy, “Software engineering for mobility: A road map”, In A. Finkelstein, editor, The Future of Software Engineering, ACM Press, June 2000, pp. 241-258. View publication stats View publication stats