SlideShare a Scribd company logo
Rejuvenating software reengineeringRejuvenating software reengineering
processes throughprocesses through
Model Driven ArchitectureModel Driven Architecture
Thank You.Thank You.
Model Driven Architecture
OMG – Object Management Group
 An open membership and no-profitAn open membership and no-profit
consortium.consortium.
 1989: OMG founded
 1991: CORBA 1.0, IDL
 1996: CORBA 2.0
 1997: UML, MOF, CWM
 2001: MDA
MDA MetamodelMDA Metamodel
MOF
Other
languages
UML
Metamodel
PIM Mapping
techniques
PSM Mapping
techniques
PIM
PSM
<<expressed with>><<expressed with>>
<<expressed with>><<expressed with>>
<<expressed with>><<expressed with>>
<<based on>><<based on>>
<<based on>><<based on>>
<<described with>><<described with>>
<<described with>><<described with>>
<<depends on>><<depends on>>
<<independant of>><<independant of>>
Infrastructure
Session Based Testing: A Strategy for Game testing
Introduction | Game Development Cycle and Software Development Cycle
Software Reengineering
Software ReengineeringSoftware Reengineering
• Software reengineering is the process of creating an abstract
description of a system, reasoning about a change at a
higher level of abstraction, and then re-implementing the
system.
Review
Design
Extract
structure and
functionality
information
Extract data-flow
and control flow
information
Generate
documentation
c
c
Program
Information
Detailed Design
Information
Recovered Design
Information
High-level Design
Information
New
Documentation
Software
Reverse
Engineering
Process
Re-engineering without using MDA
On reverse engineering an object-oriented code into UML class
diagrams incorporating extensible mechanisms
by
Vinita, Jain Amita, Tayal Devendra K
The authors propose an algorithm to reverse engineer an object-oriented code
into UML class diagram.
The algorithm generates rules for a complete set of constructs available in
UML class diagrams. It includes classes, relationships, objects, attributes,
operations, inheritance, associations, interfaces & other extensible
mechanisms also.
This algorithm can be viewed as a solution to reverse engineer any available
object-oriented software.
Input : Object oriented code
Output: UML class diagram.
An Example – Composition & Inheritance
class Point
{
/*...*/
}
class Circle
{
private:
Point center;
/*...*/
}
Circle
Point
-center:
Point
1
class Customer
{
protected:
int custno;
};
class Human_cust: public Customer {
protected:
char sex;
char bdate;
};
class Inst_cust: public Customer
{
protected:
int noofemp;
char orgtype;
};
#noofemp: int
#orgtype: char
#sex: char
#bdate: char
Inst_custHuman_cust
#cusNo: int
Customer
Static Control-Flow Analysis for Reverse Engineering of
UML Sequence Diagrams
by
Rountev Atanas, Volgin Olga and Reddoch Meriam
The authors propose simple UML extensions that are necessary to capture
general flow of control. An algorithm is proposed that maps a reducible
exception free intra-procedural control-flow graph to UML Sequence diagram,
using the proposed extensions.
The 4 kinds of interaction fragments of particular importance are -
An opt fragment describes optional behavior guarded by some condition.
An alt fragment describes two or more mutually-exclusive alternatives in
behavior.
The sequence enclosed in a loop fragment is repeated until the guard
condition becomes false.
A break fragment represents a breaking. scenario: first the fragment sequence
inside the break fragment is executed, and then the execution of the fragment
enclosing the break completes immediately.
An example:
Code -> CFG (Control Flow Graph)->Sequence diagram
if (a.m1() || b.m2())
{
a.m3();
}
b.m4();
a.m3()
C1 = a.m1()
If (c1)
c2: b.m2()
If (c2)
b.m4()
Code CFG Sequence diagram
F
F
T
T
x:X a:A b:B
c1=m1()
m3()
c2=m2()
m3()
m4 ()
alt
[c1]
[c1]
opt
[c2]
Application Modelling using Reverse Engineering
Techniques
by
Katsimpa, T., Panagis, Y., Sakkopoulos, E., Tzimas, G., Tsakalidis,
A.
The authors present a technique that enables effective reverse engineering
procedures for web applications.
This work shows a method that allows us to transform existing web applications
developed with ASP.NET, into WebML models represented first with the
appropriate graph DAG (Directed Acyclic Graph) to enable further
meta-modeling.
Steps for Application modeling using reverse engineering
.ASPX
Analysis
Data source
analysis
Final
Application
graph
Labels WebML
ASPX pages
Text files
.NET Web applicaition
Correspondence Matrix
DAG Tree
Reengineering with MDA
Session Based Testing: A Strategy for Game testing
• In this work Olga Volgin et al. proposes
– “An algorithm for mapping a reducible exception-free intraprocedural
control-flow graph to UML.”
• Extensions proposed by us
– Combine static analysis (using available tool support) and behavioral
analysis (as shown in Olga Volgin et al.)
Static Control-Flow Analysis for Reverse Engineering of
UML Sequence Diagrams
by
Rountev Atanas, Volgin Olga and Reddoch Meriam
Session Based Testing: A Strategy for Game testing
Using existing tool
support
Code
(reengineered
system)
PIM (static +
behavior model)
UML - Class
Diagram
PSM (apply UML
extensions)
Algorithm [Olga Volgin et
al.]
Volgin Olga et al.
work continued …
Session Based Testing: A Strategy for Game testing
• In this work L. Favre proposes
– “… proposes a MDA technique to model static and dynamic behavior
from a migrated object oriented code..”
“Formalizing MDA-based Reverse Engineering Processes”.
by
L. Favre.
Parser
Metamodel
Extractor
Reverse
Engineering
Data Flow
Analysis
ISM code AST
DFG /
patterns
PIM code
PSM code
Session Based Testing: A Strategy for Game testing
Static and
dynamic
analysis
Static and
dynamic
analysis
formalizes
Legacy
source
code
L. Favre
work continued …
Session Based Testing: A Strategy for Game testing
• B.Qiao et al. propose use RWSL {Re-
engineering Wide Spectrum Language} to
recover the architecture of a legacy
system.
“…The full support for reverse engineering guarantees the
correctness of following evolution phases, i.e., integration
with MDA, model establishment and implementation.”
Bridging legacy systems to model driven
architecture
by
B. Qiao, H.Yang, W. Chu and B. Xu
Session Based Testing: A Strategy for Game testing
HTML etc.
XMI DOC /
DTD
UML profile
for RWSL
PSM (UML)
PIM (UML)
New Features
Initial
Architecture
in RWSL
Components /
Connectors
Code in RWSL
(CSL / COOL)
Existing
/ Legacy
Systems
Decomposition
ImplementationSADL2UML
Translation
Transfer
Configuration
IntegrationXSLT
UML2XMI Transform
Addition
Abstraction
Restructuring
B. Qiao et al.
work continued … MDA Models
Observations
 Tool support exists to re-engineer software systems without MDA;
