Presentation is loading. Please wait.

Presentation is loading. Please wait.

MDA and Separation of Aspects: An approach based on multiples views and Subject Oriented Design Quercus Software Engineering Group Computer Science Department.

Similar presentations


Presentation on theme: "MDA and Separation of Aspects: An approach based on multiples views and Subject Oriented Design Quercus Software Engineering Group Computer Science Department."— Presentation transcript:

1 MDA and Separation of Aspects: An approach based on multiples views and Subject Oriented Design Quercus Software Engineering Group Computer Science Department University of Extremadura, Spain Pablo Amaya, Carlos González and Juan M. Murillo

2 MDA and Separation of Aspects: an approach based on Viewpoints Outline Introduction  Model-Driven Architecture  The problem!! The proposal  Case study  Subject Oriented PIM and PSM  Traceability, evolution and change impact Conclusions and future works

3 MDA and Separation of Aspects: an approach based on Viewpoints Introduction Model-Driven Architecture  OMG’s initiative  To enable Model-Driven Development  Three abstraction levels  To improve development of large complex system CIM PIM transformation PSM transformation

4 MDA and Separation of Aspects: an approach based on Viewpoints Introduction Large complex systems  e-government Software development with MDA  Problems Each model becomes large and monolithic  Models are not manageable, reusable, adaptable, etc.  Transformations between models are too complex.  Objectives To improve :  modeling  traceability  evolution  … Solution: Separation of Aspects in all MDA levels.

5 MDA and Separation of Aspects: an approach based on Viewpoints Introduction In all levels MDA Viewpoints skateholder concerns CIM1 CIM2 PIM1 PIM2 PSM1 PSM2 Communication Security Functionality CIM3 PIM3 PSM3 CIMN PIMN PSMN Aspect-Oriented Software Development Crosscutting Concerns == Aspects

6 MDA and Separation of Aspects: an approach based on Viewpoints Case Study Subject Oriented Design Composition Patterns Use Case  Subject or CP

7 MDA and Separation of Aspects: an approach based on Viewpoints Subject Oriented PIM and PSM

8 MDA and Separation of Aspects: an approach based on Viewpoints Transformation/Mapping Subject Oriented PIM and PSM

9 MDA and Separation of Aspects: an approach based on Viewpoints Traceability, evolution and change impact Create resolving Recover Expedient Authenticate User < < o v e r l a p > > < < i n t e r a c t > > < < i n t e r a c t > > ExpedientPenalty getId() getDate()... setInstructor() storeResolve()..... getAmount() getTypePenalty()... setAmount() setDateExpiration() User getPersonalData()... notifyResolve()..... ExpedientPenalty getId() getDate()... setInstructor() storeResolve()..... getAmount() getTypePenalty()... setAmount() setDateExpiration() User getPersonalData()... notifyResolve()..... CIM PIM PSM New Expedient Create resolving Recover Expedient Authenticate User < < o v e r l a p > > < < ov e r l a p > > > < < i n t e r a c t > > << i n t e r ac t >> StakeInstructorUser > StakeStaffUser > StakeSecExpert package resolvingpackage expedientpackage security > StakeInstructorUser > StakeStaffUser > StakeSecExpert package expedient package security package resolving > CreatResolving > RecovExpedient > AuthenticatUser > NewExpedient <ClassAuth, _AuthOp(..)> > JSPserver bind[ ] b i n d [ < U s e r, g e t P e r s o n a l D a t a ( ) > ] b i nd [ < U s e r, g e t A n t ece d e n t D a t a () > ] > StakeInstructorUser > StakeStaffUser > StakeSecExpert package expedient package security package resolving > CreatResolving > RecovExpedient > AuthenticatUser > NewExpedient <ClassAuth, _AuthOp(..)> bind[ ] b i n d [ < U s e r, g e t A n t e c e d e n t D a t a ( ) > ] { b y N a m e } < < m e r g e > > { b y N a m e } < < m e r g e > > Transformation

10 MDA and Separation of Aspects: an approach based on Viewpoints Traceability, evolution and change impact Create resolving Recover Expedient Authenticate User < < o v e r l a p > > < < i n t e r a c t > > < < i n t e r a c t > > ExpedientPenalty getId() getDate()... setInstructor() storeResolve()..... getAmount() getTypePenalty()... setAmount() setDateExpiration() User getPersonalData()... notifyResolve()..... ExpedientPenalty getId() getDate()... setInstructor() storeResolve()..... getAmount() getTypePenalty()... setAmount() setDateExpiration() User getPersonalData()... notifyResolve()..... CIM PIM PSM New Expedient Create resolving Recover Expedient Authenticate User < < o v e r l a p > > < < ov e r l a p > > > < < i n t e r a c t > > << i n t e r ac t >> StakeInstructorUser > StakeStaffUser > StakeSecExpert package resolvingpackage expedientpackage security > StakeInstructorUser > StakeStaffUser > StakeSecExpert package expedient package security package resolving > CreatResolving > RecovExpedient > AuthenticatUser > NewExpedient <ClassAuth, _AuthOp(..)> > JSPserver bind[ ] b i n d [ < U s e r, g e t P e r s o n a l D a t a ( ) > ] b i nd [ < U s e r, g e t A n t ece d e n t D a t a () > ] > StakeInstructorUser > StakeStaffUser > StakeSecExpert package expedient package security package resolving > CreatResolving > RecovExpedient > AuthenticatUser > NewExpedient <ClassAuth, _AuthOp(..)> bind[ ] b i n d [ < U s e r, g e t A n t e c e d e n t D a t a ( ) > ] { b y N a m e } < < m e r g e > > { b y N a m e } < < m e r g e > > Transformation

11 MDA and Separation of Aspects: an approach based on Viewpoints Adding Aspects -- viewpoints New Expedient Create resolving Recover Expedient Authenticate User < < o v e r l a p > > < < ov e r l a p > > > < < i n t e r a c t > > << i n t e r ac t >> StakeInstructorUser > StakeStaffUser > StakeSecExpert package resolvingpackage expedientpackage security > StakeInstructorUser > StakeStaffUser > StakeSecExpert package expedient package security package resolving > CreatResolving > RecovExpedient > AuthenticatUser > NewExpedient <ClassAuth, _AuthOp(..)> bind[ ] b i n d [ < U s e r, g e t A n t e c e d e n t D a t a ( ) > ] { b y N a m e } < < m e r g e > > { b y N a m e } < < m e r g e > > New requirement Persistence Repository To add these aspect to the three levels Complete views or aspects can be modeled and can be added to MDA repositoires

12 MDA and Separation of Aspects: an approach based on Viewpoints Conclusions and Future Works Improvements in MDA  Concurrent Development  Evolution Change Impact  Additive vs Invasive Change propagation  Traceability  Models more reusable, manageable and adapatable  To allow us to develop aspect repositories Future work directions  In general: To mature the proposal A Foundation for view repositories  To model CIM with other diagrams Workflow, domain models,activity diagrams. etc.  To enhance relationships between views  Intregation of views at model or code level Order of composition  Consistency Check  Transformations between aspect-models

13 Quercus Software Engineering Group University of Extremadura, Spain Pablo Amaya, Carlos González and Juan M. Murillo http://quercusseg.unex.es pabloama@unex.es MDA and Separation of Aspects: An approach based on multiples views and Subject Oriented Design


Download ppt "MDA and Separation of Aspects: An approach based on multiples views and Subject Oriented Design Quercus Software Engineering Group Computer Science Department."

Similar presentations


Ads by Google