How To Write A Program In Ptolemy
|
|
- Melina Thornton
- 3 years ago
- Views:
Transcription
1 A Preliminary Study of Quantified, Typed Events Robert Dyer 1, Mehdi Bagherzadeh 1, Hridesh Rajan 1 and Yuanfang Cai 2 1 Iowa State University 2 Drexel University {rdyer,mbagherz,hridesh}@cs.iastate.edu yfcai@cs.drexel.edu March 16, 2010
2 Ptolemy: What, Why? Background An Example in AspectJ An Example in Ptolemy Ptolemy 1 adds quantified, typed events to OO languages 1 Well-defined interfaces between base & crosscutting code 2 Separate type-checking, modular reasoning Combines aspect-oriented (AO) and implicit invocation (II) Solves problems with AO and II: AO: quantification failure, fragile pointcuts, limited context information II: coupling of observers, no replacement of event code, no quantification 1 Rajan and Leavens - ECOOP 08 Dyer, Bagherzadeh, Rajan and Cai 2 Preliminary Study of Quantified, Typed Events
3 Background An Example in AspectJ An Example in Ptolemy This Paper: Why, How, and What? Motivation: Why use Quantified, Typed Events 2? Approach: MobileMedia case study 3 : Change impact and Design value analysis Software engineering metrics: makes implicit coupling in AO explicit and decreases change impact NOV analysis: Ptolemy needs ITDs (so we added it) 2 Rajan and Leavens - ECOOP 08 3 Figueiredo et al - ICSE 08 Dyer, Bagherzadeh, Rajan and Cai 3 Preliminary Study of Quantified, Typed Events
4 Running Example : Figure Editor Background An Example in AspectJ An Example in Ptolemy Elements of drawing Points, Lines, etc All such elements are of type FElement Challenge: Modularize display update policy Whenever an element of drawing changes Update the display Dyer, Bagherzadeh, Rajan and Cai 4 Preliminary Study of Quantified, Typed Events
5 Point and its two Events Background An Example in AspectJ An Example in Ptolemy class Point implements FElement { int x; int y; void setx(int x) { this.x = x; }.. void makeequal(point other) { if(!other.equals(this)) { other.x = this.x; other.y = this.y; }}} Changing FElement is different for two cases. Actual abstract event inside makeequal is the true branch. Dyer, Bagherzadeh, Rajan and Cai 5 Preliminary Study of Quantified, Typed Events
6 Background An Example in AspectJ An Example in Ptolemy Aspect Modularizing Display Updating aspect Update { around(felement fe) : execution(point.set*(..)) && this(fe) (execution(point.make*(..)) && args(fe) if(!fe.equals(this(fe)))) { proceed(fe); Display.update(); }} Enumeration required of two different joinpoints. Had to use if pointcut to get to the real event. Alternative is to refactor makeequal (refactoring doesn t always creates meaningful abstractions). Dyer, Bagherzadeh, Rajan and Cai 6 Preliminary Study of Quantified, Typed Events
7 Ptolemy: Declaring Event Types Background An Example in AspectJ An Example in Ptolemy void event FEChanged { FElement changedfe; } Event type is an abstraction (design this first). Declares context available at the concrete events. Interface, so allows design by contract (DBC) methodology. Dyer, Bagherzadeh, Rajan and Cai 7 Preliminary Study of Quantified, Typed Events
8 Ptolemy: Announcing Events Background An Example in AspectJ An Example in Ptolemy class Point implements FElement { int x; int y; void setx(int x) { announce FEChanged(this) { this.x = x; }} void makeequal(point other) { if(!other.equals(this)) { announce FEChanged(other) { other.x = this.x; other.y = this.y; }}}} Explicit, declarative, typed event announcement. Provides flexibility, e.g. see makeequal. Dyer, Bagherzadeh, Rajan and Cai 8 Preliminary Study of Quantified, Typed Events
9 Ptolemy: Binding to Events Background An Example in AspectJ An Example in Ptolemy class Update { when FEChanged do update; void update (FEChanged next) { invoke(next); //Like AspectJ proceed Display.update(); } public Update() { register(this); //Allows dynamic deployment }} Dyer, Bagherzadeh, Rajan and Cai 9 Preliminary Study of Quantified, Typed Events
10 Research Questions Motivation Background An Example in AspectJ An Example in Ptolemy How do these two designs compare? When do we see benefits of AO? When do we see benefits of Ptolemy? Dyer, Bagherzadeh, Rajan and Cai 10 Preliminary Study of Quantified, Typed Events
11 Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events Observed Benefits of Aspect-oriented Designs Static crosscutting features are very useful Inter-type declarations (ITDs) Declare Parents Softened Exceptions Dyer, Bagherzadeh, Rajan and Cai 11 Preliminary Study of Quantified, Typed Events
12 Inter-type declarations (ITDs) Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events Had to be emulated in Ptolemy 4 AspectJ: public T C.field; Ptolemy emulation strategy: static Hashtable fieldmap; public static T getfield(c); public static void setfield(c, T); 4 Ptolemy now supports AspectJ-style ITDs Dyer, Bagherzadeh, Rajan and Cai 12 Preliminary Study of Quantified, Typed Events
13 Declare Parents Motivation Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events Affects the type hierarchy Only used in revision 8 Effects modeled similar to ITDs Dyer, Bagherzadeh, Rajan and Cai 13 Preliminary Study of Quantified, Typed Events
14 Softened Exceptions Motivation Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events Aspects handle certain exceptions Softened exceptions don t need declared thrown in the base code Con: Ptolemy version still must declare those exceptions are thrown Pro: Ptolemy s exception handling code is (un)pluggable Dyer, Bagherzadeh, Rajan and Cai 14 Preliminary Study of Quantified, Typed Events
15 Softened Exceptions Motivation Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events AspectJ version: declare soft: RecordStoreEx : execution(public void ImageAccessor.addImageData(..)); public void addimagedata(..) throws InvalidImageDataEx, PersistenceMechanismEx { Without the aspect, the base code won t compile! Dyer, Bagherzadeh, Rajan and Cai 15 Preliminary Study of Quantified, Typed Events
16 Softened Exceptions Motivation Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events Ptolemy version: public void addimagedata(..) throws InvalidImageDataEx, PersistenceMechanismEx, RecordStoreEx { Even though RecordStoreEx isn t thrown by the body, it still must be declared! Dyer, Bagherzadeh, Rajan and Cai 16 Preliminary Study of Quantified, Typed Events
17 Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events Observed Benefits of Quantified, Typed Events No Quantification Failure No Fragile Pointcuts Can easily advise other advice (due to symmetry) Dyer, Bagherzadeh, Rajan and Cai 17 Preliminary Study of Quantified, Typed Events
18 Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events Solves Quantification Failure Problem In revision 2, the AspectJ version had to expose a while loop (by refactoring of course) Similar problems in other revisions Ptolemy versions did not need to refactor those points to expose to the aspects Dyer, Bagherzadeh, Rajan and Cai 18 Preliminary Study of Quantified, Typed Events
19 Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events Example of Quantification Failure in AO OO version:.. while (is.read(b)) {.. }.. AspectJ version:.. internalreadimage(..);.. private void internalreadimage(..) { while (is.read(b)) {.. } } Dyer, Bagherzadeh, Rajan and Cai 19 Preliminary Study of Quantified, Typed Events
20 No Quantification Failure Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events OO version:.. while (is.read(b)) {.. }.. Ptolemy version:.. announce ReadInternalImageAsByteArrayEvent() { while (is.read(b)) {.. } }.. Dyer, Bagherzadeh, Rajan and Cai 20 Preliminary Study of Quantified, Typed Events
21 No Fragile Pointcuts Motivation Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events Aspects implicitly match the base code Quantified, typed events make this coupling explicit Changes to the base code (e.g., renaming a method) can propogate to the aspects AspectJ: execution(* DeletePhoto(..)) Ptolemy: when DeletePhotoEvent do Handler What if DeletePhoto is renamed to RemovePhoto? Dyer, Bagherzadeh, Rajan and Cai 21 Preliminary Study of Quantified, Typed Events
22 Can easily advise other advice Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events AspectJ allows you to advise all advice, not specific advice bodies Exception handling modularity was not maintained in later revisions for AspectJ versions Ex: revision 8, aspect lancs.midp.mobilephoto.alternative.music.musicaspect Dyer, Bagherzadeh, Rajan and Cai 22 Preliminary Study of Quantified, Typed Events
23 Benefits of Aspect-oriented Designs Benefits of Quantified, Typed Events after() : addnewmediatoalbum() { try { /* advice body */ } catch (InvalidImageDataException e) {.. } } public void handler(addmediatoalbumevent next){ announce AddNewMediaToAlbumHandlerEvent() { /* advice body */ } } Dyer, Bagherzadeh, Rajan and Cai 23 Preliminary Study of Quantified, Typed Events
24 Software Engineering Metrics Net Options Value Analysis Overview of Change Impact AO vs. Ptolemy Ptolemy design limited change propagation Only had to change 13 event types in revision 7 AO revisions required changing 50 pointcuts in revision 7 No other Ptolemy revision required changing event types 28 pointcuts changed across 4 other AO revisions Dyer, Bagherzadeh, Rajan and Cai 24 Preliminary Study of Quantified, Typed Events
25 Software Engineering Metrics Net Options Value Analysis Net Options Value Analysis AO vs. Ptolemy 5 4 OO AO PTL R1 R2 R3 R4 R5 R6 R7 R8 Dyer, Bagherzadeh, Rajan and Cai 25 Preliminary Study of Quantified, Typed Events
26 Software Engineering Metrics Net Options Value Analysis Net Options Value Analysis AO vs. Ptolemy 5 4 OO AO PTL R1 R2 R3 R4 R5 R6 R7 R8 Ptolemy: higher NOV values for R2-R6 AO: higher value in R6 (Ptolemy doesn t have ITDs) Revisions adding ITDs: R3-R8 Dyer, Bagherzadeh, Rajan and Cai 26 Preliminary Study of Quantified, Typed Events
27 of Study and Future Work Explicit Coupling increases from OO AO Ptolemy Despite more coupling in Ptolemy, lower change impact Net options value increases from OO AO Ptolemy Future Work: Repeat the study with Ptolemy + ITDs Compare to other AO interface features Dyer, Bagherzadeh, Rajan and Cai 27 Preliminary Study of Quantified, Typed Events
28 Questions? ptolemy/ Dyer, Bagherzadeh, Rajan and Cai 28 Preliminary Study of Quantified, Typed Events
29
30 Mobile Media Metrics Tables Citations Releases Table Release Description Type of Change R1 MobilePhoto core R2 Exception handling included Non-functional concern R3 Added photo sorting Optional feature Added editing photo labels Mandatory feature R4 Added favorites Optional feature R5 Allow users to keep multiple copies of photos Optional feature R6 Added send photo to other users by SMS Optional feature R7 Photo management made into two alternatives: photo or music One mandatory feature into two alternatives R8 Add video management Alternative feature Dyer, Bagherzadeh, Rajan and Cai 30 Preliminary Study of Quantified, Typed Events
31 Mobile Media Metrics Tables Citations Change Propagation Coupling and Cohesion Size Metrics Components PCs Event Types R2 R3 R4 R5 R6 R7 R8 OO Added AO PTL OO Removed AO PTL OO Changed AO PTL Added AO Removed AO Changed AO Added PTL Removed PTL Changed PTL Dyer, Bagherzadeh, Rajan and Cai 31 Preliminary Study of Quantified, Typed Events
32 Mobile Media Metrics Tables Citations Change Propagation Coupling and Cohesion Size Metrics LCOO CBC Average Max Average Max R2 R3 R4 R5 R6 R7 R8 OO AO PTL OO AO PTL OO AO PTL OO AO PTL Dyer, Bagherzadeh, Rajan and Cai 32 Preliminary Study of Quantified, Typed Events
33 Mobile Media Metrics Tables Citations Change Propagation Coupling and Cohesion Size Metrics NOO NOA NOC LOC R2 R3 R4 R5 R6 R7 R8 OO AO PTL OO AO PTL OO AO PTL OO AO PTL Dyer, Bagherzadeh, Rajan and Cai 33 Preliminary Study of Quantified, Typed Events
34 Mobile Media Metrics Tables Citations 1 Eduardo Figueiredo, Nelio Cacho, Claudio Sant Anna, Mario Monteiro, Uira Kulesza, Alessandro Garcia, Sergio Soares, Fabiano Ferrari, Safoora Khan, Fernando Castor Filho and Francisco Dantas. Evolving software product lines with aspects: an empirical study on design stability. In ICSE Hridesh Rajan and Gary T. Leavens. Ptolemy: a language with quantified, typed events. In ECOOP Kevin J. Sullivan, William G. Griswold, Yuanfang Cai, and Ben Hallen. The structure and value of modularity in software design. In ESEC/FSE 01. Dyer, Bagherzadeh, Rajan and Cai 34 Preliminary Study of Quantified, Typed Events
Aspect-Oriented Programming
Aspect-Oriented Programming An Introduction to Aspect-Oriented Programming and AspectJ Niklas Påhlsson Department of Technology University of Kalmar S 391 82 Kalmar SWEDEN Topic Report for Software Engineering
More informationCoordinated Visualization of Aspect-Oriented Programs
Coordinated Visualization of Aspect-Oriented Programs Álvaro F. d Arce 1, Rogério E. Garcia 1, Ronaldo C. M. Correia 1 1 Faculdade de Ciências e Tecnologia Universidade Estadual Paulista Júlio de Mesquita
More informationFabiano Cutigi Ferrari (CV)
Fabiano Cutigi Ferrari (CV) Last update: 12/jan/2015 Professional Address: Departamento Computação Universidade Federal de São Carlos (UFSCar) Rodovia Washington Luis, Km 235 13565-905 - São Carlos, SP
More informationCombining Static and Dynamic Impact Analysis for Large-scale Enterprise Systems
Combining Static and Dynamic Impact Analysis for Large-scale Enterprise Systems The 15th International Conference on Product-Focused Software Process Improvement, Helsinki, Finland. Wen Chen, Alan Wassyng,
More informationAspect Oriented Programming. with. Spring
Aspect Oriented Programming with Spring Problem area How to modularize concerns that span multiple classes and layers? Examples of cross-cutting concerns: Transaction management Logging Profiling Security
More informationRemote Pointcut - A Language Construct for Distributed AOP
Remote Pointcut - A Language Construct for Distributed AOP Muga Nishizawa (Tokyo Tech) Shigeru Chiba (Tokyo Tech) Michiaki Tatsubori (IBM) 1 Pointcut-advice model Joinpoints Program execution is modeled
More informationOASIS: Organic Aspects for System Infrastructure Software Easing Evolution and Adaptation through Natural Decomposition
OASIS: Organic Aspects for System Infrastructure Software Easing Evolution and Adaptation through Natural Decomposition Celina Gibbs and Yvonne Coady University of Victoria Abstract It is becoming increasingly
More informationA Joint Point Interfaces for Safe and Flexible Decoupling of Aspects
A Joint Point Interfaces for Safe and Flexible Decoupling of Aspects Eric Bodden, Technische Universität Darmstadt Éric Tanter, University of Chile Milton Inostroza, University of Chile In current aspect-oriented
More informationSpecifying and Dynamically Monitoring the Exception Handling Policy
Specifying and Dynamically Monitoring the Exception Handling Policy Joilson Abrantes Dep. of Informatics and Applied Mathematics Federal University of Rio Grande do Norte Brazil joilson@ppgsc.ufrn.br Roberta
More informationProgress Report Aspect Oriented Programming meets Design Patterns. Academic Programme MSc in Advanced Computer Science. Guillermo Antonio Toro Bayona
Progress Report Aspect Oriented Programming meets Design Patterns Academic Programme MSc in Advanced Computer Science Guillermo Antonio Toro Bayona Supervisor Dr. John Sargeant The University of Manchester
More informationOOAspectZ and aspect-oriented UML class diagrams for Aspect-oriented software modelling (AOSM)
INGENIERÍA E INVESTIGACIÓN VOL. 33 No. 3, DECEMBER - 2013 (66-71) OOAspectZ and aspect-oriented UML class diagrams for Aspect-oriented software modelling (AOSM) OOAspectZ y diagramas de clase orientados
More informationAPPLE: Advanced Procedural Programming Language Elements
APPLE: Advanced Procedural Programming Language Elements Christian Heinlein Dept. of Computer Structures, University of Ulm, Germany heinlein@informatik.uni ulm.de Abstract. Today s programming languages
More informationGenerating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
More informationThe Application Monitor Aspect Pattern
The Application Monitor Aspect Pattern Roberta Coelho 1 Ayla Dantas 2 Uirá Kulesza 1 Walfredo Cirne 2 Arndt von Staa 1 Carlos Lucena 1 1 Computer Science Department Pontifical Catholic University of Rio
More informationAspect-Oriented Composition of Design Patterns: A Quantitative Assessment
ISSN 13-9741 Monografias em Ciência da Computação n 34/ Aspect-Oriented Composition of Design Patterns: A Quantitative Assessment Nélio Alessandro Azevedo Cacho Eduardo Magno Lages Figueiredo Cláudio Nogueira
More informationIntegration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland Bogumila.Hnatkowska@pwr.wroc.pl
More informationIntegration of Application Business Logic and Business Rules with DSL and AOP
e-informatica Software Engineering Journal, Volume 4, Issue, 200 Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska, Krzysztof Kasprzyk Faculty of Computer
More informationChapter 5 Aspect Oriented Programming
2I1AC3 : Génie logiciel et Patrons de conception Chapter 5 Aspect Oriented Programming J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé. Je ne
More informationWhy Do Developers Neglect Exception Handling?
Why Do Developers Neglect Exception Handling? Hina Shah, Carsten Görg, Mary Jean Harrold College of Computing, Georgia Institute of Technology, Atlanta, Georgia, U.S.A. {hinashah,goerg,harrold}@cc.gatech.edu
More informationComponent-Based Software Development with Aspect-Oriented Programming
Vol. 4, No. 3 Special issue: GPCE Young Researchers Workshop 2004 Component-Based Software Development with Aspect-Oriented Programming Michael Eichberg, Departement of Computer Science, Darmstadt University
More informationHarmless Advice. Daniel S Dantas Princeton University. with David Walker
Harmless Advice Daniel S Dantas Princeton University with David Walker Aspect Oriented Programming Aspect Oriented Programming IBM - 2004 IBM reports positive results in aspect-oriented programming experiments
More informationProgram Comprehension of Feature-Oriented Software Development
Program Comprehension of Feature-Oriented Software Development Janet Feigenspan University of Magdeburg, Germany feigensp@ovgu.de Abstract Feature-oriented software development is a promising paradigm
More informationModularizing Communication Middleware Concerns Using Aspects
Modularizing Communication Middleware Concerns Using Aspects Cristiano Amaral Maffort and Marco Tulio de PUC Minas, Institute of Informatics Anel Rodoviï rio Km 23,5 - Rua Walter Ianni, 255 31980-110 -
More informationLearn Java - The Application Monitor Aspect Pattern
The Application Monitor Aspect Pattern Roberta Coelho Pontifical Catholic University of Rio de Janeiro (PUC-Rio) Rio de Janeiro, Brazil roberta@inf.puc-rio.br Ayla Dantas Universidade Federal de Campina
More informationAspects for Testing Aspects?
Aspects for Testing Aspects? Dehla Sokenou, Stephan Herrmann Technische Universität Berlin Software Engineering Group Sekr. FR 5-6, Franklinstr. 28/29, D-10587 Berlin [dsokenou stephan]@cs.tu-berlin.de
More informationOn the Evaluation of an Open Software Engineering Course
On the Evaluation of an Open Software Engineering Course Eduardo Figueiredo, Juliana Alves Pereira, Lucas Garcia, Luciana Lourdes Software Engineering Lab (LabSoft) - Department of Computer Science (DCC)
More informationAOSD - Enhancing SoC. 07.05.2007 :: INF5120 :: Mansur Ali Abbasi. AOSD :: Aspect Oriented Software Development SoC :: Separation of Concerns
07.05.2007 :: INF5120 :: Mansur Ali Abbasi AOSD - Enhancing SoC AOSD :: Aspect Oriented Software Development SoC :: Separation of Concerns 1 NB! This lecture leans on conciseness rather than completeness
More informationChange Impact Analysis for AspectJ Programs
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin, Jianjun Zhao School of Software Shanghai Jiao Tong University 8 Dongchuan Road, Shanghai, China {saizhang, ausgoo, linyu198,
More informationAIPLE-IS: An Approach to Develop Product Lines for Information Systems Using Aspects
SBCARS 2007 AIPLE-IS: An Approach to Develop Product Lines for Information Systems Using Aspects Rosana T. Vaccare Braga, Fernão S. Rodrigues Germano, Stanley F. Pacios, Paulo C. Masiero Instituto de Ciências
More informationAnalyzing Software Updates: Should You Build a Dynamic Updating Infrastructure?
Analyzing Software Updates: Should You Build a Dynamic Updating Infrastructure? Bashar Gharaibeh, Hridesh Rajan, and J. Morris Chang Iowa State University Abstract. The ability to adapt software systems
More informationEvolution of Web Applications with Aspect-Oriented Design Patterns
Evolution of Web Applications with Aspect-Oriented Design Patterns Michal Bebjak 1, Valentino Vranić 1, and Peter Dolog 2 1 Institute of Informatics and Software Engineering Faculty of Informatics and
More informationEnterprise AOP with Spring Applications IN ACTION SAMPLE CHAPTER. Ramnivas Laddad FOREWORD BY ROD JOHNSON MANNING
Enterprise AOP with Spring Applications IN ACTION SAMPLE CHAPTER Ramnivas Laddad FOREWORD BY ROD JOHNSON MANNING AspectJ in Action Second Edition by Ramnivas Laddad Chapter 10 Copyright 2010 Manning Publications
More informationAspect-Oriented Multi-Client Chat Application
Aspect-Oriented Multi-Client Chat Application Duygu Ceylan, Gizem Gürcüoğlu, Sare G. Sevil Department of Computer Engineering, Bilkent University Ankara, Turkey 06800 dceylan, gizem, sareg @cs.bilkent.edu.tr
More informationService Oriented Architectures
8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history
More informationIdentifying Code Smells with Multiple Concern Views
2010 Brazilian Symposium on Software Engineering Identifying Code Smells with Multiple Concern Views Glauco de F. Carneiro 1, Marcos Silva 2, Leandra Mara 2, Eduardo Figueiredo 3, Claudio Sant Anna 1,
More informationDEPENDENCE FLOW GRAPH FOR ANALYSIS OF ASPECT- ORIENTED PROGRAMS
DEPENDENCE FLOW GRAPH FOR ANALYSIS OF ASPECT- ORIENTED PROGRAMS Syarbaini Ahmad 1, Abdul Azim A. Ghani 2,Fazlida Mohd Sani 3 1 Faculty of Science & Info Technology, International Islamic University College
More informationSoftware Engineering Process. Kevin Cathey
Software Engineering Process Kevin Cathey Where are we going? Last Week iphone Application Technologies Workshop This Week Software Engineering Process Thanksgiving Break Write some code, yo 2 Dec Options:
More informationUsing an Aspect Oriented Layer in SOA for Enterprise Application Integration
19 Using an Aspect Oriented Layer in SOA for Enterprise Application Integration Chinthaka D. Induruwana School of Computer Science, University of Manchester, Kilburn Building, Oxford Road M13 9PL induruwc@cs.man.ac.uk
More informationDesigning with Exceptions. CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219
Designing with Exceptions CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219 Testing vs. Debugging Testing Coding Does the code work properly YES NO 2 Debugging Testing
More informationComputing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
More informationRefactoring and AOP under Scrutiny
Computer Science and Engineering 2014, 4(1): 7-16 DOI: 10.5923/j.computer.20140401.02 Refactoring and AOP under Scrutiny Sandra Casas *, Cecilia Fuentes Zamorano GISP, Instituto de Tecnología Aplicada,
More informationAutomated Data Collection for Usability Evaluation in Early Stages of Application Development
Automated Data Collection for Usability Evaluation in Early Stages of Application Development YONGLEI TAO School of Computing and Information Systems Grand Valley State University Allendale, MI 49401 USA
More informationPercerons: A web-service suite that enhance software development process
Percerons: A web-service suite that enhance software development process Percerons is a list of web services, see http://www.percerons.com, that helps software developers to adopt established software
More informationPerspectives on Automated Testing of Aspect-Oriented Programs
Perspectives on Automated Testing of Aspect-Oriented Programs ABSTRACT Tao Xie Department of Computer Science North Carolina State University Raleigh, NC 27695 xie@csc.ncsu.edu Aspect-oriented software
More informationDistributed Systems Development: Can we Enhance Evolution by using AspectJ?
Distributed Systems Development: Can we Enhance Evolution by using AspectJ? Cormac Driver Siobhán Clarke Distributed Systems Group, Computer Science Department, Trinity College Dublin, Ireland {Cormac.Driver,
More informationXPoints: Extension Interfaces for Multilayered Applications
XPoints: Extension Interfaces for Multilayered Applications Mohamed Aly, Anis Charfi, Sebastian Erdweg, and Mira Mezini Applied Research, SAP AG firstname.lastname@sap.com Software Technology Group, TU
More informationAspect Refactoring Verifier
Aspect Refactoring Verifier Charles Zhang and Julie Waterhouse Hans-Arno Jacobsen Centers for Advanced Studies Department of Electrical and IBM Toronto Lab Computer Engineering juliew@ca.ibm.com and Department
More informationDart a modern web language
Dart a modern web language or why web programmers need more structure Kasper Lund & Lars Bak Software engineers, Google Inc. Object-oriented language experience: 26 + 12 years The Web Is Fantastic The
More informationA Classification Framework for Pointcut Languages in Runtime Monitoring
A Classification Framework for Pointcut Languages in Runtime Monitoring Karl Klose and Klaus Ostermann University of Aarhus, Denmark {klose,ko}@cs.au.dk Abstract. In runtime monitoring and aspect-oriented
More informationA Review of Aspect Maps, Java
AspectMaps: A Scalable Visualization of Join Point Shadows Johan Fabry PLEIAD Laboratory Computer Science Department (DCC) University of Chile http://pleiad.cl Andy Kellens Software Languages Lab Vrije
More informationRepresenting Change by Aspect
Representing Change by Aspect Peter Dolog, Valentino Vranić and Mária Bieliková Dept. of Computer Science and Engineering Faculty of Electrical Engineering and Information Technology Slovak University
More informationAspectual Mixin Layers
Aspectual Mixin Layers Sven Apel, Thomas Leich, and Gunter Saake Department of Computer Science University of Magdeburg, Germany email: {apel,leich,saake}@iti.cs.uni-magdeburg.de Abstract. Feature-Oriented
More informationThe Concern-Oriented Software Architecture Analysis Method
The Concern-Oriented Software Architecture Analysis Method Author: E-mail: Student number: Supervisor: Graduation committee members: Frank Scholten f.b.scholten@cs.utwente.nl s0002550 Dr. ir. Bedir Tekinerdoǧan
More informationAndroid Security. Giovanni Russello g.russello@auckland.ac.nz
Android Security Giovanni Russello g.russello@auckland.ac.nz N-Degree of Separation Applications can be thought as composed by Main Functionality Several Non-functional Concerns Security is a non-functional
More informationA COMPARISON OF AOP BASED MONITORING TOOLS
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVI, Number 3, 2011 A COMPARISON OF AOP BASED MONITORING TOOLS GRIGORETA S. COJOCAR AND DAN COJOCAR Abstract. The performance requirements of a software system
More informationComposing Concerns with a Framework Approach
Composing Concerns with a Framework Approach Constantinos A. Constantinides 1,2 and Tzilla Elrad 2 1 Mathematical and Computer Sciences Department Loyola University Chicago cac@cs.luc.edu 2 Concurrent
More informationAspect-Oriented Software Development
Aspect-Oriented Software Development Dr. Awais Rashid Computing Department Lancaster University, UK Awais Rashid, 2005. Fundamental to Next Generation Software AOSD is vital to our [IBM Software Group
More informationCode Contracts User Manual
Code Contracts User Manual Microsoft Corporation August 14, 2013 What s New? We fixed the debug information generated by the rewriter for async and iterator methods so that locals now appear again when
More informationTopics in Software Reliability
Dependable Software Systems Topics in Software Reliability Material drawn from [Somerville, Mancoridis] What is Software Reliability? A Formal Definition: Reliability is the probability of failure-free
More informationRigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 5 Disclaimer. These notes are derived from notes originally developed by Joseph Kiniry, Gary Leavens, Erik Poll,
More informationThe Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
More informationCS 451 Software Engineering Winter 2009
CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Testing Process Testing Testing only reveals the presence of defects Does not identify
More informationTOOLS FOR TEAM DEVELOPMENT: WHY VENDORS ARE FINALLY GETTING IT RIGHT
TOOLS FOR TEAM DEVELOPMENT: WHY VENDORS ARE FINALLY GETTING IT RIGHT DAVID CHAPPELL DECEMBER 2008 SPONSORED BY MICROSOFT CORPORATION COPYRIGHT 2008 CHAPPELL & ASSOCIATES Most software development is done
More informationCSC 408F/CSC2105F Lecture Notes
CSC 408F/CSC2105F Lecture Notes These lecture notes are provided for the personal use of students taking CSC 408H/CSC 2105H in the Fall term 2004/2005 at the University of Toronto. Copying for purposes
More informationAspect-oriented Refactoring of a J2EE Framework for Security and Validation Concerns
Aspect-oriented Refactoring of a J2EE Framework for Security and Validation Concerns CS 586 Aspect-Oriented Software Development Project Group Members : Başak Çakar, Elif Demirli, Şadiye Kaptanoğlu Bilkent
More informationAutomated Test Generation for AspectJ Programs
Automated Test Generation for AspectJ Programs Tao Xie 1 Jianjun Zhao 2 Darko Marinov 3 David Notkin 1 1 Department of Computer Science & Engineering, University of Washington, USA 2 Department of Computer
More informationAn Aspect-Oriented Programming Language for Agile Software Development
A Dissertation Submitted to Department of Mathematical and Computing Sciences, Graduate School of Information Science and Engineering, Tokyo Institute of Technology In Partial Fulfillment of the Requirements
More informationOn Type Restriction of Around Advice and Aspect Interference
On Type Restriction of Around Advice and Aspect Interference Hidehiko Masuhara Graduate School of Arts and Sciences, University of Tokyo masuhara@acm.org Abstract. Statically typed AOP languages restrict
More informationAn Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
More informationEncapsulating Crosscutting Concerns in System Software
Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com
More informationRemote Method Invocation
Remote Method Invocation The network is the computer Consider the following program organization: method call SomeClass AnotherClass returned object computer 1 computer 2 If the network is the computer,
More informationMonitoring Goals With Aspects
Monitoring Goals With Aspects Andrew Dingwall-Smith Department of Computer Science University College London Gower Street London, WC1E 6BT, UK A.Dingwall-Smith@cs.ucl.ac.uk Anthony Finkelstein Department
More informationExtending an Open-Source BPEL Engine with Aspect-Oriented Programming
Extending an Open-Source BPEL Engine with Aspect-Oriented Programming Alejandro Houspanossian and Mariano Cilia UNICEN, Faculty of Sciences Campus Universitario Tandil, Argentina. {ahouspan,mcilia}@exa.unicen.edu.ar
More informationAspect-Oriented Web Development in PHP
Aspect-Oriented Web Development in PHP Jorge Esparteiro Garcia Faculdade de Engenharia da Universidade do Porto jorge.garcia@fe.up.pt Abstract. Aspect-Oriented Programming (AOP) provides another way of
More informationTable of Contents. Background and Goal... 3. Crafting a Plan for SDN... 4. Define SDN... 4. Identify the Primary Opportunities...
How to Plan for SDN Table of Contents Background and Goal... 3 Crafting a Plan for SDN... 4 Define SDN... 4 Identify the Primary Opportunities... 4 Identify the Key Metrics... 4 Define the Scope of Possible
More informationAn Android-based Instant Message Application
An Android-based Instant Message Application Qi Lai, Mao Zheng and Tom Gendreau Department of Computer Science University of Wisconsin - La Crosse La Crosse, WI 54601 mzheng@uwlax.edu Abstract One of the
More informationProduct Overview and Examples
Product Overview and Examples Advanced SQL Procedure Example Example Scenario Calculate the daily sale for each customer. This is a recalculation, the entries may already exist and then only the values
More informationObject Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
More informationCompose*: Language-Independent Aspects for.net
Compose*: Language-Independent Aspects for.net Lodewijk M.J. Bergmans [lbergmans@acm.org] TRESE group,, The Netherlands [] 1 Intro: Aspect-Orientation Aspect-Oriented Software Development (AOSD): Improve
More informationThe Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0
The following applies to all exams: Once exam vouchers are purchased you have up to one year from the date of purchase to use it. Each voucher is valid for one exam and may only be used at an Authorized
More informationEvaluating the Use of AOP and MDA in Web Service Development
Evaluating the Use of AOP and MDA in Web Service Development Guadalupe Ortiz Quercus Software Engineering Group Centro Universitario de Mérida, UEX Mérida, Spain gobellot@unex.es Behzad Bordbar School
More informationRun-Time Assertion Checking with Énfasis Verificación de Aseveraciones a Tiempo de Ejecución con Énfasis
Run-Time Assertion Checking with Énfasis Verificación de Aseveraciones a Tiempo de Ejecución con Énfasis José Oscar Olmedo Aguirre and Ulises Juárez Martínez Department of Electrical Engineering, CINVESTAV
More informationCONTRASTING ASPECTUAL DECOMPOSITIONS WITH OBJECT- ORIENTED DESIGNS IN CONTEXT-AWARE MOBILE APPLICATIONS
Desarrollo de Software Orientado a Aspectos, DSOA 2006 Asociado a XV Jornadas de Ingeniería del Software y Bases de Datos J. Araújo, J. Hernández, E. Navarro y M. Pinto (Eds) Sitges (Barcelona), Octubre
More information2/9/2010. Standard Approach to Distribution. Remote Procedure Calls (RPC) Example: Music Jukebox in the Cloud
Remote Batch Invocation for Compositional Object Services CPS 296.1 9 th Feb 2010 Vamsidhar Thummala Content borrowed from William R Cook Standard Approach to Distribution Step I: Design a language Clean
More informationKeywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional
More informationChap 4. Using Metrics To Manage Software Risks
Chap 4. Using Metrics To Manage Software Risks. Introduction 2. Software Measurement Concepts 3. Case Study: Measuring Maintainability 4. Metrics and Quality . Introduction Definition Measurement is the
More informationConcern Impact Analysis in Configurable System Software The AUTOSAR OS Case
Concern Impact Analysis in Configurable System Software The AUTOSAR OS Case Wanja Hofer, Daniel Lohmann, Wolfgang Schröder-Preikschat Department of Computer Science 4 Friedrich-Alexander University Erlangen-Nuremberg
More informationSoftware Metrics. Lord Kelvin, a physicist. George Miller, a psychologist
Software Metrics 1. Lord Kelvin, a physicist 2. George Miller, a psychologist Software Metrics Product vs. process Most metrics are indirect: No way to measure property directly or Final product does not
More informationAspect-Oriented Change Realization Based on Multi-Paradigm Design with Feature Modeling
Aspect-Oriented Change Realization Based on Multi-Paradigm Design with Feature Modeling Radoslav Menkyna and Valentino Vranić Institute of Informatics and Software Engineering Faculty of Informatics and
More informationUnification of AOP and FOP in Model Driven Development
Chapter 5 Unification of AOP and FOP in Model Driven Development I n this chapter, AOP and FOP have been explored to analyze the similar and different characteristics. The main objective is to justify
More informationTechnion - Computer Science Department - Ph.D. Thesis PHD-2010-05 - 2010 Using Aspects to Support the Software Process.
Using Aspects to Support the Software Process Oren Mishali Using Aspects to Support the Software Process Research Thesis Submitted in partial fulfillment of the requirements for the degree of Doctor of
More informationFundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
More informationAn Exception Monitoring System for Java
An Exception Monitoring System for Java Heejung Ohe and Byeong-Mo Chang Department of Computer Science, Sookmyung Women s University, Seoul 140-742, Korea {lutino, chang@sookmyung.ac.kr Abstract. Exception
More informationJava with Eclipse: Setup & Getting Started
Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/
More informationService-Oriented Architectures
Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems
More informationUsing Object Teams for State-Based Class Testing
Using Object Teams for State-Based Class Testing Bericht-Nr. 2004/10 Dehla Sokenou, Stephan Herrmann ISSN 1436-9915 Using Object Teams for State-Based Class Testing Dehla Sokenou, Stephan Herrmann Abstract
More informationA common framework for aspect mining based on crosscutting concern sorts
A common framework for aspect mining based on crosscutting concern sorts Marius Marin Delft University of Technology The Netherlands A.M.Marin@tudelft.nl Leon Moonen Delft Univ. of Technology & CWI The
More informationAdaptable Access Control for Electronic Medical Records
Adaptable Access Control for Electronic Medical Records Kung Chen a, Yuan-Chun Chang a, and Da-Wei Wang b a Department of Computer Science, National Chengchi University b Institute of Information Science,
More informatione ag u g an L g ter lvin v E ram Neal G g ro va P Ja
Evolving the Java Programming Language Neal Gafter Overview The Challenge of Evolving a Language Design Principles Design Goals JDK7 and JDK8 Challenge: Evolving a Language What is it like trying to extend
More information