Download presentation
Presentation is loading. Please wait.
1
1 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu NOREX A Distributed Reengineering Environment Radu Marinescu LOOSE Research Group Politehnica University of Timişoara radu.marinescu@cs.upt.ro loose.upt.ro
2
2 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Generic Reengineering Environment
3
3 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu iPlasma: Example of Reeng. Environment Model Extractors MCC / FASTMemoria / Recoder Models HisMo MEMORIA Membrain build Analyses Metrics Detection Strategies Code Duplication Data-flow Analyses use Front-end INSIDER integrate
4
4 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Four Layers of Metamodeling Architecture Layer Meta Meta Model Meta Model Model User Objects Description Defines the core ingredients sufficient for defining languages for specifying meta-models Defines a language for specifying Models Defines a language to describe an information domain. Describes a specific situation in an information domain. Example (CDIF) MetaEntity, MetaAttribute (MOF) Class, MofAttribute (UML) Class, Attribute, Association (Database) Table, Column, Row Student, Course, enrolledin Student#3, Course#5, Student#3.enrolledin.Course#5
5
5 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu The power of going Meta-Meta...
6
6 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Concepts Entities Examples: color, drawArea(), GraphicFigure, lrg.drawing.figures etc Entities can be described by an Entity Type Examples: variable, method, class, package Entities have Properties … and their Entity Type knows how to “compute” them Examples: variable color is a protected attribute method drawArea() has a 25 lines of code class GraphicFigure is abstract etc. Entity Types belong to a Containment Hierarchy Entities contain groups of other entities Ex: a class contains methods and attributes
7
7 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Containment Hierarchy
8
8 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Relations EntityEntity Type dictionaries Property Computer Group Builder Filtering Rule Result Entity Group Entity * ** *
9
9 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu retrieve look-up in dictionary do you know CBO property? Computing of Properties ViewUI (Entity) “CBO” ? class (EntityType) Property Computers CBO 29.0 (ResultEntity) numerical (EntityType)
10
10 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu (GroupEntity) applyFilter model package Filters retrieve look-up in dictionary package (EntityType) Filtering Rules model package
11
11 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu How do our tools collaborate?
12
12 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Only data exchange
13
13 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Different programming languages Different meta-models Different front-ends Why?
14
14 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu NOREX Distributed collaborative reengineering Our solution
15
15 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Features Language independent Distributed Community focused
16
16 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Distributed collaboration
17
17 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu What you do Declare your meta-model (in MOF) Decouple the tool’s services Specify your services
18
18 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Clients and Servers Clients have the data model model is “shaped” by a client-specific meta-model Servers have the processors reengineering analyses (e.g metrics, visualizations etc) assume another meta-model accesses to meta-model are expressed as command objects
19
19 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Encapsulate model in command objects public int NoPM(MMClass aClass) { int publicCount = 0; for(MMMethod aMethod : aClass.getMethods()) if(aMethod.isPublic()) publicCount++; return publicCount; } public int NoPM(Object aClass, CollectionCommand methodsCom, BooleanCommand isPublicCom) { int publicCount = 0; for(Object aMethod : methodsCom.execute(aClass)) if(isPublicCom.execute(aMethod)) publicCount++; return publicCount; }
20
20 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Create a NOREX Service Service Manifesto specifies the entity on which the service runs specifies the command objects that need to be provided
21
21 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Configuring a service to run Do the mapping between the two meta-models translate client’s into servers’ meta-models “Lazy” approach I don’t translate the whole meta-model, but only what is needed for the analysis I do it only once stored in a dictionary
22
22 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Creating Service Object
24
24 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu Results are Transparent
25
25 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu NOREX is not a toy...
26
26 7 th Workshop on SEERE, Risan, 2007 NOREX: A Distributed Reengineering Environment Dr. Radu Marinescu NOREX A Distributed Reengineering Environment Radu Marinescu LOOSE Research Group Politehnica University of Timişoara radu.marinescu@cs.upt.ro loose.upt.ro
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.