+ All Categories
Home > Documents > WHAT IS MODELING ? Models is an important software engineering tool that helps us in understanding...

WHAT IS MODELING ? Models is an important software engineering tool that helps us in understanding...

Date post: 16-Dec-2015
Category:
Upload: oliver-pocklington
View: 215 times
Download: 0 times
Share this document with a friend
22
RAM: Aspect Oriented Multi-view Modeling Approach BY VIKAS KUMAR SRIRAM RAMYA MOHANAN
Transcript

RAM: Aspect OrientedMulti-view Modeling

Approach

BY

VIKAS KUMAR SRIRAM RAMYA MOHANAN

Importance of Designing

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.

Introduction

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]

Modeling Approaches

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.

Aspect Oriented Multi View Modeling

Base CD

System ! + start()

Writer ! + writeLine()

fstream

FileStream ! + addToStream ()

Context-Specific Buffering Aspect

Writer ! + writeLine()

buffe r Buffer

! + write()

bfstream

FileStream ! + addToStream ()

Result

System ! + start()

Writer ! + writeLine()

buffe r

Buffer ! + write()

Base SD Pointcut Result SD

: User : Server : User : Server : User : Server : Display

log in () log in () log in ()

tryAgain () * tryAgain ()

log in () notify()

Advice update () alt logged In ()

: User : Server : Disp lay log in ()

re jected () log in () alt loggedIn () * notify()

notify() upda te ()

upda te ()

!

!

!

!

FileStream

! fstre a m !!!!+ addToStream ()

re jecte d ()

n otify()

u pd a te ()

Integration of Structural and Behavioral Diagrams

Figure 2: Merging Class Diagrams with Kompose [2] Figure 3: Sequence Diagram Weaving Example [2]

Structural view State view Message view

Aspect Packaging

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.

What is RAM ?

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.

Design Model Interfaces Customization interface

Usage interface

Variation interface

Features of RAM

Design Model Hierarchies Model extensions

Model customizations

Design Model Interfaces

Figure 4 : Reusing the Observer Design Pattern [5]

tockExchange

Input

ParallelExecution NetworkCommand

Singleton

Observer

ZeroToM any

Named

SocketCommunicationZeroToMany-OrderedMap

Command

Copyable

Workflow

Outpath

Figure 5 : Stock Exchange Design Model Hierarchy [5]

Design Model Hierarchy

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 ).

Example of Design Concern: Observer

alternative (XOR)

mandatory

optional

Notification Method

Observer

Controller

Concurrent Update

Pull Push Active Passive

Figure 6 : Features of Observer concern [4]

Observer Concern

Weaving of Structural and Behavioral Diagrams

Figure 7 : Woven Stock Exchange Application [5]

Completeness

Size

Vertical Design Decomposition

Horizontal Design Decomposition

Design Modularization Strategies

Touch RAM

Figure 8:TouchRAM in Use [5]

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.

Touch RAM

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

Conclusion

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.

References


Recommended