however the tools fail to provide design models of the application.
 Language translators often generate poorly structured code,
cryptic variable names and non-optimal data structures.
 Mapping platform services from source to target environment has
always been a manual task as this is difficult to automate.
However, using formalizing MDA approach we can automate the
mapping of platform services during re-engineering.
As new technology arrives at a fast rate, old technologies do not
disappear, but are concentrated in the legacy software. As a
consequence the evolution problem is augmented by a
heterogeneity problem.
 The middleware landscape has continually shifted and
evolved e.g. CORBA, .NET, EJB, XML/SOAP. Further, there is no
one winner or a de facto standard available to develop software
systems. Hence, the re-engineering approach which provides an
implementation independent model will be advantageous.
Observations
 This study at present does not provide any empirical results on
reengineering a legacy system with or without MDA.
 As future work we aim to test our observation of reengineering
a legacy system with MDA using available tool support.
Future Work
“…The most interesting and challenging side of
software engineering may not be building brand
new software systems, but rejuvenating
existing ones.”
- Oscar Nierstrasz et al.
[1] Nierstrasz, Oscar and Demeyer, Serge. “Object-Oriented Reengineering
Patterns” 2004. Proceedings of the 26th International Conference on Software
Engineering (ICSE’04).
[2] Object Management Group; http://www.omg.org
[3] Model Driven Architecture; http://www.omg.org/mda
[4] Park, Wei-Jin; Min-Sang, Yoon; Bae, Doo-Hwan, and Mah, Pyeong-Soo. “Object–
Oriented Model Refinement Technique in Software Reengineering” IEEE Xplore.
[5] I. Jacobson and F. Lindstorm “Re-engineering of Old Systems to an Object-
oriented architecture” Proceedings of OOPSLA91, 1991, pp.77-83
[6] Gowthaman K., Mustafa K. and Khan R.A. “Reengineering Legacy Source Code
to Model Driven Architecture”. 2005. Proceedings of the Fourth Annual ACIS
International Conference on Computer and Information Science (ICIS’05)
[7] Green L., Bergey J., Lamia W., Smith D., “Proceedings of the First Annual
Software Engineering Techniques Workshop, May 1994: Software Reengineering”.
May 1994. pp. 1
References
[8] L. Favre. “Formalizing MDA-based Reverse Engineering Processes”. IEEE
Sixth International Conference on Software Engineering Research, Management
and Applications. 2008.
[9] Rountev Atanas, Volgin Olga and Reddoch Meriam. “Static Control-Flow Analysis
for Reverse Engineering of UML Sequence Diagrams”. PASTE ‘05. 6th ACM
SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and
Engineering. 2005.
[10] B. Qiao, H.Yang, W. Chu and B. Xu,. “Bridging legacy systems to model
driven architecture”. In Proc. 27th Annual International Computer Aided Software
and Applications Conference. IEEE Press, 2003, pp. 304-309.
[11] http://www.suite101.com/article.cfm/reengineering/7669
Dr. Rosenberg. Linda H., “Software Re-engineering”
[12] Byrne, Eric J., "Software Reverse Engineering: A Case Study", Software-
Practice and Experience, 12/91.
[13] http://portal.acm.org/citation.cfm?id=1402527
Vinita, Jain Amita, Tayal Devendra K., “On reverse engineering an object-oriented
code into UML class diagrams incorporating extensible mechanisms”. ACM SIGSOFT
References
Software Engineering Notes, Volume 33, Issue 5 (September 2008) , Article No. 9,
Year of Publication: 2008, ISSN:0163-5948
[14] Katsimpa, T., Panagis, Y., Sakkopoulos, E., Tzimas, G., Tsakalidis, A. (2006)
“Application Modelling using Reverse Engineering Techniques”. Proceedings
Symposium on Applied Computing (SAC’06), pp1250-1255.
[15] T. Philip, R. Ramsundar, “A Reengineering Framework for Small Scale Software”,
Software Engineering Notes , 20 (5), 1995, 51-55
[16] Tmothy C Lethbridge & Nicolas Anquetil, “Architecture of source code
Exploration Tool: A Software Engineering Case study”, SITE, University of Ottawa,
Canada, Technical report 1997-07.
[17] Bergey, J. K.; Smith, Dennis B.; & Weiderman, N. H. DoD, “Legacy System
Migration Guidelines”, (CMU/SEI-99-TN-013, ADA370621). Pittsburgh, PA: Software
Engineering Institute, Carnegie Mellon University, September 1999.
[18] JeanBezivin, Slimane Hammoudi, Denivaldo Lopes,Fr´ed´eric Jouault, “Applying
MDA Approach forWeb Service Platform”, Proceedings of the 8th IEEE Intl Enterprise
Distributed Object Computing Conf(EDOC 2004). 2004.
References
QueriesQueries
PPreeti,reeti, SSuhel,uhel, MManishanish

