MoDELS 2005 – Jamaica OO – What a Woonderful Woorld 6-Jan-06 OMS-seminaret 1 Trends from MoDELs 2005 Numbers: 40+6 / 166 papers, 175 participants Domain Specific Languages – two key note speeches on DSL (and sponsorship from MicroSoft) Douglas C. Schmidt, Vanderbilt + Juha-Pekka Tolvanen, MetaCase OO – What a Woonderful Woorld Aspects / Crosscutting concerns – Domain Models are Aspect Free (F. Steimann) Best paper – Modeling Crosscutting Services with UML Sequence Diagrams Ingolf Krueger Educators’ Symposium – Teaching UML 2 is still not very common Workshops – In MoDELs the workshops are almost small conferences – 2 best of each in an LNCS volume 6-Jan-06 OMS-seminaret 2 SPLC 2005 – Rennes (Frankrike) OO – What a Woonderful Woorld 6-Jan-06 OMS-seminaret 3 SPLC 2005 - Software Product Line Conference Change is Good – you go first OO – What a Woonderful Woorld – det var kanskje en litt oppgitt erfaring at på tross av mange gode case studies etc., så er bedrifter tilbakeholdende med å satse på product line teknologi – Likner litt på SISU / SDL arbeidet vårt, og på UML arbeidet vårt, og på Simula i sin tid DSL (Domain Specific Languages) her også – Nokia – hva gjør egentlig de? – har skaffa seg Jan Bosch – satser på open source – men er skeptisk til standardisering Mye prosess, noe modell, noe armveiving God respons på Birgers foredrag! 6-Jan-06 OMS-seminaret 4 SPLC - 2005 A reference model for comparing approaches to the modeling of system families/product lines What should such a reference model do? OO – What a Woonderful Woorld – Obviously tell how an approach handles variations, – but, equally important, how an approach covers commonalities – and requirements to systems development in general, e.g. Analyzability (can system family models be analyzed?) Support for iterative development (partial family models)? Maintenance, evolution (what about not-foreseen features?) 6-Jan-06 OMS-seminaret 5 SPLC - 2005 Approaches – Framework/Configuration ”dette er bare implementasjon/design, og hører ikke hjemme i en modell av en klokke!” OO – What a Woonderful Woorld – Family-as-the-union-of-all-systems – Domain Specific Languages Det ble ikke vel mottatt av DSL-fortalere at det ikke var noen systemfamiliemodell der. 6-Jan-06 OMS-seminaret 6 Generic Specific Speaker PolyphonicSpeaker 6-Jan-06 OO – What a Woonderful Woorld Commonalities captured as a framework with default architecture and default behavior PlainSpeaker Based on mechanisms of standard languages (composition, specialization, generics) OMS-seminaret 7 Can the system family model be analyzed? Family-as-the-unionof-all-systems Domain Specific Languages Yes No No as the family model is also a valid system model with default structure and behavior as the family model with all variations and all annotations is not necessarily a valid system model 6-Jan-06 OMS-seminaret OO – What a Woonderful Woorld Framework/ Configuration as there is no system family model, however, the language may be analyzed 8 OOPSLA 2005 Det er fremdeles ugjorte ting innen programmeringsspråk (generics, traits, aspects, etc)– kanskje derfor ikke så mye modellering på OOPSLA Panel om aspekter: Passing Fad or New Foundation? OO – What a Woonderful Woorld – Bekreftet problemstillingen i SWAT – Husk å lese hva du selv skriver! Panel (Booch, Constantine, Beck, Wirfs-Brock, Yourdon) – Grady Booch kom til å si at han kastet sine UML modeller! David Reed: Designing Croquet’s TeaTime - A Real-time, Temporal Environment for Active Object Cooperation – ”objects, behave” – non-synchronized communication Grady Booch: On Creating a Handbook of Software Architecture – Samler sammen erfaringer omkring arkitektur fra en rekke vellykte prosjekter (ikke mislykte) 6-Jan-06 OMS-seminaret 9 Noen inntrykk fra OOPSLA’05 San Diego, California OMS-seminar 30. november 2005 Stein Krogdahl General Chair: Ralph Johnson Univ. of Illinois Program Chair: Richard P. Gabriel Antall Deltakere: ca 1200 Mange fra Skandinavia: ca 60. Fra Norge: ca 25. Neste års OOPSLA: Portland, Oregon, 22-26 oktober General Chair: Peri Tarr, IBM Research Program chair: William Cook: Univ. og Texas, Austin 06.01.2006 10 Oversikt over Workshops I • • • • • • • • • • • • Apprenticeship Pedagogical Patterns: Pam Rostal, David West, Joseph Bergin, Jutta Eckstein, Mary Lynn Manns, Linda Rising Best Practices for Model Driven Software Development: Jorn Bettin, Ghica van Emde Boas, Jean Bézivin, Markus Voelter, William Cook Beyond the Project Myth - Agile Development and Product Environments: Jens Coldewey, Martin Lippert, Klaus Marquardt Building Software for Pervasive Computing: Cristina Lopes, Steffen Schaefer, Siobhan Clarke, Tzilla Elrad, Jens Jahnke Early Aspects: Elisa Baniassad, Joao Araujo, Paul Clements, Paulo Merson Eclipse Technology eXchange (ETX) 2005--Day 1: Margaret-Anne Storey, Michael Burke, Li-Te Cheng, Andre van der Hoek Extravagaria III: Hunting Creativity: Richard Gabriel, John Gribble Fostering Software Reliability in an Increasingly Hostile World: Dennis Mancl, Steven Fraser, Amir Zeid, Greg Utas Fourth "Killer Examples" for Design Patterns and Objects First Workshop: Carl Alphonce, Stephen Wong, Michael Caspersen, Adrienne Decker Library-centric software design: David Musser, Andrew Lumsdaine, Jaakko Jarvi, Sibylle Schupp, Todd Veldhuizen Third Workshop on Method Engineering for Object-Oriented and Component-Based Development: Magdy Serour, Donald Firesmith, Pavel Hruby, Brian Henderson-Sellers, Dan Rawsthorne, Bernhard Rumpe, Cesar Gonzalez-Perez, Hadar Ziv Synchronization and concurrency in object-oriented languages (SCOOL): Tim Harris, Doug Lea, David F. Bacon, Keir Fraser, Maurice Herlihy, Michael Hicks, Tony Hosking, Gary 06.01.2006 11 Lindstrom, Victor Luchangco, John Potter, Ravi Rajwar, Michael L Scott Oversikt over Workshops II • • • • • • • • • • Croquet: A Platform for Collaboration: Alan Kay, Julian Lombardi, Mark McCahill, Rick McGeer, Andreas Raab, David P. Reed, David A. Smith Eclipse Technology eXchange (ETX) 2005--Day 2: Margaret-Anne Storey, Michael Burke, Li-Te Cheng, Andre van der Hoek The 5th OOPSLA Workshop on Domain-Specific Modeling: Juha-Pekka Tolvanen, Jonathan Sprinkle, Matti Rossi, Birger Møller Pedersen International Workshop on Software Factories Jack Greenfield, Steve Cook, Krzysztof Czarnecki, Jeff Gray, Michael Stal, Gabor Karsai, Markus Voelter, Don Batory, Brian Henderson-Sellers, Cesar Gonzalez-Perez Fourth International Workshop on Agent-Based Methodologies: Cesar Gonzalez-Perez, Paolo Bresciani, Monique Calisti, John Debenham, Paolo Giorgini, Ian Gorton, Brian Henderson-Sellers, Graham Low Java Technologies for Real-Time and Embedded Systems: Greg Bollella, Angelo Corsaro, Peter Dibble, Doug Lea, Corrado Santoro, Jan Vitek, Andy Wellings Multiparadigm Programming in Object-Oriented Languages: Kei Davis, Joerg Striegnitz, Gavin Bierman, Timothy Budd, Jaakko Jarvi, Herbert Kuchen, Peter Van Roy Third Int'l Workshop on SOA and Web Services Best-practices: Ali Arsanjani, Kerrie Holley, Amir Zeid Scrapheap Challenge—A Workshop in Post-Modern Programming: Ivan Moore, Nat Pryce MVCDC 2: Managing Variabilities consistently in Design and Code: Christa Schwanninger, Danilo Beuche, Markus Voelter, Krzysztof Czarnecki, Mira Mezini, Rainer 12 06.01.2006 Burgstaller Workshops jeg var innom • Early Aspects: Elisa Baniassad, Joao Araujo, Paul Clements, Paulo Merson – – – – • Early Aspects er altså å arbeide med ”crosscutting concerns” i de tidlige fasene av software produksjon, også når man innhenter krav og ønsker. Før man har noen struktur er på en måte alt ”crosscutting” til alt annet. Det hele virket lite fast i fisken, men … Ivar Jacobson har skrevet en bok om dette: ”Early Aspects = Use Cases” e.l. Bra?? The 5th OOPSLA Workshop on Domain-Specific Modeling: Juha-Pekka Tolvanen, Jonathan Sprinkle, Matti Rossi, Birger Møller Pedersen – – – – Det dreier seg om modellering sent i prosessen, slik at de ønsker å kunne generere kode ut fra modellen Det dreier seg altså om grafiske programmeringsspråk Jeg foreslo at en blanding av tekst og grafikk måtte være en fornuftig ting, men det slo ikke an. De ville rendyrke sin grafikk for formålet. De var lite interessert i UML-aktige notasjoner 06.01.2006 13 Oversikt over Tutorials I WT1 Getting Started with Wikis: Sunir Shah WT2 The Wikipedia Experience (Cancelled): Jimmy Wales WT3 Using Wikis in Software Development: Jack Bolles GP1 How has the arts, sports or life stimulated, inspired and informed your work in computer science?: George Platts GP2 Querdenking: Can creativity be taught?: George Platts 1 Patterns in Functional Programming: Jeremy Gibbons 2 Tuning Your Methodology to You: Alistair Cockburn 3 Enterprise Aspect-Oriented Programming with AspectJ: Ronald Bodkin 4 Code Smells: Ken Scott-Hlebek 5 Adding Software Testing to Programming Assignments: Stephen Edwards 6 Working Effectively with Legacy Code: Michael Feathers 7 Generative Software Development: Krzysztof Czarnecki 8 Adaptive Object-Model Architecture: Joseph Yoder 9 Steps to an Agile Frame of Mind - the First Three Hours: Alistair Cockburn 10 The Six Million Dollar Customer: Angela Martin, Robert Biddle, James Noble 11 Teaching Java: An Eventful Approach: Kim Bruce 12 Use Cases Are Early Aspects: Ivar Jacobson, Pan-Wei Ng 13 The Common Lisp Object System: Generic Functions and Metaobject Protocol: Pascal Costanza 14 A Tour of Responsiblity-Driven Design: Rebecca Wirfs-Brock 15 Storytest-Driven Development: Max Baumann, Ken Scott-Hlebek 06.01.2006 14 Oversikt over Tutorials II 16 Hands On AspectJ Development for Enterprise: Ron Bodkin 17 Essential Object-Oriented Analysis and Design: Jill Aden, Joseph Brennan 18 Software Factories: Jack Greenfield, Steve Cook 19 Java Reflection: Ira Forman, Nate Forman 20 Introduction to Concurrent Programming in Java 5.0: David Holmes, Brian Goetz 21 Agile Requirements: Jennitta Andrea, Geoff Hardy 22 Extending the Standard Widget Toolkit - how to create your own widgets: Veronika Irvine, Steve Northover 23 Foundations of object-oriented languages: Types and Language Design: Kim Bruce 24 Use-case patterns and blueprints: Gunnar Overgaard, Karin Palmkvist 25 Effective Interface Design: Kevlin Henney 26 Merciless Refactoring with Eclipse: Martin Lippert 27 Functional Acceptance Testing: The Essentials: Jennitta Andrea 28 Programming without a Call Stack - Event-Driven Architectures in Action: Gregor Hohpe 29 Find Your Voice: Gail E. Harris 30 Effective Concurrent Programming with Java 5.0: David Holmes, Tim Peierls, Brian Goetz, Joe Bowbeer 31 STL Patterns: A Design Language of Generic Programming: Kevlin Henney 32 Domain-Driven Design: Putting the Model to Work: Eric Evans 33 Large-Scale Software Architecture: A Practical Guide Using UML: Jeff Garland, Richard Anthony 34 Eclipse Modeling Framework (EMF): Marcelo Paternostro 06.01.2006 15 Oversikt over Tutorials III 35 Mastering UML with Stable Software Patterns: Mohamed Fayad, Haitham Hamza 36 Pattern-Oriented Software Architecture: Douglas Schmidt 37 Organizational Patterns: Beyond Agility to Effectiveness: Neil B. Harrison, James O. Coplien 38 PHP/MySQL for Community Programming: Ghica van Emde Boas 39 First-Aid Clinic for Change Agents: Linda Rising, Mary Lynn Manns 40 Agile Software Development in the Large: Jutta Eckstein 41 DocIt!: Agile Documentation of Object-oriented Frameworks: Ademar Aguiar 42 Robust Communications Software: Greg Utas 43 Creating and Protecting Software Intellectual Property Rights: Dion Messer 44 Making RUP Agile: Michael Hirsch 45 The Eclipse Debug Framework: Bjorn Freeman-Benson, Darin Wright 46 Models and Aspects: How to use MDSD and AOSD together: Markus Voelter, Martin Lippert 47 Challenges in Object-Relational Mapping: Alan Knight 48 Building Service-Oriented Architectures with Web Services: Olaf Zimmermann, Mark Tomlinson 49 Agile User Experience Design: Jeff Patton 50 The C# Programming Language: Mads Torgersen 51 An Architects Guide to Enterprise Integration with J2EE and .NET: Ian Gorton, Anna Liu 52 Pattern Languages Hands-On: Maria Kavanagh, Alan O'Callaghan 5306.01.2006 An Introduction to Requirements Engineering: Brian Berenbach 16 Diskusjons-paneler • Aspects: Passing Fad or New Foundation? Steve Berczuk (Chair), Matthew Webster, Jack Greenfield, Ivar Jacobson, Gregor Kiczales, Dave Thomas – De var merkelig enige om at AOP var kommet for å bli, men at det neppe hadde funnet sin endelige form. Dave Thomas uttrykte liknende tanker som ligger bak SWAT. • Fostering Software Robustness in an Increasingly Hostile World Steven Fraser (Chair), Djenana Campara, Carl Chilley, Richard Gabriel, Ricardo Lopez, Dave Thomas, Greg Utas • The Agile Panel Linda Rising (Chair), Mary Lynn Manns (Chair), Angela Martin, Kevlin Henney, Alan O'Callaghan, Rebecca Wirfs-Brock • Echoes: Structured Design and Modern Software Practice Steven Fraser (Chair), Kent Beck, Grady Booch, Larry Constantine, Brian Henderson-Sellers, Steve McConnell, Rebecca Wirfs-Brock, Ed Yourdon • Living With Legacy: Love It or Leave It? Steve Berczuk (Chair), Steven Fraser, Bill Opdyke, Michael Feathers, Dennis Mancl 06.01.2006 17 Inviterte foredrag • Creativity Robert Hass – • Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas Gerald Jay Sussman – • • • Litt forunderlig stil. Snakket mest om ”separation of concerns”. Ikke revolusjonerende On Creating a Handbook of Software Architecture Grady Booch – • Skulle jeg gjerne vært på … Designing Croquet's TeaTime - A Real-time, Temporal Environment for Active Object Cooperation David P. Reed Finding God Design Martin Fowler – • Er poet (!), og snakket om kreativitet ut fra det. Om å observere når man selv er kreativ, og forsøke å sette seg i slike situasjoner og legge forholdene til rette. Gå en tur? Var dessverre etter at jeg måtte dra, men det skal ha vært interessant … Wikipedia in the Free Culture Revolution Jimmy Wales Onward! Keynote: The End of Users 06.01.2006 Mary Beth Rosson 18 Oversikt over sesjoner og noen foredrag • Type Types Michael Kölling (Session Chair) – Associated Types and Constraint Propagation for Mainstream Object-Oriented Generics Jaakko Järvi, Jeremiah Willcock, Andrew Lumsdaine – Scalable Component Abstractions Martin Odersky, Matthias Zenger • • Analysis Analyzed Dave West (Session Chair) Archetypal Architectures Karl Lieberherr (Session Chair) – Parametric Polymorphism for Software Component Architectures Cosmin Oancea, Stephen Watt • Language Lingo William Cook (Session Chair) – Classbox/J: Controlling the Scope of Change in Java Alexandre Bergel, Stéphane Ducasse, Oscar Nierstrasz • • • • • Adaptation Adapted Andrew P. Black (Session Chair) Machine Machinery David F. Bacon (Session Chair) Tracing Traces Cristina Videira Lopes (Session Chair) Concurrency || Concurrency Dirk Riehle (Session Chair) Exceptional Exceptions Dave Thomas (Session Chair) – PolyD: A Flexible Dispatching Framework Antonio Cunei, Jan Vitek 06.01.2006 19 Hawaii – and all that (SMC- 2005) Eget foredrag SMC – Vekt på helheten i Engineering – – – – Hvordan lage et stort prosjekt (og alle komponenter under dette) Fussy logic, Petri Net,... grupperinger Eks. Svært mange fordrag om USAs siste Mars-ekspedisjoner OG Stjernekrig: Hvordan utplassere 10 anti-rakett-raketter i hver av et antall lavbane-satelitter slik at det altid er en som kan skyte ned en rakett fra eksempelvis Nord-Korea, Iran eller Kina. Hvor mange slike satelitter trenger vi egentlig ? ( 30 sek. betenkningstid + 150 sek fra avfyring til treff.) Hawaii – faktisk brukbart som ferieopplevelse 1/6/2006IEEE SMC 2005 11th Oct 2005 20 1/6/2006IEEE SMC 2005 11th Oct 2005 21 OBS-foredraget: Total traffic on link 5-6 when sending additional small packets, as a function of the ingress load 1.12 Traffic rate (Base case = 1) Low -FDL 1.10 Low 1.08 Same QoS 1.06 1.04 1.02 1.00 0.98 0.96 0.10 0.15 0.20 0.25 0.30 0.35 Ingress load 1/6/2006IEEE SMC 2005 11th Oct 2005 22 1/6/2006IEEE SMC 2005 11th Oct 2005 23 1/6/2006IEEE SMC 2005 11th Oct 2005 24 1/6/2006IEEE SMC 2005 11th Oct 2005 25 Snorkling + kråkebolle