The keynote talk of MODULARITY:aosd•13 titled with "Motherhood and Apple Pie: Modularity in Modern Applications and Tools to Support It" by Steven P. Reiss http://aosd.net/2013/keynotes.html#Reiss
Problems } Unlock • In update AST structure • { Clear problems } Update tree { Update problems } • Update Problems • Maintain the set of active problems • Remove styles for nonexistent problems • Add squiggle styles for new/cleared problems • When drawing text w/ squiggle style • Use squiggle paint to underline text 3/22/13 Page 12
interacting processes Unknown control flow • Multiple threads running at once • Callback orders Our issues are dynamic • We want modularity to reflect the dynamics 3/22/13 Page 15
• Multiple processes • Multiple machines • External code (calendar, obexftp) Part of the program is data • Passed between applications • Representing the rule set 3/22/13 Page 19
Database is a system component Web application has its own constraints • Front end: HTML, JavaScript, CSS • Back end: JavaScript (Node.JS) 3/22/13 Page 24
keeping transforms simple to write • While keeping transforms independent • While keeping it easy to add transforms We must modularize transform dynamics • Not their coding 3/22/13 Page 30
modular views of a system • That can be build dynamically Modularization Techniques • Show individual functions or components • Use elision within the components • Include all types of software artifacts • Allow save/restore of working sets 3/22/13 Page 48
significant subtasks • Find Threads and tasks • Find Thread Queues • Based on programmer’s problem definition Provide customized time-based views 3/22/13 Page 62
inter-relation of the parts of a software package • Modularity is designing a system that is divided into a set of functional units (named modules) that can be composed into a larger application. A module represents a set of related concerns. It can include a collection of related components, such as features, views, or business logic, and pieces of infrastructure, such as 3/22/13 Page 68
documentation, design notes, requirements, … • What is a concern? • Whatever we need to look at • For coding, debugging, understanding, … 3/22/13 Page 69