More Related Content

PDF
[2016/2017] Architectural languages
PDF
[2017/2018] Architectural languages
PDF
[2015/2016] Modern development paradigms
PDF
[2017/2018] AADL - Architecture Analysis and Design Language
PDF
Report_Altair
PDF
Introduction to SysML af Finn Overgaard Hansen, AU
PDF
The road ahead for architectural languages [ACVI 2016]
PDF
[2015/2016] AADL (Architecture Analysis and Design Language)
[2016/2017] Architectural languages
[2017/2018] Architectural languages
[2015/2016] Modern development paradigms
[2017/2018] AADL - Architecture Analysis and Design Language
Report_Altair
Introduction to SysML af Finn Overgaard Hansen, AU
The road ahead for architectural languages [ACVI 2016]
[2015/2016] AADL (Architecture Analysis and Design Language)

What's hot (20)

PDF
Survey on Software Defect Prediction
PDF
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
PDF
Practical Experiences Migrating Unified Modeling Language Models to IBM® Rati...
PDF
MexADL
PPTX
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
PDF
Defect Prediction Over Software Life Cycle in Automotive Domain
PPTX
Survey on Software Defect Prediction
PDF
An LSTM-Based Neural Network Architecture for Model Transformations
PPTX
Model-based Detection of Runtime Inconsistencies
PPTX
PhD Thesis Presentation
PDF
Ladc presentation
KEY
MexADL - HADAS Presentation
PDF
Automatically bridging UML profiles into MOF metamodels
PPTX
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
PPT
UIC Thesis Candiloro
PDF
10 - Architetture Software - More architectural styles
PDF
Lear unified env_paper-1
PDF
[2016/2017] AADL (Architecture Analysis and Design Language)
PPT
UIC Thesis Cancare
PDF
Modeling and Evaluation of Performance and Reliability of Component-based So...
Survey on Software Defect Prediction
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Practical Experiences Migrating Unified Modeling Language Models to IBM® Rati...
MexADL
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
Defect Prediction Over Software Life Cycle in Automotive Domain
Survey on Software Defect Prediction
An LSTM-Based Neural Network Architecture for Model Transformations
Model-based Detection of Runtime Inconsistencies
PhD Thesis Presentation
Ladc presentation
MexADL - HADAS Presentation
Automatically bridging UML profiles into MOF metamodels
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
UIC Thesis Candiloro
10 - Architetture Software - More architectural styles
Lear unified env_paper-1
[2016/2017] AADL (Architecture Analysis and Design Language)
UIC Thesis Cancare
Modeling and Evaluation of Performance and Reliability of Component-based So...
Ad

