• DocumentCode
    1623972
  • Title

    Aspect-oriented programming with C# and .NET

  • Author

    Schult, Wolfgang ; Polze, Andreas

  • Author_Institution
    Hasso-Plattner-Inst., Univ. Potsdam, Germany
  • fYear
    2002
  • fDate
    6/24/1905 12:00:00 AM
  • Firstpage
    241
  • Lastpage
    248
  • Abstract
    Microsoft has introduced the .NET architecture as a new component-based programming environment, which allows for easy integration of classical distributed programming techniques with Web computing. NET defines a type system and introduces notions such as component, object, and interface, which are building blocks for distributed multi-language component-based applications. As many other component frameworks, .NET mainly focuses on functional interfaces of components. Non-functional aspects of components, such as resource usage (CPU, memory), timing behavior, fault-tolerance, or security requirements are currently not expressed in .NET\´s component interfaces. We discuss the usage of aspect-oriented programming techniques in context of the .NET framework. We focus on the fault-tolerance aspect and discuss the expression of non-functional component properties (aspects) as C# custom attributes. Our approach uses reflection to generate replicated objects based on settings of a special "fault-tolerance" attribute for C# components. We have implemented an aspect-weaver for integration of aspect-code and component-code, which uses the mechanisms of the language-neutral .NET type system. Therefore, our approach is not restricted to the C# language but works for any of the .NET programming languages
  • Keywords
    distributed object management; distributed programming; information resources; object-oriented languages; object-oriented programming; programming environments; software fault tolerance; software reusability; .NET architecture; C# language; Microsoft; Web computing; aspect-oriented programming; aspect-weaver; component-based programming environment; distributed applications; distributed programming; fault-tolerance; multi-language component-based applications; object oriented language; replicated objects; resource usage; security requirements; timing behavior; type system; Computer architecture; Computer languages; Distributed computing; Fault tolerance; Object oriented modeling; Programming environments; Reflection; Security; Service oriented architecture; Timing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Object-Oriented Real-Time Distributed Computing, 2002. (ISORC 2002). Proceedings. Fifth IEEE International Symposium on
  • Conference_Location
    Washington, DC
  • Print_ISBN
    0-7695-1558-4
  • Type

    conf

  • DOI
    10.1109/ISORC.2002.1003711
  • Filename
    1003711