首 页
培 训
教 程
QQ群
首页->所有类别->计算机类->程序设计与WEB开发->其它语言  -> (面向方面编程的可靠应用程序开发)Using Aspect Oriented Programming for Trustworthy Software Developme
搜索: 搜索资料简介

(面向方面编程的可靠应用程序开发)Using Aspect Oriented Programming for Trustworthy Software Developme

(面向方面编程的可靠应用程序开发)Using Aspect Oriented Programming for Trustworthy Software Developme
【推荐级别】 ☆☆☆☆☆   查看网友评价
【下载次数】  41 次
【作者】 VLADIMIR O. SAFONOV   【出版社】  Wiley  
【文件格式】  PDF   【ISBN】  978-0-470-13817-5  
【资料语言】  英文   【文件大小】 3.48MB  
【上传时间】 2008-08-16   【共享者】  booolean  查看他还共享了哪些书籍  
资料说明:
Preface
This book is devoted to the basic concepts and generic relationships of two
new software engineering and computer science areas: trustworthy computing
(TWC) and aspect - oriented programming (AOP).
These two disciplines are now so popular, even “ fashionable, ” that many
software students and experts are looking for more information about them.
Both TWC and AOP and, in particular, their relationship, have not yet been
described suf? ciently in the scienti? c literature up to now, and this gap needs
to be ? lled. The reason for the current status lies in the fact that both AOP
and TWC are still quite novel even though their foundations were laid long
ago, and the worldwide software engineering community has not yet acquired
enough experience in these areas. The book should be very helpful in this
regard.
The main principle behind the book is that AOP, used properly, can be
bene? cial in trustworthy software development, due to the fact that the two
are related generically. To analyze, demonstrate, and teach using AOP for
TWC, I take typical TWC tasks, such as security checks, in and out conditions,
and multithreaded safety and show how they can be implemented using AOP,
since I believe that in terms of AOP, most TWC tasks are cross - cutting concerns
and, consequently, can and should be implemented as aspects . In the text I
describe my team ’ s latest results, analyzing my 30 years ’ experience in research,
development, and university teaching in the areas of software engineering and
computer science, and my 15 years ’ experience collaborating with leading
global software companies: Microsoft Research, Sun Microsystems, and
others.
In particular, I describe the results of two research and educational projects
supported by Microsoft Research:
? Aspect.NET [1 – 6] : an AOP framework for the Microsoft.NET platform
based on Microsoft Phoenix [7] and Microsoft Visual Studio.NET 2005.
Aspect.NET is based on our approach to AOP as well as our AOP frame-
work. Aspect.NET already has a number of users in 16 countries, includ-
ing the United States, Canada, and other countries in the Americas,
Europe, Asia, and the C.I.S. We hope the book will contribute to extend-
ing the Aspect.NET user community.
? TrustSPBU.NET [8] : a set of educational materials on advanced secure
software engineering and trustworthy computing, Microsoft.NET and C#,
compilers, software engineering and compiler development, and my
related project, SPBU.NET [9] , used as the foundation for TrustSPBU.
NET. The curriculum materials of these two projects, available on Micro-
soft Developer ’ s Network Academic Alliance Curriculum Repository
Web site, have already attracted the attention of both students and soft-
ware experts.
For all examples of trustworthy software design and code included in the
book, I use our Aspect.NET framework. I consider the basics of Aspect.NET
architecture, its advantages compared to other AOP tools, its functionality, and
examples of trustworthy application development using Aspect.NET. The
book is not limited to Microsoft technologies, although we do appreciate using
such advanced toolkits as Visual Studio.NET and Phoenix. We consider general
principles and other software technologies and tools applicable to using AOP
for trustworthy software development, such as Java and AspectJ [10] , based
on Java, currently the most widely used AOP instrument.
Chapter 5 is devoted to teaching, but actually, the style used to present all
the material in the book is based on the ERATO teaching paradigm [9] , on
which I have based my university teaching for many years. ERATO is an
acronym for experience, retrospective, analysis, theory, oncoming perspectives.
Erato is the name of the muse of romantic poetry in ancient Greek mythology.
The ERATO teaching paradigm can be summarized as follows:
? Experience: describing my long - term commercial and research software
project experience in my courses. In particular, in 1992 – 2002 I led St.
Petersburg Sun projects in the compiler development and Java technol-
ogy areas. In 2002 I started working with Microsoft Research on the
Aspect.NET project, in 2003 on the Phoenix compiler development
tool, in 2004 on SPBU.NET, and in 2006 on TrustSPBU.NET educational
projects. Such types of things are of deep interest to students since they
can judge how closely coupled academic learning and teaching activity
can be to advanced research and tools and working with leading compa-
nies, so it helps to better illustrate concepts and principles to be taught.
They can participate personally in our projects to get their own
experience.
? Retrospective: considering the historical background of each topic being
taught since its early origin, for deeper understanding of fundamental
concepts by the students. For example, I consider the concepts of concur-
rency and multithreading since Dijkstra ’ s 1960s pioneering work on sema-
phores; generics since Liskov ’ s CLU language parametrized types in early
1970s (rather than since 2004 – 2005, when generics were implemented in
Java 1.5 and C# 2.0).
? Analysis: making critical and comparative analysis of the most important
related and mutually in? uenced concepts and technologies when teaching
them. For example, I analyze the Microsoft.NET platform, compared to
the competitive Java platform, and explain the fundamental reasons why
.NET is more general and open - style. On the other hand, I show to stu-
dents that .NET technologies have a backward in? uence on Java. I believe
that in this way students can better understand the dialectic nature of
software engineering.
? Theory: formulating and explaining the essence of theoretical de? nitions,
justi? cations, known theorems, and issues relevant to the topic being
taught. In particular, when teaching the concept of data type, I make a
review of the techniques of formal speci? cations of abstract data types:
Hoare ’ s theoretical papers on data types published in the 1960s and
1970s; papers by Scott on type theory; and pioneering papers on initial
and ? nal algebra semantics of abstract data types by the ADJ group
(1970s), resulting in algebraic data type speci? cation languages OBJ and
SDL.
? Oncoming perspectives: explaining the vision of future progress in the
topic being taught by a variety of software experts.
The book is targeted primarily at undergraduate and graduate students who
would like to study TWC and AOP, but it will also be useful for software
managers, computer scientists, software engineers, and university teachers in
the area, especially those working with and teaching Microsoft.NET. For
readers who want to learn the basics of trustworthy computing and its applica-
tion to modern software development platforms such as .NET and Java,
Chapter 2 will be appropriate. Chapter 3 focuses on readers interested primar-
ily in aspect - oriented programming and Aspect.NET. Those speci? cally inter-
ested in applying AOP to develop trustworthy software are directed to Chapter
4 . Chapter 5 will be of most interest to those who wish to teach TWC and AOP
and related areas of software engineering.
For more information, the reader is directed to the book and to the Aspect.
NET Web site: www.aspectdotnet.org . The site contains all the examples used
in the book, other material selected from the book, the Aspect.NET framework
with documentation, and data on other publications related to Aspect.NET.
Please send your questions, remarks, suggestions, and proposals regarding
Aspect.NET or my book directly to my e - mail address: v_o_safonov@mail.ru .
ACKNOWLEDGMENTS
First, I would like to thank my colleagues from Microsoft: Igor Agamirzian,
Marco Combetto, Peter Drayton, Van Eden, Kang Su Gatlin, Alexander Gavr-
ilov, Alexander Gil (who was my doctoral student), John Larcheveque, John
Lefor, Mark Lewin, Vassily Lutsarev, Shahrokh Mortazavi, John Spencer,
Andrey Terekhov, Damien Watkins, Yan Xu, Romualds Zdebskis, and many
others. They have provided a lot of support to me and my team.
Thanks also to my teachers from a variety of universities and companies
whose ideas, papers, education, and attention have had a great in? uence on
my work, results, professional views, and interests: Professors Alfred Aho
(Columbia University), Igor Bratchikov, Boris Martynenko and Joseph
Romanovsky (St. Petersburg University), Gregory Tseytin (St. Petersburg
University, now with IBM), and Niklaus Wirth (ETH Z ü rich).
Special thanks to Professor Gregor Kiczales, the inventor of AOP, for fruit-
ful e - mail discussions that helped me to understand the essence of his approach
more deeply.
I would like to memorialize two people whose papers inspired my profes-
sional work: corresponding member of the Russian Academy of Sciences
Professor Svyatoslav Lavrov, my scienti? c advisor, the developer of the ? rst
ALGOL compiler in the Soviet Union in the early 1960s, and the author of
many books and projects well known in our country; and Professor Adolph
Fouxman of Rostov University, the author of the vertical cut technology
(1979), predecessor of aspect - oriented programming, and initiator of pioneer-
ing projects on automated program synthesis, whose software engineering
papers of 1970s look quite contemporary.
Finally, I would like to thank deeply my Aspect.NET implementation team:
my doctoral students Dmitry Grigoryev, the developer of the Aspect.NET
weaver using Microsoft Phoenix [7] ; Mikhail Gratchev, the developer of the
Aspect.NET framework and its integration in Visual Studio.NET 2005 and
Aspect.NET installer; and Alexander Maslennikov, the developer of the
Aspect.NET.ML metalanguage converter to C#. They have not only developed
several releases of Aspect.NET but have also proposed and implemented a
lot of their own bright ideas to improve and enhance Aspect.NET architecture
and functionality. The results of their work should be considered an inherent
part of my book. Also, thanks to my graduate students Oleg Romashin and
Ruslan Mukhanov, who helped me to develop AspectRotor, a version of
Aspect.NET for SSCLI (Rotor), and to Anna Kogay, who developed a number
of useful aspect examples of using Aspect.NET for the design - by - contract
technology used in the book.
Last but not least, my thanks to all Aspect.NET users and supporters.

资料下载
打开下载链接  点此链接需花费积分5分。如何获取积分
注册新会员 积分不够?请用手机短信充值
·请先登录 ,然后下载
·下载后,您的积分会减少5分
·48小时内重复下载该资料不另外扣分
·下载前,请先阅读下载声明
·管理员对书籍只进行了初步审核,如果您发现该书违反了分享规则,请向管理员投诉!
 
·本服务的所有资料文件是其作者提供和网友推荐收集整理的,如有侵犯版权敬请指出。
·所有资料文件的准确性、安全性和完整性未经验证,NetYi不承担用户因使用这些下载内容而造成的任何形式的损失或伤害。
    会员登录

客户服务
    
电话:028-66868000
         13568916094
下班时间请点击此处留言
    注:客服服务时间为周一至周五09:00—17:30,周六周日休息。

客服QQ: 506123380   562029233   15636140   客服电话:028-66868000   13568916094
得益网(NetYi.net) 版权所有 蜀ICP备08103914号