Viewers also liked (11)

PPT
Software reengineering
PDF
Control Flow Analysis
PPT
Software reengineering
PPT
Business process re-engineering (BPR)
PPTX
Software Reengineering
PPT
Software re engineering
PPTX
Reengineering including reverse & forward Engineering
PPT
Software Reengineering
PPTX
Software re engineering
PPT
Business process reengineering
PPTX
Maintenance & Re-Engineering of Software
Software reengineering
Control Flow Analysis
Software reengineering
Business process re-engineering (BPR)
Software Reengineering
Software re engineering
Reengineering including reverse & forward Engineering
Software Reengineering
Software re engineering
Business process reengineering
Maintenance & Re-Engineering of Software
Ad

Similar to Rejunevating software reengineering processes (20)

PDF
an analysis and new methodology for reverse engineering of uml behavioral
PDF
Reverse Engineering for Documenting Software Architectures, a Literature Review
PDF
CS587 Project - Raychaudhury,Shaalmali
PDF
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
PDF
Analyze your software assets with Modisco par Frédéric Madiot
PDF
Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering A...
PDF
Web2MexADL - CSMR Presentation
PPT
ERP_Up_Down.ppt
PPT
Handling the Dynamic Reconfiguration of Software Architectures using Aspects
PDF
Open Framework for the Dynamic Reconfiguration of Component-Based Software
PPTX
Ujjwalreverseengineeringppptfinal
PDF
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
PPT
Chapter -1.ppt
PDF
Agile Modelling Architecture
PDF
Reengineering and Reuse of Legacy Software
PDF
Getting relational database from legacy data mdre approach
PDF
MoDisco EclipseCon2010
PDF
Introduction to MDE
PPSX
MDE in Practice
an analysis and new methodology for reverse engineering of uml behavioral
Reverse Engineering for Documenting Software Architectures, a Literature Review
CS587 Project - Raychaudhury,Shaalmali
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Analyze your software assets with Modisco par Frédéric Madiot
Distributed Graphical User Interfaces to Class Diagram: Reverse Engineering A...
Web2MexADL - CSMR Presentation
ERP_Up_Down.ppt
Handling the Dynamic Reconfiguration of Software Architectures using Aspects
Open Framework for the Dynamic Reconfiguration of Component-Based Software
Ujjwalreverseengineeringppptfinal
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Chapter -1.ppt
Agile Modelling Architecture
Reengineering and Reuse of Legacy Software
Getting relational database from legacy data mdre approach
MoDisco EclipseCon2010
Introduction to MDE
MDE in Practice

