DOC PREVIEW
MSU CSE 870 - 26-aldawud-UML-Profile-AOM

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

A UML Profile for AOP, OOPSLA 2001 workshop on Aspect Oriented Programming 08/22/01 1 A UML Profile for Aspect Oriented Modeling Omar Aldawud Lucent Technologies Naperville, IL [email protected] Tzilla Elrad Illinois Institute of Technology Chicago, IL [email protected] Atef Bader Lucent Technologies Naperville, IL [email protected] Abstract AOP has matured to become Aspect Oriented Software Development (AOSD) that means the community recognizes the importance of applying aspect orientation to all phases of software development life cycle. Once an initial decomposition of the problem domain identifies software components and the corresponding aspectual properties that cut through these components we would like to be able to express this initial decomposition and carry it to the next life cycle phase. For this refinement process to be effective it must preserve the initial semantics. In this Position paper we propose an initial discussion on UML profile for AO modeling, which we believe will set the stage for AOSD modeling and hence move us towards a truly aspect oriented software systems. We also initiate the discussions regard modeling the orthogonal concerns in the aspect-oriented software system, where loosely coupled concerns in different dimensions can be easily modeled and reasoned about in isolation of the core components and aspectual components. 1 Introduction AOP [15],[16] is a paradigm that complements the object-oriented technology. The premise of aspect-oriented technology is separation of concerns; where certain deign requirements tend to cut across group of core functional components. Concurrency, security, logging, debugging and fault tolerance are examples of such concerns. AO technology attempt to modularize these scattered implementations in order to avoid the code-tangling phenomena associated with it AOP offers very little to support the developers in expressing their AO systems with a formal modeling technique. What we are after here is a formal modeling methodology that all AOSD stakeholders can use to communicate, and design their software systems. As modeling and UML profile are essential to OO applications it seems natural to extend it to AO. What is needed is a modeling language that fully supports AOSD, an essential requirement on modeling languages for AOSD, is that it shall be capable of expressing both “Core” components and “Aspectual” components as well as the associations between them and among themselves. This should be generalized to any number of dimensions to support multi dimensional separation of concerns. The UML [3][4] is a graphical language for specifying, visualizing, constructing, and documenting the artifacts of software systems. UML is a standard modeling language endorsed by Object Management Group (OMG) in 1997 as UML 1.1. UML is the graphical notation that defines the semantics of the object meta-model (model of UML itself), and defines a notation for capturing and communicating object structure and behavior. UML supports extension mechanisms [4][19],[20] (stereotypes, tagged values, and constrains) to allow tailoring UML to fit the needs of a specific domain, UML profile allow the stakeholders of a certain domain to express the semantics of their systems using a well-defined set of extensions.A UML Profile for AOP, OOPSLA 2001 workshop on Aspect Oriented Programming 08/22/01 2 2 Modeling AOSD Benefits of modeling have been outlined in the literature [3][4]. Why do we model? UML summery [3] outlines the following benefits: provide structure for problem solving, experiment to explore multiple solutions, furnish abstractions to manage complexity, reduce time-to-market for business problem solutions, decrease development costs, and manage the risk of mistakes. Benefits of modeling AOSD systems also been examined by the researchers. In [1] we demonstrated that when aspects are identified at an early stage of the development life cycle it makes their design components more reusable, and it makes automatic code generation possible for AOP systems with higher levels of separation of concerns at the generated code. [8] Stresses that capturing aspects at the design phase streamlines the process of AO development, it helps learning and documenting aspects. [8],[9] Also outlines that capturing aspects at the design phase makes round trip development possible of AO systems, and helps to maintain consistency of requirements, design, and implementation. As a starting point we propose a simple extension to UML packaged in a UML profile for AO, this profile introduces basic AOSD terminology to UML to enable the visual representations of AOSD systems. We started examining AspectJ® constructs [15]as a starting point for constructing this profile, but by no means should the profile be restricted to AspectJ® constructs. 3 UML Profiles The Object Management Group (OMG) defines UML modeling language in a four-layer architecture [3][4]. The meta-meta-model level defined by the MOF (meta object facility), the UML meta-model is defined and standardized on top of the MOF, the meta-model layer specifies the modeling language, the model layer defines the model, and the user object layer defines instances of the model. The standard metamodels represent areas under which specific domains exist that require a specialization of their domain. In order to provide mechanisms for defining domain standards specializing the standard metamodels, UML introduces the notion of Profile, which is specified in [white paper]. UML provides the means by which one can extend it’s meta-model (model of UML itself) to fit the needs of a modeling concern. It provides extension mechanisms that allow customizing and extending UML model elements (i.e. <<class>>). The UML extension mechanisms are stereotype, tagged values, and constrains. Stereotypes are classification of an existing UML model element, which has its own properties that are expressed as tagged values, constrains are restrictions placed on the stereotypes. UML profiles are predefined set of stereotype, tagged values, constrains, and graphical icons to allow modeling a specific domain. There have been many UML profiles proposed to OMG, UML profile for real time systems UML-RT [UML-RT] is a UML extension to support Real time intensive application, the profile itself is based on concepts from [17] the profile introduces the notions Capsules, ports, connectors, protocols,


View Full Document

MSU CSE 870 - 26-aldawud-UML-Profile-AOM

Documents in this Course
HW2

HW2

3 pages

splc1

splc1

21 pages

Lessons

Lessons

3 pages

revision

revision

13 pages

ft1

ft1

12 pages

john.dsn

john.dsn

21 pages

Survey

Survey

2 pages

revision

revision

38 pages

Load more
Download 26-aldawud-UML-Profile-AOM
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view 26-aldawud-UML-Profile-AOM and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view 26-aldawud-UML-Profile-AOM 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?