220 likes | 340 Views
RAM: Aspect Oriented Multi-view Modeling Approach BY VIKAS KUMAR SRIRAM RAMYA MOHANAN. Importance of Designing. Introduction. WHAT IS MODELING ?
E N D
RAM: Aspect Oriented Multi-view Modeling Approach BY VIKAS KUMAR SRIRAM RAMYA MOHANAN
Introduction • WHAT IS MODELING ? • Models is an important software engineering tool that helps us in understanding and analyzing a complex problem. • Modeling a software system involves identifying its structural and behavioral characteristics.
Modeling Approaches • RAM (Reusable aspect models) • UML (unified modeling language) • Umple (code generation is possible) • AspectSM (test case generation) • VCL (Visual contract language)
Modeling Approaches Figure 1: Paradigms and semantics of modeling approaches [1]
Aspect Oriented Multi View Modeling • Scalability and consistency . • Integration of Class, Sequence and State diagrams into one coherent approach. • Packages Aspect Models for easy and flexible reuse. • Performs consistency checks. • Defines weaving algorithm . • RAM.
Integration of Structural and Behavioral Diagrams Figure 2: Merging Class Diagrams with Kompose [2] Figure 3: Sequence Diagram Weaving Example [2]
Aspect Packaging • Structural view • State view • Message view
What is RAM ? • Aspect Oriented Multi-view modeling approach. • Describes both structure and behavior of a software design concern. • Allow designers to apply reusable design concerns within the design model of the software under development. • RAM weaver can create woven views of a composed model for debugging, simulation or code generation purpose. • During the weaving process consistency checks are performed.
UML Vs RAM • UML is used to represent object oriented applications. It’s standard meta model does not support aspect oriented applications. • RAM uses UML and extends UML’s meta-model to represent aspect-oriented applications. • Some techniques based on RAM supports reusability.
Features of RAM • Design Model Interfaces • Customization interface • Usage interface • Variation interface • Design Model Hierarchies • Model extensions • Model customizations
Design Model Interfaces Figure 4: Reusing the Observer Design Pattern [5]
Design Model Hierarchy Outpath Workflow Command Map Copyable ZeroToMany-Ordered SocketCommunication Figure 5 : Stock Exchange Design Model Hierarchy [5]
Example of Design Concern: Observer • When subject’s state changes, all observers are notified by calling an Update operation. • Push • Pull • Extended design of observer pattern is MVC( Model View Controller ).
Observer Concern Figure 6 : Features of Observer concern [4]
Weaving of Structural and Behavioral Diagrams Figure 7: Woven Stock Exchange Application [5]
Design Modularization Strategies • Completeness • Size • Vertical Design Decomposition • Horizontal Design Decomposition
Touch RAM Figure 8:TouchRAM in Use [5]
Touch RAM • Multitouch-enabled tool for agile software design modeling based on RAM approach. • Aims at reusability and scalability. • Comes with reusable design concern model library (RDCML) • Ease of use, reuse and agility.
Conclusion • Need for Design Models • Should encourage concern driven modeling • Promote usage of RDCML • Future Scope: • Gesture control within Touch RAM • Specifying features and impacts within Touch RAM • Code Generation Capabilities
References 1. Alam, O., Alhaj, M., Ali, S., Amalio, N., Barn, B., Braek, R., Clark, T., Combemale, B., Cysneiros, L., Fatima, U., France, R., Georg, G., Horkoff, J., Kienzle, J., Leite, J., Lethbridge, T., Luckey, M., Moreira, A., Mussabacher, G., Mutz, F., Oliveira, P., Petriu, D., Schottle, M., Troup, L., and Werneck, V. Assessing composition in modeling approaches. CMA ’12, September 2012, Innsbruck, Austria. 2. Kienzle, J., Abed, W., and Klein, J. Aspect-oriented multi-view modeling. AOSD’09, March,2009, Charlottesville, Virginia, USA. 3. Ayed, A., and Kienzle, J. Integrating protocol modeling into reusable aspect models. BM-FA ’13, July, 2013, Montpellier, France. 4. Alam, O., Garcia, F., Kienzle, J., Mussabacher, G., and Schottle, M. TouchRAM: a multitouch-enabled software design tool supporting concern-oriented reuse. MODULARITY ’14, April, 2014, Lugano, Switzerland. 5. Kienzle, J. Reusing software design models with touchRAM. AOSD ’13 Companion, March, 2013, Fukuoka, Japan. 6. Kramer, M., and Langhammer, M. Proposal for a multi-view modeling case study: component-based software engineering with UML, plug-ins and Java. Proceedings of VAO 2014, York, United Kingdom.