More from manishthaper (8)

PPTX
UMLassure: An approach to model software security
PPT
Jazz - Collaborative Software Development
PPT
Home care diagnostics system - Cntd
PPT
Home care diagnostics system
PPT
Gudiya - Save her
PPT
Adam and Eve Condoms
PPT
UML 2.0 Changes
PPT
Transformation of work with Information Technology
UMLassure: An approach to model software security
Jazz - Collaborative Software Development
Home care diagnostics system - Cntd
Home care diagnostics system
Gudiya - Save her
Adam and Eve Condoms
UML 2.0 Changes
Transformation of work with Information Technology

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Electronic commerce courselecture one. Pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Diabetes mellitus diagnosis method based random forest with bat algorithm
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Electronic commerce courselecture one. Pdf
Machine learning based COVID-19 study performance prediction
cuic standard and advanced reporting.pdf
Encapsulation theory and applications.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Network Security Unit 5.pdf for BCA BBA.
Dropbox Q2 2025 Financial Results & Investor Presentation
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
Per capita expenditure prediction using model stacking based on satellite ima...
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Digital-Transformation-Roadmap-for-Companies.pptx

Rejunevating software reengineering processes

  • 1. Rejuvenating software reengineeringRejuvenating software reengineering processes throughprocesses through Model Driven ArchitectureModel Driven Architecture
  • 3. Model Driven Architecture OMG – Object Management Group  An open membership and no-profitAn open membership and no-profit consortium.consortium.  1989: OMG founded  1991: CORBA 1.0, IDL  1996: CORBA 2.0  1997: UML, MOF, CWM  2001: MDA
  • 4. MDA MetamodelMDA Metamodel MOF Other languages UML Metamodel PIM Mapping techniques PSM Mapping techniques PIM PSM <<expressed with>><<expressed with>> <<expressed with>><<expressed with>> <<expressed with>><<expressed with>> <<based on>><<based on>> <<based on>><<based on>> <<described with>><<described with>> <<described with>><<described with>> <<depends on>><<depends on>> <<independant of>><<independant of>> Infrastructure
  • 5. Session Based Testing: A Strategy for Game testing Introduction | Game Development Cycle and Software Development Cycle Software Reengineering Software ReengineeringSoftware Reengineering • Software reengineering is the process of creating an abstract description of a system, reasoning about a change at a higher level of abstraction, and then re-implementing the system.
  • 6. Review Design Extract structure and functionality information Extract data-flow and control flow information Generate documentation c c Program Information Detailed Design Information Recovered Design Information High-level Design Information New Documentation Software Reverse Engineering Process
  • 8. On reverse engineering an object-oriented code into UML class diagrams incorporating extensible mechanisms by Vinita, Jain Amita, Tayal Devendra K The authors propose an algorithm to reverse engineer an object-oriented code into UML class diagram. The algorithm generates rules for a complete set of constructs available in UML class diagrams. It includes classes, relationships, objects, attributes, operations, inheritance, associations, interfaces & other extensible mechanisms also. This algorithm can be viewed as a solution to reverse engineer any available object-oriented software. Input : Object oriented code Output: UML class diagram.
  • 9. An Example – Composition & Inheritance class Point { /*...*/ } class Circle { private: Point center; /*...*/ } Circle Point -center: Point 1 class Customer { protected: int custno; }; class Human_cust: public Customer { protected: char sex; char bdate; }; class Inst_cust: public Customer { protected: int noofemp; char orgtype; }; #noofemp: int #orgtype: char #sex: char #bdate: char Inst_custHuman_cust #cusNo: int Customer
  • 10. Static Control-Flow Analysis for Reverse Engineering of UML Sequence Diagrams by Rountev Atanas, Volgin Olga and Reddoch Meriam The authors propose simple UML extensions that are necessary to capture general flow of control. An algorithm is proposed that maps a reducible exception free intra-procedural control-flow graph to UML Sequence diagram, using the proposed extensions. The 4 kinds of interaction fragments of particular importance are - An opt fragment describes optional behavior guarded by some condition. An alt fragment describes two or more mutually-exclusive alternatives in behavior. The sequence enclosed in a loop fragment is repeated until the guard condition becomes false. A break fragment represents a breaking. scenario: first the fragment sequence inside the break fragment is executed, and then the execution of the fragment enclosing the break completes immediately.
  • 11. An example: Code -> CFG (Control Flow Graph)->Sequence diagram if (a.m1() || b.m2()) { a.m3(); } b.m4(); a.m3() C1 = a.m1() If (c1) c2: b.m2() If (c2) b.m4() Code CFG Sequence diagram F F T T x:X a:A b:B c1=m1() m3() c2=m2() m3() m4 () alt [c1] [c1] opt [c2]
  • 12. Application Modelling using Reverse Engineering Techniques by Katsimpa, T., Panagis, Y., Sakkopoulos, E., Tzimas, G., Tsakalidis, A. The authors present a technique that enables effective reverse engineering procedures for web applications. This work shows a method that allows us to transform existing web applications developed with ASP.NET, into WebML models represented first with the appropriate graph DAG (Directed Acyclic Graph) to enable further meta-modeling.
  • 13. Steps for Application modeling using reverse engineering .ASPX Analysis Data source analysis Final Application graph Labels WebML ASPX pages Text files .NET Web applicaition Correspondence Matrix DAG Tree
  • 15. Session Based Testing: A Strategy for Game testing • In this work Olga Volgin et al. proposes – “An algorithm for mapping a reducible exception-free intraprocedural control-flow graph to UML.” • Extensions proposed by us – Combine static analysis (using available tool support) and behavioral analysis (as shown in Olga Volgin et al.) Static Control-Flow Analysis for Reverse Engineering of UML Sequence Diagrams by Rountev Atanas, Volgin Olga and Reddoch Meriam
  • 16. Session Based Testing: A Strategy for Game testing Using existing tool support Code (reengineered system) PIM (static + behavior model) UML - Class Diagram PSM (apply UML extensions) Algorithm [Olga Volgin et al.] Volgin Olga et al. work continued …
  • 17. Session Based Testing: A Strategy for Game testing • In this work L. Favre proposes – “… proposes a MDA technique to model static and dynamic behavior from a migrated object oriented code..” “Formalizing MDA-based Reverse Engineering Processes”. by L. Favre. Parser Metamodel Extractor Reverse Engineering Data Flow Analysis ISM code AST DFG / patterns PIM code PSM code
  • 18. Session Based Testing: A Strategy for Game testing Static and dynamic analysis Static and dynamic analysis formalizes Legacy source code L. Favre work continued …
  • 19. Session Based Testing: A Strategy for Game testing • B.Qiao et al. propose use RWSL {Re- engineering Wide Spectrum Language} to recover the architecture of a legacy system. “…The full support for reverse engineering guarantees the correctness of following evolution phases, i.e., integration with MDA, model establishment and implementation.” Bridging legacy systems to model driven architecture by B. Qiao, H.Yang, W. Chu and B. Xu
  • 20. Session Based Testing: A Strategy for Game testing HTML etc. XMI DOC / DTD UML profile for RWSL PSM (UML) PIM (UML) New Features Initial Architecture in RWSL Components / Connectors Code in RWSL (CSL / COOL) Existing / Legacy Systems Decomposition ImplementationSADL2UML Translation Transfer Configuration IntegrationXSLT UML2XMI Transform Addition Abstraction Restructuring B. Qiao et al. work continued … MDA Models
  • 21. Observations  Tool support exists to re-engineer software systems without MDA; however the tools fail to provide design models of the application.  Language translators often generate poorly structured code, cryptic variable names and non-optimal data structures.  Mapping platform services from source to target environment has always been a manual task as this is difficult to automate. However, using formalizing MDA approach we can automate the mapping of platform services during re-engineering.
  • 22. As new technology arrives at a fast rate, old technologies do not disappear, but are concentrated in the legacy software. As a consequence the evolution problem is augmented by a heterogeneity problem.  The middleware landscape has continually shifted and evolved e.g. CORBA, .NET, EJB, XML/SOAP. Further, there is no one winner or a de facto standard available to develop software systems. Hence, the re-engineering approach which provides an implementation independent model will be advantageous. Observations
  • 23.  This study at present does not provide any empirical results on reengineering a legacy system with or without MDA.  As future work we aim to test our observation of reengineering a legacy system with MDA using available tool support. Future Work
  • 24. “…The most interesting and challenging side of software engineering may not be building brand new software systems, but rejuvenating existing ones.” - Oscar Nierstrasz et al.
  • 25. [1] Nierstrasz, Oscar and Demeyer, Serge. “Object-Oriented Reengineering Patterns” 2004. Proceedings of the 26th International Conference on Software Engineering (ICSE’04). [2] Object Management Group; http://www.omg.org [3] Model Driven Architecture; http://www.omg.org/mda [4] Park, Wei-Jin; Min-Sang, Yoon; Bae, Doo-Hwan, and Mah, Pyeong-Soo. “Object– Oriented Model Refinement Technique in Software Reengineering” IEEE Xplore. [5] I. Jacobson and F. Lindstorm “Re-engineering of Old Systems to an Object- oriented architecture” Proceedings of OOPSLA91, 1991, pp.77-83 [6] Gowthaman K., Mustafa K. and Khan R.A. “Reengineering Legacy Source Code to Model Driven Architecture”. 2005. Proceedings of the Fourth Annual ACIS International Conference on Computer and Information Science (ICIS’05) [7] Green L., Bergey J., Lamia W., Smith D., “Proceedings of the First Annual Software Engineering Techniques Workshop, May 1994: Software Reengineering”. May 1994. pp. 1 References
  • 26. [8] L. Favre. “Formalizing MDA-based Reverse Engineering Processes”. IEEE Sixth International Conference on Software Engineering Research, Management and Applications. 2008. [9] Rountev Atanas, Volgin Olga and Reddoch Meriam. “Static Control-Flow Analysis for Reverse Engineering of UML Sequence Diagrams”. PASTE ‘05. 6th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering. 2005. [10] B. Qiao, H.Yang, W. Chu and B. Xu,. “Bridging legacy systems to model driven architecture”. In Proc. 27th Annual International Computer Aided Software and Applications Conference. IEEE Press, 2003, pp. 304-309. [11] http://www.suite101.com/article.cfm/reengineering/7669 Dr. Rosenberg. Linda H., “Software Re-engineering” [12] Byrne, Eric J., "Software Reverse Engineering: A Case Study", Software- Practice and Experience, 12/91. [13] http://portal.acm.org/citation.cfm?id=1402527 Vinita, Jain Amita, Tayal Devendra K., “On reverse engineering an object-oriented code into UML class diagrams incorporating extensible mechanisms”. ACM SIGSOFT References
  • 27. Software Engineering Notes, Volume 33, Issue 5 (September 2008) , Article No. 9, Year of Publication: 2008, ISSN:0163-5948 [14] Katsimpa, T., Panagis, Y., Sakkopoulos, E., Tzimas, G., Tsakalidis, A. (2006) “Application Modelling using Reverse Engineering Techniques”. Proceedings Symposium on Applied Computing (SAC’06), pp1250-1255. [15] T. Philip, R. Ramsundar, “A Reengineering Framework for Small Scale Software”, Software Engineering Notes , 20 (5), 1995, 51-55 [16] Tmothy C Lethbridge & Nicolas Anquetil, “Architecture of source code Exploration Tool: A Software Engineering Case study”, SITE, University of Ottawa, Canada, Technical report 1997-07. [17] Bergey, J. K.; Smith, Dennis B.; & Weiderman, N. H. DoD, “Legacy System Migration Guidelines”, (CMU/SEI-99-TN-013, ADA370621). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, September 1999. [18] JeanBezivin, Slimane Hammoudi, Denivaldo Lopes,Fr´ed´eric Jouault, “Applying MDA Approach forWeb Service Platform”, Proceedings of the 8th IEEE Intl Enterprise Distributed Object Computing Conf(EDOC 2004). 2004. References