How To Understand And Understand Smalltalk
|
|
- Alexander Foster
- 3 years ago
- Views:
Transcription
1 Lessons in Software Evolution Learned by Listening to Smalltalk Oscar Nierstrasz scg.unibe.ch
2 Research Team Adrian Lienhard Adrian Kuhn Fabrizio Perin Lukas Renggli Jorge Ressia David Roethlisberger Niko Schwarz Toon Verwaest Erwann Wernli
3 Roadmap The trouble with change Smalltalk in a Nutshell Taming Software Change Epilogue Bringing Models Closer to Code
4 Roadmap Thetrouble trouble with change The with change Smalltalk in a Nutshell Taming Software Change Epilogue Bringing Models Closer to Code
5 How we enable change Package what is stable Define an interface for configuration
6 A brief history of software packaging
7 The Trouble with Software Change Specifying change Bridging the gap Understanding the system Understanding change Managing change
8 Roadmap The trouble with change Smalltalkinin a Nutshell Smalltalk a Nutshell Taming Software Change Epilogue Bringing Models Closer to Code
9 To thine own self be true Less is More The object model is as simple as possible, but no simpler Reify Everything Everything is an object is applied consistently You can change a Running System Smalltalk models itself, so changing the model changes the system
10 The origins of Smalltalk Alan Kay s Dynabook project (1968) Alto Xerox PARC (1973)
11 Smalltalk architecture Image Changes Virtual machine Sources
12 Everything happens by sending messages First unary, then binary, then keyword: 2 raisedto: factorial 128
13 A typical method Method name Return Argument Comment <= apoint "Answer whether the receiver is neither below nor to the right of apoint." ^ x <= apoint x and: [y <= apoint y] Block Binary message Instance variable Keyword message Unary message (2@3) <= (5@6) true
14 Everything is an object
15 Everything is an object
16 You can change a running system AKA: The Debugger is your Friend
17 Pharo an multi-platform, opensource Smalltalk Pharo by Example. Andrew Black, et al. Square Bracket Associates, 2009.
18 Roadmap The trouble with change Smalltalk in a Nutshell TamingSoftware Software Change Taming Change Epilogue Bringing Models Closer to Code
19 Moose: a platform for reverse engineering
20 Explicit metamodels enable change ConAn Van Hapax... CodeCrawler Smalltalk Extensible meta model Java COBOL C++ Model repository External Parser CDIF XMI Navigation Metrics Querying Grouping Smalltalk The Story of Moose: an Agile Reengineering Environment. Oscar Nierstrasz, Stéphane Ducasse, and Tudor Gîrba. ESEC/FSE 2005
21 Moose visualizations
22 Programming visualizations with CodeCrawler
23 Scripting visualizations with Mondrian Mondrian: An Agile Visualization Framework. Michael Meyer, Tudor Gîrba, and Mircea Lungu. SoftVis 2006
24 Moose a platform for collaborative research
25 Feature inheritance specialization
26 First-class traits enable fine-grained reuse
27 Class = superclass + state + traits + glue Traits provide and require methods The composing class retains control Traits: A Mechanism for fine-grained Reuse. Stéphane Ducasse, Oscar Nierstrasz, Nathanael Schärli, Roel Wuyts and Andrew Black. ACM TOPLAS, March 2006
28 Traits and Classes share common behaviour
29 First-class aliases enable object flow analysis Practical Object-Oriented Back-in-Time Debugging. Adrian Lienhard, Tudor Gîrba, and Oscar Nierstrasz. ECOOP 2008.
30 A back-in-time VM with object flow analysis
31 GC remembers only what is needed
32 How to manage change in a running system? Encapsulating and Exploiting Change with Changeboxes. Marcus Denker, et al. ICDL 2007.
33 First-class changes enable scoped evolution
34 Roadmap The trouble with change Smalltalk in a Nutshell Taming Software Change Epilogue Bringing Models Closer to Code Epilogue Bringing Models Closer to Code
35 Systems that support change need to be model-centric and context-aware Model-centric systems are selfdescribing and can be adapted dynamically Context-aware systems control the scope of change to static or dynamic contexts
Dynamic Analysis. The job of the reverse engineer is similar to the one of the doctor, as they both need to reason about an unknown complex system.
Dynamic Analysis Tudor Gîrba www.tudorgirba.com The job of the reverse engineer is similar to the one of the doctor, as they both need to reason about an unknown complex system. One way to gain insights
More informationStéphane Ducasse. 43 years INRIA Lille Nord Europe- LIFL/USTL - CNRS UMR8022
Stéphane Ducasse Senior Researcher (Directeur de recherche) 43 years INRIA Lille Nord Europe- LIFL/USTL - CNRS UMR8022 mailto:stephane.ducasse@inria.fr + 33 (0)3 20 43 42 56 http://stephane.ducasse.free.fr
More informationCodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool
CodeCrawler An Extensible and Language Independent 2D and 3D Software Visualization Tool Michele Lanza Software Engineering Group Department of Informatics University of Zurich, Switzerland Stéphane Ducasse
More informationJSClassFinder: A Tool to Detect Class-like Structures in JavaScript
JSClassFinder: A Tool to Detect Class-like Structures in JavaScript Leonardo Humberto Silva 1, Daniel Hovadick 2, Marco Tulio Valente 2, Alexandre Bergel 3,Nicolas Anquetil 4, Anne Etien 4 1 Department
More informationSupporting Software Change in the Programming Language
Supporting Software Change in the Programming Language Oscar Nierstrasz and Marcus Denker Software Composition Group University of Bern www.iam.unibe.ch/ scg Keywords: sofware evolution, languages, traits,
More informationBugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs
BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs César Couto 1,2, Pedro Pires 1, Marco Túlio Valente 1, Roberto S. Bigonha 1, Andre Hora 3, Nicolas Anquetil 3 1 Department
More informationMaispion: A Tool for Analysing and Visualising Open Source Software Developer Communities
Maispion: A Tool for Analysing and Visualising Open Source Software Developer Communities François Stephany Université de Mons & agilitic francois.stephany@agilitic.com Tom Mens Université de Mons tom.mens@umons.ac.be
More informationThe Smalltalk Programming Language. Beatrice Åkerblom beatrice@dsv.su.se
The Smalltalk Programming Language Beatrice Åkerblom beatrice@dsv.su.se 'The best way to predict the future is to invent it' - Alan Kay. History of Smalltalk Influenced by Lisp and Simula Object-oriented
More informationRMoD Software Remodularisation
RMoD Software Remodularisation Research Theme: Communicating systems COM A: Project Proposal USTL/LIFL-INRIA 9 June 2007 Stéphane Ducasse 1 Outline! Building on expertise! RMoD! Team! Challenges and objectives!
More informationThe Class Blueprint A Visualization of the Internal Structure of Classes
The Class Blueprint A Visualization of the Internal Structure of Classes Michele Lanza Software Composition Group University Of Bern Bern, Switzerland lanza@iam.unibe.ch Stéphane Ducasse Software Composition
More informationExploiting Dynamic Information in IDEs Eases Software Maintenance
Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland roethlis@iam.unibe.ch Abstract The integrated development
More informationMaispion: A Tool for Analysing and Visualising Open Source Software Developer Communities
Maispion: A Tool for Analysing and Visualising Open Source Software Developer Communities François Stephany University of Mons & agilitic Place du Parc 20 7000 Mons, Belgium francois.stephany@agilitic.com
More informationCodeCrawler Lessons Learned in Building a Software Visualization Tool
CodeCrawler Lessons Learned in Building a Software Visualization Tool Michele Lanza lanza@iam.unibe.ch - Software Composition Group - University of Berne, Switzerland Abstract Software visualization tools
More informationModeling Examples to Test and Understand Software
Modeling Examples to Test and Understand Software Inauguraldissertation der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Markus Gälli von Tübach (SG) Leiter der Arbeit:
More informationGénie Logiciel et Gestion de Projets. Evolution
Génie Logiciel et Gestion de Projets Evolution 1 Roadmap Evolution: definitions Re-engineering Legacy systems Reverse engineering Software Visualisation Re-engineering Patterns 2 Evolution: Definitions
More informationUsing Recovered Views to Track Architectural Evolution
Using Recovered Views to Track Architectural Evolution Tamar Richner Software Composition Group, Institut für Informatik (IAM) Universität Bern, Neubrückstrasse 10, 3012 Berne,Switzerland richner@iam.unibe.ch,
More informationOOP? What is OOP? Why? OOP in a nutshell. Stéphane Ducasse 2.1
OOP? What is OOP? Why? OOP in a nutshell Stéphane Ducasse 2.1 Reality on Software Development Analyze Maintain Design Construct Test What is important? maintainability extensibility understandability Stéphane
More informationHow To Create A Visualization In Java 2D With A Model Of A Class Diagram In A Programmable Model (Programmer)
Scripting Interactive Visualizations Masterarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Michael Meyer im November 2006 Leiter der Arbeit Prof. Dr. Oscar
More informationShrew A Prototype for Subversion Analysis
Technical Report Shrew A Prototype for Subversion Analysis Philipp Bunge Supervised by: Tudor Gîrba University of Bern, Switzerland Software Composition Group February 2007 Abstract With the growth of
More informationHigh-Level Views in Object-Oriented Systems using Formal Concept Analysis
High-Level Views in Object-Oriented Systems using Formal Concept Analysis Inauguraldissertation der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Gabriela Beatriz Arévalo
More informationAspect-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 informationdynamically typed languages Seaside: A Flexible Environment for Building Dynamic Web Applications
focus dynamically typed languages Seaside: A Flexible Environment for Building Dynamic Web Applications Stéphane Ducasse, Université de Savoie Adrian Lienhard and Lukas Renggli, University of Bern, Switzerland
More informationSoftware Visualization Tools for Component Reuse
Software Visualization Tools for Component Reuse Craig Anslow Stuart Marshall James Noble Robert Biddle 1 School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New
More informationFlexible Object Layouts: enabling lightweight language extensions by intercepting slot access
Flexible Object Layouts: enabling lightweight language extensions by intercepting slot access Toon Verwaest, Camillo Bruni, Mircea Lungu, Oscar Nierstrasz To cite this version: Toon Verwaest, Camillo Bruni,
More informationJava Wiretap. Extracting Feature Execution Models for Reverse Engineering
Java Wiretap Extracting Feature Execution Models for Reverse Engineering Julien Fierz Supervised by: Orla Greevy University of Bern, Switzerland Software Composition Group June 2007 Wiretap is a profiler
More informationOrionPlanning: Improving Modularization and Checking Consistency on Software Architecture
OrionPlanning: Improving Modularization and Checking Consistency on Software Architecture Gustavo Santos, Nicolas Anquetil, Anne Etien, and Stéphane Ducasse RMoD Team INRIA, Lille, France {firstname.lastname}@inria.fr
More informationA Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
More informationSeaside Dynamic Language Power for Web Development
Seaside Dynamic Language Power for Web Development Stéphane Ducasse a Adrian Lienhard b Lukas Renggli b a Language and Software Evolution Group, Université de Savoie, France b Software Composition Group,
More informationUnderstanding Software Static and Dynamic Aspects
Understanding Software Static and Dynamic Aspects Welf Löwe IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe Germany loewe@ira.uka.de Andreas Ludwig IPD, Universität Karlsruhe PF 6980, 76128 Karlsruhe
More informationGrouping in Object-Oriented Reverse Engineering
Grouping in Object-Oriented Reverse Engineering Diplomarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Daniele Talerico 2003 Leiter der Arbeit: Michele Lanza
More informationRepresenting Code History with Development Environment Events
Representing Code History with Development Environment Events Martín Dias Damien Cassou Stéphane Ducasse RMoD Inria Lille Nord Europe University of Lille Lifl Abstract Modern development environments handle
More informationMondrian: An Agile Information Visualization Framework
Mondrian: An Agile Information Visualization Framework In Proceedings of ACM Symposium on Software Visualization (SoftVis 2006) Michael Meyer Software Composition Group University of Bern, Switzerland
More informationMcGraw-Hill The McGraw-Hill Companies, Inc., 20 1. 01 0
1.1 McGraw-Hill The McGraw-Hill Companies, Inc., 2000 Objectives: To describe the evolution of programming languages from machine language to high-level languages. To understand how a program in a high-level
More informationSoftware visualization. Why visualization?
Software visualization Tudor Gîrba www.tudorgirba.com Software Visualization is the use of typography, graphic design, animation, and cinematography with human-computer interaction and computer graphics
More informationA Categorization of Classes based on the Visualization of their Internal Structure: the Class Blueprint
A Categorization of Classes based on the Visualization of their Internal Structure: the Class Blueprint Michele Lanza Software Composition Group University Of Bern Bern, Switzerland lanza@iam.unibe.ch
More informationContents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
More informationNatural Language Checking with Program Checking Tools
Natural Language Checking with Program Checking Tools Fabrizio Perin Lukas Renggli Jorge Ressia Software Composition Group, University of Bern, Switzerland http://scg.unibe.ch/ Abstract Written text is
More informationPattern-based Program Visualization
Pattern-based Program Visualization Daniela da Cruz 1, Pedro Rangel Henriques 1, and Maria João Varanda Pereira 2 1 University of Minho - Department of Computer Science, Campus de Gualtar, 4715-057, Braga,
More informationSoftware Bugs and Evolution: A Visual Approach to Uncover Their Relationship
Software Bugs and Evolution: A Visual Approach to Uncover Their Relationship Marco D Ambros and Michele Lanza Faculty of Informatics University of Lugano, Switzerland Abstract Versioning systems such as
More informationEvolution of the Major Programming Languages
142 Evolution of the Major Programming Languages Object Oriented Programming: Smalltalk Object-Oriented: It s fundamental characteristics are: Data abstraction, Inheritance and Dynamic Binding. The essence
More informationA Modern Objective-C Runtime
A Modern Objective-C Runtime Vol. 8, No. 1, January February 2009 David Chisnall In light of the recent modifications to the de facto standard implementation Objective- C language by Apple Inc., the GNU
More informationProgram Understanding in Software Engineering
Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert
More informationLessons Learned in Applying Formal Concept Analysis to Reverse Engineering
Lessons Learned in Applying Formal Concept Analysis to Reverse Engineering Gabriela Arévalo, Stéphane Ducasse and Oscar Nierstrasz Software Composition Group University of Bern, Switzerland www.iam.unibe.ch/
More informationWhat is a programming language?
Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there
More informationThe leading platform for Model Driven Architecture (MDA) Content:
The leading platform for Model Driven Architecture (MDA) Content: Models Made for Business... 2 ArcStyler Overview... 2 Main Benefits... 3 ArcStyler Editions... 4 ArcStyler Modules and Tool Architecture...
More informationAn Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
More informationSAPM Overview Semester Summary
SAPM Overview Semester Summary Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar In this lecture we review the topics we have covered this semester, focusing on what I consider
More informationWhat s New in VMware vsphere 5.1 VMware vcenter Server
What s New in VMware vsphere 5.1 VMware vsphere 5.1 TECHNICAL MARKETING DOCUMENTATION V 1.0/UPDATED JULY 2012 Table of Contents Introduction... 3 Key Components... 3 vcenter Single Sign-On Server.... 3
More informationSoftware Visualization and Model Generation
Software Visualization and Model Generation Erik Doernenburg Software Developer ThoughtWorks, Inc. Gregor Hohpe Software Engineer Google, Inc. Where are the most defects? 2006 Erik Doernenburg & Gregor
More informationSAPM Overview. Semester Summary. Project management. Tools (1) Dr. James A. Bednar
SAPM Overview Semester Summary Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar In this lecture we review the topics we have covered this semester, focusing on what I consider
More informationSoftware Analysis Visualization
28th International Conference on Software Engineering Software Analysis Visualization Harald Gall and Michele Lanza !oftware Visualiza"o# Tutorial F7 Software Evolution: Analysis and Visualization 2006
More informationOn Porting Software Visualization Tools to the Web
Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) On Porting Software Visualization Tools to the Web Marco D Ambros 1, Michele Lanza 1, Mircea Lungu 2, Romain Robbes
More informationPattern-based Program Visualization
Proceedings of the International Multiconference on Computer Science and Information Technology pp. 1025 1036 ISSN 1896-7094 c 2007 PIPS Pattern-based Program Visualization Daniela da Cruz 1, Pedro Rangel
More informationBugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests
Couto et al. Journal of Software Engineering Research and Development 2014, 2:1 SOFTWARE Open Access BugMaps-Granger: a tool for visualizing and predicting bugs using Granger causality tests Cesar Couto
More informationSemi-Automatic Generation of Monitoring Applications for Wireless Networks
Semi-Automatic Generation of Monitoring Applications for Wireless Networks André Lins, Eduardo F. Nakamura, Lincoln S. Rocha, Antônio A.F. Loureiro, Claudionor J.N. Coelho Jr. Department of Technological
More informationGoals, Processes, and Development Effort
Pharo s Vision Goals, Processes, and Development Effort http://www.pharo-project.org Stéphane Ducasse stephane.ducasse@inria.fr Marcus Denker marcus.denker@inria.fr Damien Pollet damien.pollet@inria.fr
More informationSupporting Simultaneous Versions for Software Evolution Assessment
Supporting Simultaneous Versions for Software Evolution Assessment Jannik Laval a, Simon Denier a, Stéphane Ducasse a, Jean-Rémy Falleri a a RMoD Team, INRIA Lille - Nord Europe, France, http://rmod.lille.inria.fr
More informationSoftware Evolution Analysis & Visualization
Software Evolution Analysis & Visualization Harald C. Gall s.e.a.l. - software evolution & architecture lab University of Zurich, Switzerland http://seal.ifi.uzh.ch/gall University of Zurich Department
More informationHow To Apply Software Archeology To Your Development Process
How To Apply Software Archeology To Your Development Process Presented for: EclipseCon 2008 Thursday, March 13, 2008 Michael Rozlog michael.rozlog@codegear.com CodeGear Who is Mike? You just said that
More informationWeb Application Development
Web Application Development Approaches Choices Server Side PHP ASP Ruby Python CGI Java Servlets Perl Choices Client Side Javascript VBScript ASP Language basics - always the same Embedding in / outside
More informationGadget: A Tool for Extracting the Dynamic Structure of Java Programs
Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Juan Gargiulo and Spiros Mancoridis Department of Mathematics & Computer Science Drexel University Philadelphia, PA, USA e-mail: gjgargiu,smancori
More informationParis, October 5 2007 ICSM 2007 Working Session. Francesca Arcelli Fontana
Paris, October 5 2007 ICSM 2007 Working Session Francesca Arcelli Fontana RE4APM RE University Industry APM Clients Reverse Engineering The process of analyzing a subject system to (i) identify the system
More informationFunctional Programming
FP 2005 1.1 3 Functional Programming WOLFRAM KAHL kahl@mcmaster.ca Department of Computing and Software McMaster University FP 2005 1.2 4 What Kinds of Programming Languages are There? Imperative telling
More informationMagritte. Meta-Described Web Application Development. Masterarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern
Magritte Meta-Described Web Application Development Masterarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Lukas Renggli Juni 2006 Leiter der Arbeit Prof. Dr.
More informationComprensione del software - principi base e pratica reale 5
Prologue C era una volta Comprensione del software - principi base e pratica reale Reverse engineer 1 200 000 lines of C++ code in ca. 2300 classes * 2 = 2 400 000 seconds / 3600 = 667 hours 667 hours
More informationModern Software Development Tools on OpenVMS
Modern Software Development Tools on OpenVMS Meg Watson Principal Software Engineer 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Topics
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 informationNXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms
NXTware Remote Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms Gerrit Woertman CTO OpenVMS Business Generating Software gerrit@bgsoftware.nl +31 6 51341600 Introduction
More informationSOA and the Organization
SOA and the Organization Nicolai M. Josuttis IT-communication.com 12/07 1 2 Independent consultant continuously learning since 1962 Nicolai Josuttis Systems Architect, Technical Manager finance, manufacturing,
More informationComputer Information Systems (CIS)
Computer Information Systems (CIS) CIS 113 Spreadsheet Software Applications Prerequisite: CIS 146 or spreadsheet experience This course provides students with hands-on experience using spreadsheet software.
More informationDesign Patterns for Rapid Visualization Prototyping
Design Patterns for Rapid Visualization Prototyping Mark Giereth and Thomas Ertl Visualization and Interactive Systems Institute, University of Stuttgart {giereth,ertl}@vis.uni-stuttgart.de Abstract In
More informationzen Platform technical white paper
zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant
More informationVISUALIZATION APPROACH FOR SOFTWARE PROJECTS
Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE
More informationJava (12 Weeks) Introduction to Java Programming Language
Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short
More informationJOB DESCRIPTION APPLICATION LEAD
JOB DESCRIPTION APPLICATION LEAD The Application Lead will provide functional support and to expand capabilities in the area of systems configuration. This function provides the initial step in the process
More informationTowards the Integration of Versioning Systems, Bug Reports and Source Code Meta-Models
Towards the Integration of Versioning Systems, Bug Reports and Source Code Meta-Models Giuliano Antoniol 1 Massimiliano Di Penta 2 Harald Gall 3 Martin Pinzger 4 1,2 RCOST - Research Centre on Software
More informationJava Technology in the Design and Implementation of Web Applications
Java Technology in the Design and Implementation of Web Applications Kavindra Kumar Singh School of Computer and Systems Sciences Jaipur National University Jaipur Abstract: This paper reviews the development
More informationResearch Topics in Software Composition
Research Topics in Software Composition 1 Oscar Nierstrasz University of Berne 2 Abstract. Traditional software development approaches do not cope well with the evolving requirements of open systems. We
More informationThe Phases of an Object-Oriented Application
The Phases of an Object-Oriented Application Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 1, No. 5 By: Rebecca J. Wirfs-Brock There is never enough time to get it absolutely, perfectly
More informationEvaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
More informationCompiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding
Compiling Object Oriented Languages What is an Object-Oriented Programming Language? Last time Dynamic compilation Today Introduction to compiling object oriented languages What are the issues? Objects
More informationMining a Change-Based Software Repository
Mining a Change-Based Software Repository Romain Robbes Faculty of Informatics University of Lugano, Switzerland 1 Introduction The nature of information found in software repositories determines what
More informationGénie Logiciel et Gestion de Projets. Patterns
Génie Logiciel et Gestion de Projets Patterns 1 Alexander s patterns Christoffer Alexander The Timeless Way of Building, Christoffer Alexander, Oxford University Press, 1979, ISBN 0195024028 Each pattern
More informationParsing by Example. Diplomarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern. vorgelegt von.
Parsing by Example Diplomarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Markus Kobel März 2005 Leiter der Arbeit: Prof. Dr. Oscar Nierstrasz Prof. Dr. Horst
More informationBUILDING OLAP TOOLS OVER LARGE DATABASES
BUILDING OLAP TOOLS OVER LARGE DATABASES Rui Oliveira, Jorge Bernardino ISEC Instituto Superior de Engenharia de Coimbra, Polytechnic Institute of Coimbra Quinta da Nora, Rua Pedro Nunes, P-3030-199 Coimbra,
More informationDistributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
More informationMobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
More informationEnterprise Architecture Process, Structure and Organization
Organizational development Enterprise Process, Structure and Organization t-eam* - a framework derived from project experience Dipl.-Inform. Klaus D. Niemann Managing Director...act! consulting GmbH Glockengießerwall
More informationThe PECOS Software Process
The PECOS Software Process Michael Winter 2, Christian Zeidler 1, Christian Stich 1 PECOS is a collaborative project between industrial and research partners that seeks to enable component-based technology
More informationHTTP Fundamentals. Sven Van Caekenberghe http://stfx.eu. Il y a une vie après Ruby on Rails : Web 3.0 avec Pharo EuraTechnologies, Lille 2013-06-06
HTTP Fundamentals Sven Van Caekenberghe http://stfx.eu Il y a une vie après Ruby on Rails : Web 3.0 avec Pharo EuraTechnologies, Lille 2013-06-06 software as a service vehicle trace & track and fleet management
More informationMigrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique
Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Hyeon Soo Kim School of Comp. Eng. and Software Eng., Kum Oh National University
More informationARCHITECTURE FOR INDUSTRIAL MONITORING SYSTEMS
ARCHITECTURE FOR INDUSTRIAL MONITORING SYSTEMS Assoc.Prof.Dr.Eng. Sorin Aurel MORARU MSc.Eng.Drd. Adrian PELCZ Senior Lecturer Drd.Eng. Liviu PERNIU Assoc.Prof.Dr.Eng. Adrian CRACIUN Automatics Department,
More informationQuality Validation for Mobile Embedded Software
International Journal of Advanced Science and Technology 43 Quality Validation for Mobile Embedded Software Haeng-Kon Kim 1, Roger Y Lee 2 1 Dept. of Computer information & Communication Engineering Catholic
More informationXXI. Object-Oriented Database Design
XXI. Object-Oriented Database Design Object-Oriented Database Management Systems (OODBMS) Distributed Information Systems and CORBA Designing Data Management Classes The Persistent Object Approach The
More informationThe Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1
The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose
More informationMiniDraw Introducing a framework... and a few patterns
MiniDraw Introducing a framework... and a few patterns What is it? [Demo] 2 1 What do I get? MiniDraw helps you building apps that have 2D image based graphics GIF files Optimized repainting Direct manipulation
More informationSoftware Engineering & Architecture
Software Engineering & Architecture 11. QUALITY METRICS AND VISUALIZATION Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems References Some
More informationImprovement of Software Quality and Productivity Using Development Tools
Improvement of Software Quality and Productivity Using Development Tools V Hideo Abotani V Tomoki Shiratori V Kouji Sasaki V Masaki Tonomura (Manuscript received March 24, 2006) Information systems, which
More informationCopyright 1997 by Alec Sharp PDF-Conversion by Lukas Renggli Download more free Smalltalk-Books at: The University of Berne:
Copyright 1997 by Alec Sharp PDF-Conversion by Lukas Renggli Download more free Smalltalk-Books at: The University of Berne: http://www.iam.unibe.ch/~ducasse/webpages/freebooks.html European Smalltalk
More informationWhich Enterprise Architect Edition Should I Purchase?
Which Enterprise Architect Edition Should I Purchase? Enterprise Architect is available in six editions -,, and Software, Corporate, Professional and Desktop. Functionality for each edition is as follows:.eap
More information