Event Name Goes Here - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Event Name Goes Here

Description:

Template design: ScottK; Silverfox productions, Inc. Formatter: Event Date: Event Location: Speech Length: Audience: Key Topics: – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 15
Provided by: Vladi50
Category:
Tags: cutting | event | goes | here | name | tools

less

Transcript and Presenter's Notes

Title: Event Name Goes Here


1
(No Transcript)
2
Aspect.NET an aspect-oriented programming tool
for Microsoft.NET using Phoenix and Whidbey
  • Vladimir O. Safonov
  • Professor of computer science, head of laboratory
  • St. Petersburg University

3
Aspect.NET project (granted by MSR in 2002 and
2004)
  • Goals
  • Develop a state-of-the-art aspect-oriented
    programming (AOP) tool for Microsoft.NET, on top
    of Microsoft Phoenix, integrated with the latest
    Visual Studio (Whidbey) and working also in
    SSCLI/Rotor environment
  • Make AOP ubiquitous for Microsoft.NET software
    developers
  • Develop most adequate ways of representing
    aspects for Microsoft.NET
  • Lay the foundation for future research and
    development work on spreading AOP among
    Microsoft.NET users

4
AOP origin and status
  • Aspect-oriented programming (AOP) a prospective
    software engineering paradigm based on a concept
    of cross-cutting concern whose implementation
    contains not only a related set of modules but a
    set of tangled code fragments to be weaved
    (inserted) into a target application
  • Predecessor Professor A. L. Fouxman (Rostov
    University), Technological Aspects of Software
    Systems Development, 1979
  • Modern classicist of AOP Professor Gregor
    Kichales, University of British Columbia, Canada
    (AspectJ tool AOP extension for Java)

5
AOP basics
  • Cross-cutting concern a concern whose
    implementation cannot be made by a generalized
    procedure
  • Examples logging security MT-safety
    implementation of a new source language construct
    in a compiler
  • Aspect implementation of a cross-cutting
    concern
  • Weaving applying (inserting) an aspect to a
    target application
  • Pointcut a set of weaving rules for an aspect
  • Join points a set of concrete points in a
    target application subject to aspect weaving
  • Benefits of AOP make software development and
    maintenance easier due to performing it in terms
    of aspects

6
Our approach to AOP
  • Make aspects multi-language (language agnostic),
    in accordance to .NET programming paradigm,
    rather than extend each programming language by
    AOP constructs (as opposed to AspectJ)
  • Use a simple AOP meta-language Aspect.NET.ML to
    provide user-level AOP annotations to compilation
    units
  • Represent meta-information on aspects by custom
    attributes (AspectDef, AspectRef), to safely tie
    them to assemblies, to make them easily available
    to AOP tools, and to avoid updating any general
    .NET tools for the purpose of their
    AOP-awareness
  • Use Phoenix to handle assemblies and to support
    weaving
  • Develop Aspect.NET as a Whidbey add-in to closely
    integrate it to a variety of .NET tools and
    technologies

7
Aspect.NET architecture
  • Aspect.NET.ML converters (for C, VB.NET etc) to
    definitions of AspectDef attribute
  • Aspect weaver
  • Target assembly Aspect assembly -gt Target
    assembly
  • Aspect editor aspect GUI locating aspects,
    coloring aspects, editing aspects, deleting
    aspects
  • Aspectizer locating aspects in non-AOP
    applications

8
Example the Politeness aspect
  • aspect Politeness
  • public class Politeness
  • modules
  • public static SayHello ()
  • System.Console.WriteLine(Hello)
  • public static SayBye ()
  • System.Console.WriteLine(Bye)
  • rules
  • before call
  • action public static void SayHelloAction
  • Politeness.SayHello()
  • after call
  • action public static void SayByeAction
    Politeness.SayBye()

9
Example Weaving Politeness
  • to MyApplication apply Politeness
  • (the same can be done by means of Aspect editor)

10
Aspect.NET working screenshot
11
Aspect coloring screenshot
12
Aspect.NET status and perspectives
  • Aspect.NET implementation team (SPBU PhD and
    graduate students Dmitry Grigoryev, Mikhail
    Gratchev, Alexander Maslennikov, Oleg Romashin et
    al.)
  • A working prototype of Aspect.NET on top of
    latest Phoenix (02/28/05) and Whidbey developed
  • Aspect.NET installer/distribution developed
  • By September 2005 complete working version of
    Aspect.NET
  • Perspectives library of examples further
    research on aspect-oriented knowledge management
    and on aspectizing (aspect mining)

13
Using Aspect.NET
  • Vladimir O. SafonovProfessor
  • St. Petersburg University

14
Aspect.NET references
  1. http//aosd.net - The starting Web site on AOP
  2. Safonov V. O. Aspect.NET a new approach to
    aspect-oriented programming. - .NET Developers
    Journal, 2003, 4.
  3. Safonov V.O. Aspect.NET concepts and
    architecture. - .NET Developers Journal, 2004,
    10.
  4. Safonov V.O., Grigoryev D.A. Aspect.NET
    aspect-oriented programming for Microsoft.NET in
    practice. - .NET Developers Journal, 2005, 7.
  5. Safonov V.O., Grigoryev D.A. Aspect.NET an
    aspect-oriented programming tool for
    Microsoft.NET. Proceedings of St. Petersburg
    Regional IEEE conference, St. Petersburg, May
    2005.
Write a Comment
User Comments (0)
About PowerShow.com