SlideShare ist ein Scribd-Unternehmen logo
1 von 28
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

Weitere ähnliche Inhalte

Was ist angesagt?

Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect Predictionlifove
 
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)lifove
 
Practical Experiences Migrating Unified Modeling Language Models to IBM® Rati...
PracticalExperiences Migrating Unified Modeling Language Models to IBM® Rati...PracticalExperiences Migrating Unified Modeling Language Models to IBM® Rati...
Practical Experiences Migrating Unified Modeling Language Models to IBM® Rati...Einar Karlsen
 
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...Luca Berardinelli
 
Defect Prediction Over Software Life Cycle in Automotive Domain
Defect Prediction Over Software Life Cycle   in Automotive DomainDefect Prediction Over Software Life Cycle   in Automotive Domain
Defect Prediction Over Software Life Cycle in Automotive DomainRAKESH RANA
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect PredictionSung Kim
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsLola Burgueño
 
Model-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime InconsistenciesModel-based Detection of Runtime Inconsistencies
Model-based Detection of Runtime InconsistenciesDaniel Lehner
 
PhD Thesis Presentation
PhD Thesis PresentationPhD Thesis Presentation
PhD Thesis PresentationLola Burgueño
 
MexADL - HADAS Presentation
MexADL - HADAS PresentationMexADL - HADAS Presentation
MexADL - HADAS Presentationjccastrejon
 
Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsIvano Malavolta
 
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...Lola Burgueño
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)Ivano Malavolta
 
Modeling and Evaluation of Performance and Reliability of Component-based So...
Modeling and Evaluation of Performance and Reliability  of Component-based So...Modeling and Evaluation of Performance and Reliability  of Component-based So...
Modeling and Evaluation of Performance and Reliability of Component-based So...Editor IJCATR
 

Was ist angesagt? (20)

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

Andere mochten auch

Software reengineering
Software reengineeringSoftware reengineering
Software reengineeringArudra Vishen
 
Control Flow Analysis
Control Flow AnalysisControl Flow Analysis
Control Flow AnalysisEdgar Barbosa
 
Business process re-engineering (BPR)
Business process re-engineering (BPR)Business process re-engineering (BPR)
Business process re-engineering (BPR)Divya Uthirarajan
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software ReengineeringAbdul Wahid
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringMuhammad Chaudhry
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineeringdeshpandeamrut
 
Business process reengineering
Business process reengineeringBusiness process reengineering
Business process reengineeringAniket Verma
 
Maintenance & Re-Engineering of Software
Maintenance & Re-Engineering of SoftwareMaintenance & Re-Engineering of Software
Maintenance & Re-Engineering of SoftwareAdeel Riaz
 

Andere mochten auch (11)

Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
Control Flow Analysis
Control Flow AnalysisControl Flow Analysis
Control Flow Analysis
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
Business process re-engineering (BPR)
Business process re-engineering (BPR)Business process re-engineering (BPR)
Business process re-engineering (BPR)
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Business process reengineering
Business process reengineeringBusiness process reengineering
Business process reengineering
 
Maintenance & Re-Engineering of Software
Maintenance & Re-Engineering of SoftwareMaintenance & Re-Engineering of Software
Maintenance & Re-Engineering of Software
 

Ähnlich wie Rejunevating software reengineering processes

An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A SurveyIRJET Journal
 
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSijseajournal
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.pptssuser2ef938
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems James Hill
 
A practical approach for model based slicing
A practical approach for model based slicingA practical approach for model based slicing
A practical approach for model based slicingIOSR Journals
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesijfcstjournal
 
Performance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software ArchitecturePerformance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software ArchitectureEditor IJCATR
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models MohsinAli773
 
Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...eSAT Publishing House
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
Architecture Centric Development PPT Presentation
Architecture Centric Development PPT PresentationArchitecture Centric Development PPT Presentation
Architecture Centric Development PPT PresentationERPCell
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3Diane Allen
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysislienhard
 

Ähnlich wie Rejunevating software reengineering processes (20)

Chapter1
Chapter1Chapter1
Chapter1
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSMANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.ppt
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
 
A practical approach for model based slicing
A practical approach for model based slicingA practical approach for model based slicing
A practical approach for model based slicing
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural styles
 
Performance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software ArchitecturePerformance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software Architecture
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
Architecture Centric Development PPT Presentation
Architecture Centric Development PPT PresentationArchitecture Centric Development PPT Presentation
Architecture Centric Development PPT Presentation
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
 

Mehr von manishthaper

UMLassure: An approach to model software security
UMLassure: An approach to model software securityUMLassure: An approach to model software security
UMLassure: An approach to model software securitymanishthaper
 
Jazz - Collaborative Software Development
Jazz - Collaborative Software DevelopmentJazz - Collaborative Software Development
Jazz - Collaborative Software Developmentmanishthaper
 
Home care diagnostics system - Cntd
Home care diagnostics system - CntdHome care diagnostics system - Cntd
Home care diagnostics system - Cntdmanishthaper
 
Home care diagnostics system
Home care diagnostics systemHome care diagnostics system
Home care diagnostics systemmanishthaper
 
Adam and Eve Condoms
Adam and Eve CondomsAdam and Eve Condoms
Adam and Eve Condomsmanishthaper
 
Transformation of work with Information Technology
Transformation of work with Information TechnologyTransformation of work with Information Technology
Transformation of work with Information Technologymanishthaper
 

Mehr von manishthaper (8)

UMLassure: An approach to model software security
UMLassure: An approach to model software securityUMLassure: An approach to model software security
UMLassure: An approach to model software security
 
Jazz - Collaborative Software Development
Jazz - Collaborative Software DevelopmentJazz - Collaborative Software Development
Jazz - Collaborative Software Development
 
Home care diagnostics system - Cntd
Home care diagnostics system - CntdHome care diagnostics system - Cntd
Home care diagnostics system - Cntd
 
Home care diagnostics system
Home care diagnostics systemHome care diagnostics system
Home care diagnostics system
 
Gudiya - Save her
Gudiya - Save herGudiya - Save her
Gudiya - Save her
 
Adam and Eve Condoms
Adam and Eve CondomsAdam and Eve Condoms
Adam and Eve Condoms
 
UML 2.0 Changes
UML 2.0 ChangesUML 2.0 Changes
UML 2.0 Changes
 
Transformation of work with Information Technology
Transformation of work with Information TechnologyTransformation of work with Information Technology
Transformation of work with Information Technology
 

Kürzlich hochgeladen

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Kürzlich hochgeladen (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

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