.Open Bibliography Richard J Botting A Bibliography of software development 1984..2005 .See http://www/dick/newbib.html =BIBLIOGRAPHY Goal:= `To document most useful theories and the most reliable information about current and past practice`. Example: What really happened when IPT was tried at the New York Times? .See [McNurlin77] Example: for how long have people been writing about replacing the Software Development Live Cycle? .See [Gladden82] .Close .Open Aaen03 Ivan Aaen Software Process Improvement: Blueprints versus Recipes IEEE Software Magazine V20n5(Sep/Oct 2003)pp86-93 =ADVOCATES AGILE IMPROVEMENT SPI PEOPLE vs PROCEDURE Lists the risks of having a separate SPI team working out a blueprint/structure/standards. Promotes the facilitation of improvisation plus reflection within existing teams .Close .Open AalstWeijtersMaruster04 Wil van der Aalst & Ton Weijters & Laura Maruster Workflow mining: discovering process models from event logs IEEE Trans Knowledge and Data Engineering V16n9(Nov 2004)pp1128-1142 $CR 0512-1362 =THEORY =APPLIED 2 SYSTEM nonsequential PETRI SWF-net workflow-net \alpha-algorithm TOOLS EMiT Little Thumb WORKFLOW Start with logs of real work-flows. Gives \alpha-algorithm to convert logs into nets. Work-nets are specialized petri P/T nets with certain structures forbidden. Tested on system for patients in hospital and had to ignore rare events/activi ties. Tested on 130,136 cases of fine collection for a justice system. .Close .Open AalstWeske05 Wil M van der Aalst & Mathias Weske Case Handling: A new paradigm for business process support Data & Knowledge Engineering V53n2(May 2005)pp129-162 $CR 0605-0527 =UNREAD =IDEA WORKFLOW DESIGN UML METAMODEL .Hole .Close .Open AbadiLamport90 Martin Abadi & Leslie Lamport Composing Specifications Digital Sys Res Center(Oct 10 1990) CR9405-0309 F.3.1 .See [AbadiLamport93] =MATHEMATICAL SPECIFICATION LOGIC Has a ref to Cliff Jones's Oxford PhD Thesis in the early 80s! p9: "Composition is conjunction" cf Zave & Jackson. .Close .Open AbadiLamport92 Martin Abadi & Leslie Lamport An Old-fashioned Recipe for Real Time Digital Sys Res Center TR#91(Oct 12 1992) .See [AbadiLamport94] =MATHEMATICAL TIMING LOGIC .Close .Open AbadiLamport93 Martin Abadi & Leslie Lamport Composing Specifications ACM TOPLAS V15n1(Jan 1993)pp73-132 =MATHEMATICAL SPECIFICATION LOGIC Reviewed CR9405-0309 F.3.1 similar to AbadiLamport90 Based on Lamport91 .Close .Open AbadiLamport94 Martin Abadi & Leslie Lamport An Old-fashioned recipe for Real Time ACM TOPLAS V16n5(Sep 1994)pp1543-1571 See .See [AbadiLamport92] =MATHEMATICAL TIMING LOGIC Review CR9507-0506 F.3.1: uses TLA as a base can reason separately about function and timing(by var now:real). Two problems: now can get stuck (Zeno-ness) or two requirements can conflict. ->> detect and correct spec to avoid. (not in A&L 1992?) .Close .Open AbadiLamport95 Martin Abadi & Leslie Lamport Conjoining Specifications ACM Ttrans Prog Lang Sys V17n3(May 1995)pp507-535 CR9605-0369 CR9608-0610(...cumbersome notation....) F.3.1 =MATHEMATICAL SPECIFICATION LOGIC TLA conjunction implies parallel combination .Close .Open Abbotetal93 Ben Abbott & Ted Bapty & Csaba Biegl & Gabor Karsai & Janos Sztipanovits Model Based Software Synthesis IEEE Software Magazine (May 1993) pp42-52 =ADVERT METHOD .Close .Open Abbott83 ?? Abbott Program Design by Informal English Descriptions Commun ACM Vol 26 No 11(Nov 1983)pp882-894 =IDEA ADTs REALITY THEORY Informal algorithm->model->code Start with an informal algorithm and extract and object-oriented model. Leads to Grady Booch's methods but is later critiscized because getting the algorithm is difficult. .See [Booch83] .See [Booch86] .Close .Open Abdel-Hamid96 Tarek K Abdel-Hamid The Slippery Path to Productivity Improvement IEEE Software Magazine VSE13N4(Jul 1996)pp43-54 =SIMULATION TOOLS PEOPLE simulation rediscovers Brookes's Law. Also raw historical data can trigger a brookes crisis. Work reffered to in .See [Brooks95] .Close .Open Aberdour07 Mark Aberdour Achieving Quality in Open Source Software IEEE Software Magazine V24n1(Jan/Feb 2007)pp58-64 =SURVEY OSS RESEARCH OPEN SOURCE TECHNICAL QUALITY PEOPLE ONION Table 1 compares open and closed source processes. Page 62: 3 open source maturity models. Good software engineering complements good people structure. .Close .Open Abiteboul00 Serge Abiteboul & Peter Buneman & Dan Suciu Data on the Web: from relations to semistructured data and XML Morgan Kaufman SF CA 2000 ISBN 1-55860-622-X CR 0105-0161 QA76.9.D3 A258 =MONOGRAPH DATA NET/WWW LOGIC XML XSL-QL DTD ACeDB OEM Lore Strudel .Close .Open AbowdDix93 Gregory D Abowd & Alan J Dix Integrating status and event phenomena in formal specifictions of interactive systems SIGSOFT'94 Proc 2nd ACM SIGSOFT Symp on Foundations of Software Engineering & ACM SIGSOFT Software Engineering Notes V19n5(Dec 1994)pp44-52. See .See [ZaveJackson94] =MATHEMATICAL HCI/USER SPECIFICATION .Box Signature+Events+formulae+ interstitial behavior. Nothing that Ross Ashby and JSD didn't know about already looks a little like hypertalk, but notation not of the essence. .Close.Box .Close .Open Abowdetal93 Gregory D Abowd & Robert Allen & David Garlan Using Style to Understand Descriptions of Software Architecture In .See [Notkin93] pp9-20 =THEORY MATHEMATICAL ARCHITECTURE Z Pipe-filter and Event System styles partial functions Syntax<>->Semantics to describe constraints on syntax .Box pipe-filter Abstract syntax{ports, descriptions, roles, connections, components, connectors, attachments} -ve: some small Z errors -ve: Includes filter's state as part of model of filter. amow: should use IO relations Event-System style: invoked, announced, methods, events, states, start,... NOT classes Analysis, special cases,.... .Close.Box .Close .Open Abowdetal95 Gregory D Abowd & Robert Allen & David Garlan Formalizing Style to Understand Descriptions of Software Architecture ACM Trans Softw Eng Methodol V4n4(Oct 1995)pp319-365 =THEORY MATHEMATICAL ARCHITECTURE expanded version of 1994 SIGSOFT paper (or is it : AbowdAllenGarlan93?) .Close .Open AbramowitzStegun6465 (National Bureau of Standards) Handbook of Mathematical Functions hard back edition 1964 & Dover paper back edition NY NY 1965 =HANDBOOK MATH FUNCTIONS TABLES FORMULAE .Close .Open Abramson73 ?? Abramson Theory & Practice of a Bottom-up Syntax Directed Translator NY Ac Press 1973 =HOWTO COMPILER DDD REALITY SYSTEM .Close .Open AbramsonDahl89 Harvey Abramson & Veronica Dahl Logic Grammars Springer Verlag 1989 =HOWTO GRAMMAR DDD PROLOG REALITY .Close .Open Abrial89 J Abrial A Formal Approach to Large Software Construction In Mathematics of Program construction J L A Van de Snepscheut(ed) Springer NY NY 1989 pp 1-20. See .See [LafontaneLedruSchobbens91] =ADVERT LOGIC TOOL Z VDM B B theorem prover LOGIC TOOL used by Z and VDM groups .Close .Open Abrial09 Jean-Raymond Abrial Faultless Systems: Yes we can IEEE Computer Magazine V42n9(Sep 2009)pp30-36 =ADVERT FORMAL SYSTEMS REQUIREMENTS B Event-B CORRECTNESS MODEL PROOF SIMULATION REFINEMENT PATTERNS MATHEMATICS TOOL Rodin assumes waterfall is necessary. process=requirements; model; code. requirements are a mixture of informal explanations and form definitions and proofs etc. Use coupled discrete state transition systems. And animation. Prove invariants. Need tools to prove thousands of changing propositions. Validate the problem as a system in an environment not just the software. Problem with not enough discrete mathematics in education. Problem with technology transfer. Link .See http://www.event-b.org .Close .Open AbrilPlant07 Patricia S Abril & Robert Plant The patent holder's dilemma: buy, sell, or troll? Commun ACM V50n1(Jan 2007)pp37-44 =SURVEY PATENTS LEGAL INTELECTUAL PROPERTY Complex business models involving trading, holding, and combining software patents -- and they don't all work. .Close .Open Abualsamid01 Ahmad Abualsamid PHP & Hosted Applications Dr. Dobbs #320(Jan 2001)pp56+58+60-63 =ADVERT WWW/NET SERVER SCRIPTING LANGUAGE EXAMPLE PHP has syntax like UNIX shell. .Close .Open Aceto92 Luca Aceto Action Refinements in Process Algebras Cambridge University press 1992 ISBN 0-521-43111-5 =THEORY NONSEQUENTIAL MATHEMATICAL ALGEBRA CR9312-0920(non-sequential for experts; distinguished thesis; poor printing "tractable notion of semantic equivalence of process algebras that do not equate parallelism with sequential nondeterminism and support operators for refining actions.") .Close .Open Ackerman03 Jody Ackerman Uniting with only a few random links Newswise .See http://www.newswise.com/articles/view/?id=RANDOM.RPI =ARTICLE NONSEQUENTIAL NET PARALLEL COMPUTATION Use a small world network to keep processes synchronized with minimal overhead. Regular communication with a few neighbors + a few connections with random distant processes. Research by Korniss at Rensslaer (RPI) .Close .Open AcunaJuristo04 Silvia T Acuna & Natalia Juristo Assigning people to roles in software projects Software - Practice & Experience V34n7(Jun 2004)pp675-696 $CR Nov2004 =EXPERIMENT PEOPLE PROCESS Document person-role-capabilities relationship before seeking optimal assignments in a project. Worked better than a random assignment! Leads to .See [AcunaJuristo06] .Close .Open AcunaJuristo05 S Acuna S & N Juristo (Eds) Software process modeling Springer-Verlag New York, Inc., Secaucus, NJ, 2005. (the kluwer international series in software engineering) $CR 0607-0694 =SURVEY =PAPERS PROCESS MODELLING MATHEMATICS PEOPLE UML MANAGEMENT JAD IMPROVEMENT CMM PSPS STIN SPEM Reccommends focussing process research on the people in the process and the needs of the organization. .See [AcunaJuristo04] .See [AcunaJuristo06] .Close .Open AcunaJuristoMoreno06 Silvia T Acuna & Natalia Juristo & Ana M Moreno Emphasizing Human Capabilities in Software development IEEE Software Magazine V23n2(Mar/Apr 2006)pp94-101 =EXPERIMENT PEOPLE Cattell 16PF ROLLS CF Matching personality to role seems associated with fewer defects and higher productivity. .See [AcunaJuristo04]. .Close .Open ACM86 Editted by Robert L Ashenhurst & Susan Graham ACM Turing Award Lectures: The First Twenty Years 1966-1985 ACM Press 1987 ( Addison-Wesley) =HISTORY SURVEY PRIZE winners .Close .Open ACMCALGO Various The ACM Collected Algorithms Association for Computing Machinery 1960- =HANDBOOK TECHNICAL .Close .Open AdamicHuberman01 Lada A Adamic & Bernardo A Huberman The Web's Hidden Order Commun ACM V44n9(Sep 2001)pp55-59 =ANALYSIS NET/WEB WWW COMPLEXITY SMALL-WORLD POWER-LAW DYNAMIC MODEL ECONOMICS power_law(\beta) ::= Net{ for some constant c, frequency = c /(size**\beta). }. WWW shows exponential growth. number of pages per site, number of users, number of outlinks, and number of inlinks all have close to a 1/n**2 distribution. This can be accounted for by two random growth models. stochastic rate of growth proportional to size. Either starting at different times, or with different growth rates. Usage is an 80-20 phenomenon. Implication: any site gets a few visitors each day, few get large numbers... winner take all markets. small worlds effect because some sites have lots of links. diameter between sites is about 4 clicks. between pages about18 clicks. .Close .Open Adams91 Illustrated by Scott Adams Build a better life by stealing office supplies: Dogbert's big book of business Andrews & McMeel, Kansas City, Missouri, 1991, ISBN 0-8362-1757-8 =JOKE PEOPLE MANAGEMENT .Close .Open Adams97 Scott Adams Seven Years of Highly Defective People Andrews McMeel Publishing, 1997, Kansas City, Missouri, ISBN 0-8362-3668-8 =JOKE PEOPLE cartoons on engineering, life, and mis-management .Close .Open Adams96 Tom Adams Total Variance Approach to Software Reliability Estimation IEEE Trans on Software Eng VSE-22n9(Sep 1996)pp687-688 =MATHEMATICS QUALITY TEST RELIABILITY Operational Profiles do not admit that they are uncertain predictions and so reliability is underestimated .Close .Open AdamsE84 E Adams Optimizing preventive service of software products IBM Research J., V28n1(?? 1984)pp2-14 =EMPIRICAL QUALITY vs RELIABILITY Quoted by .See [FentonOhlsson00] .Close .Open AdamsJ06 Joel C Adams OOP and the Janus Principle ITICSE ACM SIGCSE Bulletin V38n1(Mar 2006)pp359-363 =DEMO TEACHING PEDAGOGY JANUS OBJECT-ORIENTED MODULES MVC DAYTIME JAVA CSCI375 Janus::=following .Box Design and write OO applications so that they support multiple, reusable user interfaces with minimal redundant code. .Close.Box The old Parnas rule:"Separate concerns". .See [Parnas72b] Presents a modified MVC with View+Controller in one class plus separate Model class. Nice example: Program to get and display current time from servers with multiple user interfaces: command line & menu-driven & GUI: .See http://www.calvin.edu/~adams/software/janus/ .Close .Open AdcockEtAl07 Bruce Adcock & Paolo Bucci & Wayne D Heym & Joseph E Hollingsworth & Timothy Long Which Pointer Errors do Students Make? ACM SIGCSE Bulletin V39n1(Mar 2007) & proc SIGCSE'07 pp9-13 =ADVERT TOOL C++ Java PEDAGOGY Proposes finite state models for pointers in C++ and in Java. Java_pointer_model::=following .Table Old\New Alive Null Out of scope .Row Alive * new NULL } .Row Null new NULL *X } .Row Out of scope 0 0 declare .Close.Table (X = unsafe) C++Pointer_model::=following .Table Old\New Alive Null Out of scope Dead .Row Alive * new Z NULL Z } Z delete \epsilon .Row Null new NULL *X delete } 0 .Row Out of scope 0 0 0 declare .Row Dead new NULL } * X delete X .Close.Table (Z=dangerous, X=unsafe, \epsilon=spontaneous) .Close .Open Adhikari95a Richard Adhikari BringingMethodology to Client/Server Madness Software Magazine (Mar 1995)pp35-49 =SURVEY METHODS WEB/NET Fig p40: 13 different methods in use/planned to be used .Close .Open Adhikari95b Richard Adhikara Code Recycling saves resources Software magazine (July 1995)pp31-37 =EXPERIENCE TECHNICAL REUSE 6 experiences of technical (code) reuse technology paying off. Across several platforms & industries: mainly large projects. Some object-oriented but some were not. Example of a simulation have code componentes that were later reused for non-simulation. .Close .Open Adler88 Mike Adler An Algebra for DFD Process decomposition IEEE trans on Soft Eng vSE-14n2(Feb 1988)pp169-183 =MATH ALGEBRA IO MATRICES DESIGN DFD TECHNICAL .Close .Open AdlerR95 Richard M Adler Emerging Standards for Component Software IEEE Computer Magazine V28n3(Mar 1995)pp68-76 =STANDARDS CORBA OMG+ OLE COM+OpenDoc+DCE/RPC+SOM+... .Close .Open Adolf96 W Stephen Adolph Cash Cow in the Tar Pit: Reengineering a Legacy system IEEE Software Magazine V13N3(May 1996)pp41-47 =EXPERIENCE REENGINEERING RISK SYSTEM 20 year old assembly language for obsolete computers need to provide tools to aid the reading of the legacy code and capturing key algorithms 2 weeks training in Hatley/Pirbhai SAD and PC CASE lead to designs that had to be thrown away key objective: no feature of legacy system to be "improved" unless it reduced the cost of implementing the new system. domain experts must train sosftwrae specialists need to manage CASE tools. .Close .Open Adolph99 Steve Adolph =?= W Stephen Adolph Whatever Happened to Reuse? Software Development Magazine V7n11(Nov 1999)pp40-43 =ESSAY REUSE vs salvage COST ECONOMICS short-term needs vs long term value .Close .Open Adolph00 Steve Adolph four-wheel drive, garbage trucks and objects Software Development Magazine V8n6(Jun 2000)pp52-55 =ESSAY OBJECT-ORIENTED DESIGN MODULE MAINTENANCE REFACTORING OO + expediency can encourage loss of cohesion and high coupling: blobs, mudballs, or garbage barges example - add salaried employee to employee .Close .Open Adolf00b Steve Adolph Getting Out of the Software Mud Pit Software Development Magazine V8n12(Dec 2000)pp41-44 =HOWTO =HISTORY REFACTOR MAINTENANCE TECHNICAL QUALITY Big balls of mud are messy but systematic refactoring can help. refactor::=apply behavior-preserving transformations that improve code quality. Refers to William Opdyke's 1992 Doctoral thesis "Refactoring Object-oriented Frameworks" U of Illinois at Urbana-Champaign Example: Fixing Feature Envy. A piece of code in method in class A refers to several class B methods only. Therefore Replace-Code-Segment-With-Function-Call AKA Extract Method(110) an then Move-Member-Function AKA Move Method(142) .Close .Open AgarwalREtal00 Ritu Agarwal & Prabuddha De & Atish P Singh & Mohan Tanniru On the Usability of OO Representations Commun ACM V43n10(Oct 2000)pp83-89 =EXPERIMENT FUNCTIONAL vs DATABASED MODELS of new SYSTEM POLL Easiest to match type of model to the type of task. .Close .Open AgarwalLago95 Rakesh Agarwal &Patricia Lago PATHOS - A Paradigmatic Approach To High-level Object-oriented Software Development ACM SIGSOFT Software Engineering Notes V20n2(Apr 1995)pp36-41 =ADVERT METHOD OBJECT-ORIENTED .Box confused technical activities: find classes, find methods and behavior, define classes and methods Technical control activities: logical design, detailed design ...Early consideration of reuse and quality in design .Close.Box .Close .Open AgarwalRahaGhosh00 Rakesh Agarwal & Arup Ratan & Raha Bhaskar Ghosh Our experience and learning in ERP implementation ACM SIGSOFT Software Engineering notes V25n2(Mar 2000)pp31-34 =EXPERIENCE MRP-II gap_analysis:=comparing existing software behavior with the client budiness needs. need tounderstand client's business use informal discussion to gather data. .Close .Open AgarwalSinha03 Ritu Agarwal & Atish P. Sinha (University of Wisconsin-Milwaukee ) Object-oriented modeling with UML: a study of developers' perceptions Communications of the ACM V46n9 (Sep 2003)pp 248-256 Virtual extension Retrieved Sep 3rd 2003 from .See http://doi.acm.org/10.1145/903893.903944 =EXPERIMENT NOVICES UML GRAPHICS use case state charts p252: "both use case diagrams and state diagrams were perceived as being easier to use than class and interaction diagrams." p253: "developers with more experience in OO analysis and design techniques perceived class diagrams and interaction diagrams as being easier to use than those with less experience." p253: "greater experience in process-oriented analysis and design techniques resulted in more positive perceptions of the usability of UML diagrams, overall." p253-4: use case document real world problems BUT how much detail?, Class diagrams notations are liked but defining operations is difficult. State diagrams are simple and easy but how to identify states?, Interaction diagrams provoke strong +ve and -ve comments. Use cases are the best. .Close .Open Agha90 Gul Agha Concurrent Object-oriented Programming Commun ACM V33n9(Sep 1990)pp125-141 =DEMO GRAPHIC OBJECT_ORIENTED NONSEQUENTIAL DESIGN Actor-Event diagrams History dependent .Close .Open Aghaetal89 Gul Aghar & Peter Wegner & Akinori Yonezawa(Ed) Proceedings of the ACM SIGPLAN Workshop on Object-Based Concurrent Programming SIGPLAN Notes V24n4(Apr 1989) =PROCEEDINGS DYNAMICS OBJECT-ORIENTED COROUTINES .Close .Open Aghaetal93 Gul Agha & Peter Wegner & Akinori Yonezawa(Ed) Research Directions in Concurrent Object-Oriented Programming MIT Press Cambridge MA 1993 ISBN 0-262-01139-5 CR9502-0058 =PROCEEDINGS DYNAMICS OBJECT-ORIENTED COROUTINES .Close .Open Agosta95 Louis Agosta Comparative Review(CR9502-0058) Computing Reviews V36n2(Feb 1995)pp88-93 =HISTORY OBJECT-ORIENTED METHODS Three waves of OO methods: .Close .Open Agre95 Philip A Agre My Top 10 Email Hassles Commun ACM V38n7(Jul 1995)pp122 =ARTICLES RISKS EMAIL .Close .Open AgrestiEvanco92 William W Agresti & William M Avanco Projecting Software Defects From Analysing Ada Designs IEEE Trans on Software Eng VSE-18n11(Nov 1992) pp988-997 =EXPERIMENT METRIC Evidence that "with" coupling is correlated with defect density. .Close .Open AhoUllman7273 Aho & Ullman The Theory of Parsing Translating & Compiling 2 Vols Prentice Hall International 1972 & 1973 =TEXTBOOK =REFERENCE SURVEY DDD TECHNICAL .Close .Open AhujaCarrieroGelernter86 Sudhir Ahuja & Nicholas Carriero & David Gelernter Lynda and Friends IEEE Computer Magazine V19n8(Aug 1986)pp26-34 =ADVERT Lynda NONSEQUENTIAL .Close .Open AielloEtAl07 Marco Aiello & Ian E Pratt-Hartman & Johan F van Bentham (Eds) Handbook of spatial Logics Springer Verlag NY Secaucus NJ 207 ISBN 1402055862 $CR 0811-1045 =UNREAD =REFERENCE FORMAL MODAL LOGIC SPACE .Close .Open AikenMuntzRichards94 Peter Aiken & Alice Muntz & Russ Richards DoD Legacy Systems: Reverse Engineering Data Requirements Comm ACM V37n5(May 1994)pp26-41 =EXPERIENCE REVERSE ENGINEERING DATA .Box 1.4 billion LOCs at 1.7K locations in thousands of different systems. 1986..87: Logical Data base Design 1992: First technologically independent logical data model LDM has 468 entities and 1994 data elements 1993: LDM has 362 entities and 1318 data elements .Close.Box .Close .Open AikenAllenParkerMattia07 Peter Aiken & M David Allen & Burt Parker & Angela Mattia Measuring Data Managment Practice Maturity: A Community's Self-Assessment IEEE Computer Magazine V40n4(Apr 2007)pp42-50 =MODEL +POLL DATA PROCESS MATURITY IMPROVEMENT CMMI Proposes a CMMI-like measure of the maturity of data managment. 6 process areas: data program coordination, organizational data integration, data stewardship, data development, data support operations, and data asset use. The usual 5 levels: 1=initial, 2=repeatable, 3=defined, 4=managed, 5=optimizing. Questionaire with 20+ questions used intelephone interviews 2000-2005 with 107 companies. Results: most process areas are at the repeatable level. .Close .Open AichernigKainhofer04 Bernhard K. Aichernig & Reinhold Kainhofer Comments: Presented at LfM2000, published in the proceedings In C.Michael Holloway, editor, Lfm2000, Fifth NASA Langley Formal Methods Workshop, Williamsburg, Virginia, June 2000, number CP-2000-210100, pages 35-46. NA SA, June 2000 =DEMO VALIDATION VDM-SL Mathematica Hybrid SAFER graphic animation Computer algebra systems can express VDM specifications and extend them to handle continuous(analog) components and behavior. .Close .Open AissiMaluSrinivasan02 Selim Aissi & Pallavi Malu & Krishnamerthy Srinivasan E-Business Process Modeling:The Next Big step IEEE Computer Magazine V35n5(May 2002)pp55-62 =DEMO WEB/NET STANDARD WEB SERVICES XML PCF::="Process Coordination Framework", groups standards for e-business. PCF = security & ( service description and transaction binding end point description, public collaborative, private process; contracts and agreements). WSDL::="Web service description Language". .See http://www.w3.org/TR/wsdl provides information needed to use a service over the web. WSCL::="web services Conversation Language", .See http://www.w3.org/TR/wscl10/ defines conversations between service providers. ebXML::=http://www.ebxml.org/specs/ebBPSS.doc, UN and OASIS choreographs collaborations/transactions. CPP::=http://www.ebxml.org/specs/ebCPP.doc, Collaboration Protocol Profile. WSFL::=http:://www4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf, Web services Flow Language. XLANG::http://www.gotdotnet.com/team/xml_wsspecs/xlang-c/default.htm, describes executable internal business processes. BPML::=http://ww.bpmi.org/bpml.esp, describes internal business processes using transactional finite state machines. .Close .Open Akera07 Atsushi Akera Edmund Berkeley and the Origins of ACM Commun ACM V50n5(May 2007)pp31-35 =HISTORY 1940s ANALYSIS Study Contract Need to sell managment on the use of computers to do paper-work. "Methods Analysis". .Close .Open AlagarVenkatesan01 Sridhar Alagar & Subbarayan Venkatesan Techniques to Tackle state explosion in a Global Predicate Detection IEEE Trans Software Engineering V27n8(Aug 2001)pp704-714 =THEORY LOGIC MODEL CHECKING .Close .Open AlanenPorres03 Marcus Alanen & Ivan Porres Difference and Union of Models LNCS 2863 <> 2003 -- The Unified Modeling Language, Oct 2003, pp2-17 =ALGORITHMS on MODEL VERSIONS UML MOF CMS If + is merge and - is difference then union of M1 and M2 based on M0 is M0+(M1-M0)+(M2-M0) .Close .Open Alavi86 Maryam Alavi An Assessment of the Prototyping Approach to Information Systems Development Comm ACM V27n6(Jun 1986)pp556-563 =EXPERIMENT PROTOTYPING REQUIREMENTS TOOLS concludes PROTOTYPING needs expertise support TOOLS and control but handles unclear and ambiguous REQUIREMENTS .Close .Open AlaviWetherbe91 Maryam Alavi & James C Wetherbe Mixing Prototyping and Data Modeling for Information-System Design IEEE Software V8n3 (May 1991)p86-91. =ADVERT DATA PROTOTYPING .Close .Open Albizuri-Romero00 Miren Begona Albizuri-Romero A retrospective view of CASE tools adoption ACM SIGSOFT Software Engineering notes V25n2(Mar 2000)pp46-51 =SURVEY pre1990 papers on STRUCTURED TOOLS .Close .Open AlencarCowanLucenaNova95 Paulo S C Alencar & Donald D Cowan & Carlos J P Lucena & L C M Nova Formal specification of Reusable Interface Objects .See [SamadzadehZand95] pp88-96 =DEMO ADV/ADO ADTs REUSE .Close .Open Albrecht04 Conan C Albrecht How Clean is the future of SOAP Commun ACM V47n2(Feb 2004)pp66-68 =THEORY SOAP TCP port 80 HTTP XML SECURITY vs CONVENIENCE SOAP::protocol="Simple Object Access Protocol", uses port 80 and HTTP to access objects + XML to encode operation and response. content type: text/xml-SOAP. Web server passes SOAP to routing engine and response back to caller. Currently not filtered. Security problems would change this. .Close .Open AlencarCowanLucena02 Paulo S C Alencar & Donald D Cowan & Carlos J P Lucena A Logical Theory of Interfaces and Objects IEEE Trans Software Engineering V28n6(Jun 2002)pp548-575 =THEORY FORMAL LOGIC CATEGORY OBJECTS INTERFACES ADV ADO ADV ::= "Abstract Design Views", interfaces. ADO ::= "Abstract Design Objects". views_a::@(ADV, ADO). cf .See [AlencarCowanLucenaNova95] .Close .Open Alexander79 Chistopher Alexander A Pattern Language Oxford U Press UK 1979 =THEORY ARCHITECTURE Buildings, towns, regions. .Close .Open Alexander00 Christopher Alexander The Nature of Order Book to be published in 2000 =THEORY living structures generated smoothly by structure preserving unfoldings. normal 20C construction can not do this! .Close .Open Alexander92 Tom Alexander How to Stop Fearing and Start Loving the Parallel Computer NSF MOSAIC V23n1(spring 1992)pp2-11 =ARTICLE NONSEQUENTIAL TECHNICAL .Close .Open AlexanderCoplien99 Christopher Alexander & James O Coplien(introduction) The Origins of Pattern Theory IEEE Software Magazine V16n5(Sep/Oct 1999)pp71-82 =SPEECH OOPSLA'96 PATTERN THEORY patterns were generative( ala Chomski ), included a moral component, must lead to morphological coherence - a life promoting structure, a good environment 15 geometric properties underlying original patterns -> profundity 80..90%agreement for "Do you feel more whole/alive in the presence of this or that object?". Correlates with certain features/structures & profound functionallity! centers:=field-like structures recursively underlying all wholeness& more or less living things. See .See [Alexander00] Can/will software designers help people generate a life enhancing world? .Close .Open AlexanderH88 Heather Alexander Comments on "Formal Specification of User Interfaces: A comparison and Evaluation of Four Axiomatic Approaches" IEEE Trans Soft Eng VSE-14n4(Apr 1988)pp438-439 =DEMO need SQA on Z SPECIFICATIONs as well as code .Close .Open AlexanderH03 Ian Alexander Misuse Cases: Use Cases with Hostile Intent IEEE Software Magazine V20n1(Jan/Feb 2003)pp58-66 =IDEA NEGATIVE USECASES SCENARIO PURPOSES QUALITIES ANTI-STORIES Need to promote use-cases while stopping misuse cases. Normal relations: includes, has exception. New relations: misuse threatens use, use mitigates misuse. .Close .Open AlexanderKong01 Perry Alexander & Cindy Kong Rosetta: Semantic Support for Model-Centered Systems-Level design IEEE Computer Magazine V34n11(Nov 2001)pp64-70 =DEMO TOOL ROSETTA MODEL SYSTEM PROPERTIES Category outputs Matlab TESTS Sidebar on p69 describes rivals: Adept, DEVS, Ptolemy, aspects, viewpoints, HyTech, SAL Kestrel, SpecWare Able to define, compose, project and explore the interactions of models of different types. facet := a special model within a domain of models. Facets are combined vertically(all true at one time) and horizontally )interacting components). domains: continuous and discrete times, finite and infinite state systems and tests, .... mechanical, hydraulic, power constraints .Close .Open AlexanderRobertson04 Ian Alexander & Suzanne Robertson Understanding Project Sociology by Modeling Stakeholders. IEEE Software Magazine V21n1(Jan/Feb 2004)pp23-27 =IDEA REQUIREMENTS ANALYSIS STAKEHOLDERS Onion Model Fig 3 p26: Large matrix of stakeholder types vs classes of knowledge. Distinguishes 3 layers f stake holders centering on `our product`/`the kit`. Many systems the role of users is split between the `normal operator` close to the product, and the `functional beneficiary`. Onion.layers:=(our_product, our_system, containing_system, wider_environment). our_system:={ normal_operator, maintenance_operator, ...}. containing_system:={ functional_beneficiary, purchaser, interfacing_system,...}. wider_environment:={political_beneficiary, financial_beneficiary, negative_stakeholder, regulator, developer, ...} .Close .Open AlexanderRBiemanViega00 Roger T Alexander & James M Bieman & John Viega Coping with Java Programming Stress IEEE Computer Magazine V33n4(Apr 2000)pp30-38 =DEMO JAVA TECHNICAL traps default/protected access easily broken subclasses can steal methods called in superclass constructors containers+no templates means ineffective type checking extend only for subclassin/is-a finalizers wai for garbage collection and may never happen no const methods or assertions so document very carefully avoid confusing (unlabelled) instance initialization blocks. .Close .Open Alhir98 Sinan Si Alhir UML in a Nutshell O'Reilly, Cambridge, Mass, 1998 ISBN 1-56592-448-7 =REFERENCE to UML1.1 (OMG UML1.0) CR9908-0596 Comprehensive and with very few errors! Reference not readable. Errata and comments on the UML on the WWW .See http://home.earthlink.net/~salhir .Close .Open AllenA94 Arnold O Allen Introduction to Computer Performance Analysis with Mathematica CS&SciComp Acad Press 1994 ISBN 0-12-051070-7 Review p492 AMM May 1994 =TEXTBOOK with disk TECHNIQUE->QUALITY .Close .Open AllenB94 Bradley P Allen Case-Based Reasoning: Business Applications Comm ACM V37n3(Mar 1994)(AI issue)pp40-44 =ARTICLE AI .Close .Open AllenCD95 C Dennis Allen Succeeding as a Clandestine Change Agent Commun ACM V38n5(May 1995)pp81-86 =HISTORY USER PEOPLE SYSTEMS The Water Torture Method p82: "I discovered that automating a manual process can break the customer's work practice." .Close .Open Allman90 Eric Allman By the pricking of my thumbs(article) UNIX Review V9n2(Feb 1991)pp66-69. History of FORTRAN and C =HISTORY C FORTRAN LANGUAGES .Close .Open Alonzo03 Omar Alonzo Generating Text Search Applications for DataBases IEEE Software Magazine V20n3(May/Jun 2003)pp98-105 =DEMO DOMAIN XML GENERATE Java Web/Net SQL TEXT SEARCH Oracle DARE-Web YASEC XSLT less useful than DOM and SAX. .Close .Open AlfaroHenzinger01 Luca de Alfaro & Thomas A Henzinger Interface Automata ACM SIGSOFT proc ESEC-8 FSE-9 Software Engineering Notes V26n5(Sep 2001)pp109-120 =THEORY SPECIFICATION MODULE FSM/AUTOMATA INTERFACE NONSEQUENTIAL .Close .Open AlmeidaJrEtal03 Jorge Rady de Almeida Jr & Joao Batista Camargo Jr & Bruno Abrantes Basseto & Sergio Miranda Paz Best Practices in Code Inspections for Safety-Critical Software IEEE Software Magazine V20n3(May/Jun 2003)pp56-63 =EXPERIENCE RISKS QUALITIES SQA CODE INSPECTION Developed a useful checklist of defect types to find unsafe code. For example: Check that a constant has the same value in different modules even when in different languages! .Close .Open AlmeringEtAl07 Vincent Almering & Michiel van Genuchten & Ger Cloudt & Peter J M Sonnemans Using Software Reliability Growth Models in Practice IEEE Software Magazine V24n6(Nov/Dec 2007)pp82-88 =EXPERIENCE 5 MODELS TVs The models got better as more data was fitted. \lambda(t) :=`failure intensity function`. (GO): \lambda(t) =a*b*exp(-b*t). (delayed S): \lambda(t) =a*b^2*t*exp(-b*t). (log power): \lambda(t) = \alpha*\beta*ln^(b-1)(1+t)/(1+t). (log Poisson): \lambda(t) = \lambda[0] / (\lambda[0] * \theta * t + 1). .Close .Open Alsaadi04 Ahmad Alsaadi A Performance analysis approach based on the UML Class diagram WOSP'04 & ACM SIGSOFT Software Engineering Notes V29n1(Jan 2004)pp254-260 =EXAMPLe PERFORMANCE NORMALIZATION UML Can get speed by denormalizing physical data. Very like SSADM physical design control. .Close .Open AlshayebLi03 Mohammad Alshayeb & Wei Li An Empirical Validation of Object-Oriented Metrics in Two Different Iterative Software Processes IEEE Trans Software Engineering V29n11(Nov 2003)pp1043-1049 =EMPIRICAL Object-Oriented METRICS AGILE XP client-server stories vs JDK 1.[0-4] EVOLUTION PROCESSES JAVA EDITS metrics={WMC, DIT, LCOM, NLM, CTA, CTM}. analyses short-cycle vs long-cycle. The metrics with multi-linear regression predict the amount of change (and effort) well in the later cycles of an XP process. Not so useful in the JDK long-cycle evolution. |-" prediction is impossible at the beginning of the " [XP] " process because there is very little substantive design structure in the system". Idea: critical mass of classes needed to define metrics that predict XP effort. .Close .Open AltendorfHohmanZabicki02 Eric Altendorf & Moses Hohman & Roman Zabicki Using J2EE on a large, Web-Based Project IEEE Software Magazine V19n2(Mar/Apr 2002)pp81-89 =EXPERIENCE WEB/NET MODULE COMPONENT JAVA J2EE .Close .Open AlurDill94 R Alur & D L Dill A Theory of Timed Automata Theoretical Computer Science V126 pp183-235 1994 =THEORY AUTOMATA TIMING .Close .Open AlurEtessamiYannakakis03 Rajeev Alur & Kousha Etessami & Mihallis Yannakakis Inference of Massage Sequence Charts IEEE Trans Software Engineering V29n7(Jul 2003)pp623-633 =THEORY MESSAGE SEQUENCE CHARTS MSC AUTOMATA FSM non-SEQUENTIAL When do a set of MSCs describe a possible system with no surprising behaviors allowed? MSC define partial orders on sequences of messages. Realize as a set of parallel communicating FSM automata. Communication between automata is not FIFO (data flow) but via Bags. To get tractable algorithms must not consider sets of automata that can deadlock. .Close .Open Aluretal93 R Alur & C Courcoubetis & D L Dill Model checking in dense real time Information and Computation V104 pp2-34(1993) =DEMO TIMING MODEL .Close .Open AlvarezDiazLlopisPimentalTroya04 J M Alvarez & M Diaz & L Llopis & E Pimental & J M Troya An Object-Oriented methodology for embedded real-time systems Computer Journal V46n2( 2003)pp121-145 =EXAMPLE Object-Oriented TIMING RMA SDL UML OOM-ERT .Close .Open AmblerBurnett89 Alan L Ambler & Margaret M Burnett Influence of Visual Technology on the Evolution of Language Environments IEEE Computer v22 n10 (Oct 1989)pp9-22 =HISTORY GRAPHIC LANGUAGE .Close .Open Ambleretal92 Alan L Ambler & Margaret M Burnett & Betsy A Zimmerman Operational Versus Definitional: A Perspective on Programming Paradigms IEEE Computer v25n9(Sep 1992)pp28-43 =DEFINITION TECHNICAL LANGUAGES .Close .Open AmblerS95 Scott Ambler Reduce Development Costs with Use-Case Scenario Testing Software Development Magazine(Jul 1995)pp 53-61 =DEMO USE-CASE SCENARIO TEST .Close .Open AmblerS95a Scott Ambler Mapping Objects to Relational Databases Software Development Magazine(Oct 1995)pp63+64+67+68+70+72+letter(Jan 1996)p13 =DEMO DATA ERDs OBJECT-ORIENTED reply to letter "why no OODBMS": (1) security (2)no track record (3) no efficient support for SQL/reporting tools (3) one thing at a time .Close .Open AmblerS96 Scott Ambler An Ounce of Prevention: Class Type Architectures Software Development Magazine(Mar 1996)pp 40??45-61 =DEMO WWW/NET ARCHITECTURE OBJECTs DATA MVC PERSISTENCE TECHNICAL SYSTEM INFORMATION HIDING Compare with UML Boundary vs Control vs Entity .Box N2 chart of "Sends message to" .Table .Row User X 0 0 0 .Row X Interface 1 0 rare .Row 0 0 0 Business OOCRUD some .Row 0 0 0 0 Persistence often .Row 0 2 2 2 2 System .Close.Table 0. No connection 1. restricted flow 2. Feedback: callbacks, dispatched objects OOCRUD=OO create read update delete. system & persistence: wrap well defined technical features, so mostly code and debug Business: analysis, understand first Interface: prototyping... coding trivial .Close.Box .Close .Open AmblerS96a Scott Ambler Object-Relational Mapping Software Development Magazine V4n10(Oct 1996)pp47-50 =DEMO DATA OBJECT-ORIENTED wrap db; encapsulate;classes drive data; obj IDs as keys only; joins of keys only; arbitrary obj keys; use a data dictionary; do not map to a legacy data base(unless it is in 3NF) .Close .Open AmblerS97a Scott Ambler Normalizing Classes Software Development V5n4(Apr 1997)pp69-72 =DEMO DATA OBJECT-ORIENTED increasing cohesion and coupling by redesign but result is not in even 1NF in Codd terms. Adds a repeating group of enrollments to seminar. Better: Seminar<-->Student and `new Enrollment(seminar student)` handles enrollments responsibillities for connecting seminars and students. Note: ends up with SSADM composite logical design! .Close .Open AmblerS97b Scott Ambler Implementing Pick Lists of Object Software Development Magazine V5n6(Jun 1997)pp73-76 =DEMO USER DATA Flyweight? ways to handle stable identified/enumerated objects without involving overheads of persistent storage. Example: The days of the week and the states in the USA. Class stores data on all instances and is different for each subclass. .Close .Open AmblerS97c Scott Ambler The State Diagram Software Development Magazine V5n5(May 1997)pp83-88 =DEMO STD/FSM GRAPHIC accidentally illustrates RISKS of STDs by showing STD that allows an overdrawn account to become nonoverdrawn when a query is made and vice versa. Also requires a single deposit to finish overdrawn status. .Close .Open AmblerS97d Scott Ambler The Various Uses for Use Cases Software Development magazine V5n11(Nov 1997)pp69-71 SCENARIOS glossary(p70) <> > .Close .Open AmblerS98 Scott Ambler Evolving Class Diagrams Software Development Magazine V6n5(May 1998)pp69-72 =DEMO LIFECYCLE OOA/OOD UML need three linked class diagrams (1) behavior and names of business objects; (2) normalized data and design patterns; (3)implementation using Gang-of-four patterns .Close .Open AmblerS99 Scott Ambler Engineering Object-Oriented Requirements Software Development Magazines V7n3(Mar 1999)pp55-56+58 =SURVEY of MODELs CRC+User Interface+Use-Case+Business Rules+Activity+Deployment+Supplementary Also: Interface-Flow++Physical Data+Sequence+Collaboration+State Chart+Technical .Close .Open AmblerS99b Scott Ambler Architecting for Change Software Development Magazine V7n5(May 1999)pp56-58 =DEMO DOCUMENTATION UML EVOLUTION defines the <> stereotype to describe new potential requirements and modifications to existing requirements. .Close .Open AmblerS99c Scott Ambler Distributed Object Design Software Development Magazine V7n6(Jun 1999)pp34-36+38-40 =DEMO DOCUMENTATION UML WEB/NET 9_steps::=(add_non_business_classes; contracts; simplify; collobating_clusters; contracts; simplify_interfaces; map_onto_physical) .Close .Open AmblerS99d Scott Ambler Persistence Modeling in the UML Software Development Magazine V7n8(Aug 1999)pp54-57 =ADVERT proposal for DOCUMENTATION UML profile DATA MODEL stereotypes include table, entity, view, primary index, secondary index, candidate key, oid, trigger Why doesn't he use Qualifiers to indicate keys and indexes? .Close .Open AmblerS99e Scott W Ambler Enterprise-Ready Object IDs Software Development Magazine V7n12(Dec1999)pp56-57 =IDEA PERFORMANCE OBJECT-ORIENTED DISTRIBUTED TECHNICAL HIGH-LOW Strategy: server allocates contiguous groups of IDs to processes that create persistent objects by sending high-order bits to processes while process assign low-order bits. Letter: V8n2(Feb 2000)p12 from Jeff Senn corrects misunderstanding caused by Ambler looking at non-compliant code. Standard UUID (MS GUID) works at least as well. .Close .Open AmblerS99f Scott W Ambler More process patterns: delivering large-scale systems using object technology Cambridge U Press NY NY 1999 ISBN 0-521-65262-6 =HANDBOOK UML RUP PROCESS PATTERNS .Close .Open AmblerS00 Scott W Ambler new year's resolutions Software Development Magazine V7n1 (Jan 2000)pp50-51 =ESSAY ETHICS no harm, reuse, requirements, model, justifiable, no mantras, multiple views, more than performance, respect&work with users, realistic plans, communication skills, habitual learning, test everything, document everything, more to software than tech.. .Close .Open AmblerS00b Scott W Ambler Reuse Patterns and Antipatterns Software Development V8n2(Feb 2000)pp26-27 =SURVEY tabulates and evaluates various EXPERIENCE REUSE PROCESS PATTERNS .Close .Open AmblerS00c Scott W Ambler Crossing the Object-Data Divide: Parts 1 and 2 Software Development Magazine V8n3(Nov/Dec 2000)pp69-70 and V8n4(Apr 2000)pp66-69 =ESSAY PEOPLE OBJECT vs DATA .Close .Open Ambler00d Scott W Amber The Unified Process Elaboration Phase R&D Books 2000 =TEXTBOOK RUP .Close .Open Ambler00e Scott W Amber Requirements Engineering Patterns Software Development Magazine V8n5(May 2000)pp58-60 =ADVERT .See [Ambler00d] Requirements first, Requirements as a stick, Requirements as a shield. .Close .Open Ambler00f Scott W Ambler Enterprise JavaBean Persistence 101 Software Development Magazine V8n8(Aug 2000)pp51-52+54 =ADVERT TECHNICAL JAVA DATA PATTERN EJB see .See [Pour00] .See [Larman00] primary key is an object (with id and methods etc not just data) that identifies complete object. .Close .Open Ambler00g Scott Ambler XML in the real world Software Development Magazine V8n9(Sep 2000)pp59-60+62 =IDEA XML XSL SOAP SEMANTICS Lack of semantics will be a problem. Needs experience and process to design DTDs. .Close .Open Ambler00h Scott Ambler Enterprise Java-Bean Persistence 201 Software Development Magazine V8n9(Oct 2000)pp53-55 =TUTORIAL EJB 2.0 OBJECTS DATA .Close .Open Ambler00i Scott W Ambler Extreme Modeling Software Development Magazine V8n11(Nov 2000)pp61-62+64 =IDEA MODEL artefacts p64. sidebar of XP resorces. .Close .Open Ambler00j Scott W Ambler Reuse Through Internal Open Source Software Development Magazine V8n12(Dec 2000)pp57+59 =ADVERT Osage =HOWTO Resources .See http://www.opensource.org .See http://www.collab.net .See http://sourceforge.net Osage::=http://osage.opensource.org. Internal open source focus on encouraging programmers to simply cooperate on producing high quality shared modules with minimal process but careful over-sight. .Close .Open Ambler01a scott W Ambler Object Concurrency Control 101 Software Development Magazine V9n1(Jan 2001)pp57-58 =TUTORIAL SIMPLE NONSEQUENTIAL OBJECT DATA None | optimistic | pessimistic. pessimstic locks data. optimistic marks it to find out if another process has updated the data. collison resolution. .Close .Open Ambler01b Scott W Ambler Designing Web-Based User Interfaces Software Development Magazine V9n3(Mar 2001)pp61-63 =HOWTO WWW/NET USER COLOR LAYOUT HTML FORM "Functional not flashy!" Indicate what must be done, and what is optional on a form. .Close .Open Ambler01c Scott W Ambler Debunking Modeling Myths Software Development Magazine V9n8(Aug 2001)pp51-53 + letters V9n9(Sep 2001)p12 =ESSAY MODELING Models are not documentation. You can't think everything thru first. Modeling can be light/agile You don't have to freeze requirements. Designs don't have to be cast in stone. You don't need a CASE tool. Simple low tech do most models. Modeling can improve productivity. Models don't all revolve around data. It takes time to learn how to model. .Close .Open Ambler01d Scott W Ambler The Secret Life of Systems Operations Software Development Magazine V9n10(Oct 2001)pp49-51 =REMINDER SYSTEM ADMIN .Close .Open Ambler02 Scott Ambler Easy Does it Software Development Magazine V10n3(Mar 2002)pp53-55 =EXPERIENCE MODEL AGILE Use the simplest tool. Example: Develop on white board; take a digital snapshot, pass through image improving software through to OCR! Whiteboard_Photo::gadget=http://www.pixid.com. .Close .Open Ambler02b Scott W Ambler Tools and Evidence Software Development Magazine V10n5(May 2002)pp65-66 =IDEA AGILE MODEL CODE DOCUMENTATION LIFECYCLE UML Need to rapidly record ideas. and some ideas need to be preserved. Has a class diagram: source code contains comments that are a type of documentation. source code is modeled by models. Some models are in documents. Documents are a type of documentation. Has a state chart showing the transitions between Ideas(I), temporary models(T), and permanent models(P) : Start--->I--abandon->end, I--model-->T--keep->P--discard->end, T--update->T, P--update->P, P--version->P, T--discard->end, P--make temporary->T. .Close .Open Ambler02c Scott W Ambler Lessons in Agility from Internet-Based development IEEE Software Magazine V19n2(Mar/Apr 2002)pp66-73 =EXPERIENCE AGILE MODEL WEB/NET PROCESS UML RUP HTML PEOPLE Comparison of two companies. Finding the right amount of documentation and the right kind of model for a particular situation. Tabulates principles and where they fitted experience. .Box Lessons People matter. You don't need as much documentation as you think. Communication is critical. Modeling tools are not as useful as you think. You need a wide variety of intellectual models. Big up-front design was not needed. Reuse the wheel. Don't reinvent it. .Close.Box .Close .Open Ambler02d Scott W Ambler The Fragile Manifesto Software Development Magazine V10n8(Aug 2002)pp50-51 =JOKE AGILE PROCESSES PEOPLE DOCUMENTATION USER TEAM Ironic and twisted summary of .See [Ambler02c] .Close .Open Ambler03 Scott W Ambler Ten Steps to a Robust DB Software Development Magazine V11n2(Feb 2003)pp42-43 =EXAMPLE DATA ERD EVOLUTION REFACTORING UML Process:=verify need; choose best; data cleansing; write unit tests; deprecate old schema; implement change; update DBMS scripts; run tests; document; version control. See list of ways to refactor a data base (like Replace Column,...) .See http://www.agiledata.org/essays/databaserefactoring/catalog.html Example of UML documentation of changes({removal date=...} and <>s .Close .Open Ambler03b Scott W Ambler Agility 2013 Software Development Magazine V11n4(Apr 2003)pp46-47 =FORECAST AGILE XP CRAFT SKETCHES VISUAL IDEs COBOL .Close .Open AmblerS04 Scott W Ambler Agile Database Techniques: Effective Strategies for the Agile Software Developer John Wiley & Sons 2004 ISBN 0-471-20283-5 =UNREAD AGILE DATA Basis on the web at .See http://www.agiledata.org/ (dick)|- how long does it take to add a new data item to an entity in a large existing database? .Close .Open AmblerS04a Scott W Ambler Are Your Models Normal? Software Development Magazine, Agile Modelling Newsletter (Dec 2004) =IDEA DOCUMENTATION MODEL NORMALIZATION DRY "record information as few times as possible, ideally only once." artifact:="any item created during a software development project including code, model, document, plan, etc". artifact_normalization::="placing information about systems in the best single artifact". Generate views. Cross reference, links, and inclusions. DITA::="Darwin Information Typing Architecture", XML based technical documentation, Parallel to single_sourced technical documentation, normalized data bases, and coherent modularization. (dick)|-"Are there cross cutting concerns? Compare with Aspect oriented programming". (dick)|-(meta-data): "Documentation is data about a system and should be treated as data". Compare with POLL .See [LethbridgeSingerForward03] .Close .Open Ambler03 Scott Ambler Agile database techniques: effective strategies for the agile software developer John Wiley NY NY 2003 ISBN 0471202835 CR 0502-0163 =HOWTO AGILE DATA REFACTOR NORMALIZE Object-Oriented From .See [Amblers04] and .See [Amblers03] .Close .Open Ambler05 Scott W Ambler The Elements of UML2.0 Style Cambridge UP 2005 =ADVERT UML AGILE STYLE Nice book but Not always standard and sometimes apposed by standard .Close .Open Ambler07 Scott Ambler Calculating Documentation Cruft Dr. Dobb's Agile Newsletter (27 Jul 2007) =IDEA DOCUMENTATION METRIC CRUFT CRUFT::percent= 100 - C * R * U * F * T where .Set C:=`The percentage of the document that is correct`, R:=`The chance that the document will read by the intended audience`, U:=`The percentage of the document that will be understood`, F:=`The chance that the material contained in the document will be followed`, T:=`The chance that the document will be trusted`. .Close.Set (dick)|- perhaps we could use Shannon Communication Theory to measure the capacity, equivocation, etc of a document in bits? .Close .Open AmbriolaNotkin88 V ambriola & D Notkin Reasoning About Interactive Systems IEEE Trans Softw Eng SE-V14n2(Feb 1988)pp272-276 =THEORY LOGIC PROOF formal non-sequential .Close .Open AmericaRutten91 P H M America & J J M M Rutten A Parallel Object-Oriented Language: Design and Semantic Foundations CWI(Centrum voor Wiskunde en Informatica) Tract V81 Centre for mathematics & computer science Amsterdam the Netherlands(Stichting Mathematisch Centrum) 1991 ISBN 90-6196-402-4 CR9310-0751 QA3.A583 no.81 =ADVERT LANGUAGE POOL cf Frits W Vaandrager in .See [Baetan90] .Close .Open Amsterdam02 Jonathon Amsterdam Java's new Considered Harmful Dr. Dobbs #335(Apr 2002)pp19-20+22+24+26 =PATTERNS creational JAVA factory methods and objects .Close .Open AnandalingamLucas05 G Anandalingam & Henry C Lucas Jr The Winners Curse in High Tech IEEE Computer Magazine V38n3(Mar 2005)pp96-97 =ADVERT BOOK HISTORY TECHNOLOGY ECONOMICS Companies often bid too much for a technology and get burned. Advertyises OUP 2004 book "Beware the Winner's Curse: Victories that can sink you and your company". .Close .Open AndasSjoberg05 Bente Anda & Dag I Sjoberg Investigating the role of use cases in the construction of class diagrams Empirical Software Engineering V10n3(Jul 2005)pp285-309 $CR 0807-0688 =EXPERIMENT HOWTO DESIGN CLASS DIAGRAM USE CASE DOMAIN MODEL UML TOOLS Rose Tau Experimented with students and then with professionals. Compares two methods for going from usecases to design class diagrams: derivations vs validation. derivation:= use_case_text->domain_model; sequence_diagrams; design_class_diagram. validation:= use_case_text-> initial_class_diagram; sequence_diagrams; do( validate; extend). Measured time, completeness, and quality (coupling and cohesion). Tools didn't add to diagram quality with either students or professionals. Tools slowed down students but not professionals. Students got more complete design classes using validation rather than derivation. Students got better quality designs with the derivation method. Professionals -- no significant differences found. .Close .Open AndaSjobergMockus09 Bente C D Anda & Dag I K Sjoberg & Audris Mockus variability and reproducibility in software engineering: a study of four companies that developed the same system IEEE Trans Software Engineering V35n3(May/Jun 2009)pp407-429 =EXPERIMENT COMPARISON QUALITIES OUTSOURCED USER CODE MAINTENANCE RELIABILITY COST ESTIMATES TIME PROCESS Sent out call for bids -- 34 responses, 4 selected -- to develop a web application in Scandinavia. Prices range from 2k Euros to 70k Euros! Many variables, no trustworthy hypotheses to test. Exploration. Concluded that only the usability was similar between 4 competing projects. The reliability, time to produce, size, and maintainability all varied between companies. There was evidence of a trade off between price and quality. .Close .Open Anderson94 Bruce Anderson OOPSLA'93 Workshop Report Patterns: Building Blocks for Object-Oriented Architectures(27th sept 1993) ACM SIGSOFT Software Eng Notes V19n1(Jan 1994)pp47-49 .See [Alexander79] =DEMO PATTERN Ticked Objects .See [Anderson94] .See [Johnson94] .See [Lea94] .Close .Open Anderson95 Bruce Anderson OOPSLA'94 Workshop Report Patterns: Building Organisational Competence in Software Architecture .Close .Open Anderson99 Ross J Anderson The Formal Verification of a Payment System In .See [HincheyBowen99] pp43-52 =EXPERIENCE LOGIC BAN VERIFYING PROTOCOL BANKING PAYMENT SMARTCARD Used BAN_logic with new rule: If A believes that A and B share key K and A sees the K encrypts X then A will believe that B used K. Colored proof covering several white boards. System successful for several years with problems. Concludes the it better to have a simple logic with few rules and no tool than a complex (buggy?) logic with a tool. .Close .Open AndersonFleekGarityDrake01 Jean Anderson & Francis Fleek & Kathi Garity & Fred Drake Integrating Usability Techniques into Software Development IEEE Software Magazine V18n1(Jan/Feb 2000)pp46-53 =EXPERIENCE SIEMENS HEALTH USER PEOPLE RUP workflow iteration Early user improves quality and eliminates rework. Organizational and cultural change is the important challenge. .See [ConstantineLockwood99] .Close .Open Andersonetal96 Richard J Anderson & Paul Beame & Steve Burns & William Chaan & Francesmary Modugno & David Notkin & Jon D Reese Model Checking Large Software Specifications Proc 4th ACM SIGSOFT 1996 Symp on the Foundns of Software Eng: ACM SIGSEN V21n6(Nov 1996)pp156-166 =DEMO V&V SPECIFICATIONS TOOL use Binary Decision Diagrams(BDDs) 200Mgbs! .Close .Open AndersonGouda91 James H Anderson & Mohamed G Gouda A new explanation of the glitch phenomena Acta Informatica V28f4(Apr 1991)pp287-310 =THEORY NONSEQUENTIAL all arbiters have both infinite delays and multiple changes in the values of outputs. .Close .Open AndersonHansenLowrySummers06 Bonnie Brinton Anderson & James V Hansen & Paul Benjamin Lowry & Scott L Summers The application of model checking for secure E-commerce transactions Commun ACM V49n6(Jun 2006)pp97-101 =EXAMPLE V&V ECOMMERCE PROTOCOLS MODEL CHECKING RISKS Given the complexity of ECommerce systems and protocols plus the risks of failure, the protocols should be checked prior to implementation. .Close .Open AndersonRepsTeitelbaum03 Paul Anderson & Thomas Reps & Tim Teitelbaum Design and implementation of a fine-grained software inspection tool IEEE Trans Software Engineering V29n8(Aug 2003)pp721-733 =ADVERT V&V CODE INSPECTION C TOOL CodeSurfer(TM) TECHNICAL SLICES CHOPS HYPERTEXT VIEWS .Close .Open AndersonShapiro89 RH Anderson & NZ Shapiro Beyond User Friendly: Easy To... EDUCOM Review v24 n3(Fall 1989) p50-54 =ESSAY USER .Close .Open AnderssonGreenspunGrumet06 Eve Andersson & Philip Greenspun & Andrew Grumet Software Engineering for Internet Applications MIT Press Cambridge MA 2006 ISBN 0262511916 $CR 0712-1164 .Close .Open AnderssonRuneson07 Carina Andersson & Per Runeson A replicated quantitative analysis of Fault distributions is complex software systems IEEE Trans Software Engineering V33n5(May 2007)pp273-286 =EXPERIENCES ANALYSIS SIZE MODULES RELIABILITY Repeats .See [FentonOhlsson00]. Few modules contain most faults - pre & post release. Fault densities are similar in similar environments. .Close .Open Andexer01 Jens Andexer Design Guidelines and Documentation Paradigms for Object Oriented Programs SERG Report 397 (Sep 2001)P422,, McMasters .See http://www.crl.mcmaster.ca/SERG/serg.publications.html =SURVEY EVOLUTION OBJECT_ORIENTED .Close .Open AndleighGretzinger92 Prabhat K Andleigh & Michael R Gretzinger Distributed Object-oriented Data-systems Design Prentice Hall Englewood Cliffs NJ 1992 ISBN 0-13-174913-7 CR9309-0658 =SURVEY METHODS OBEJCT-ORIENTED DATA DESIGN Review: Frame-object analysis combines features of earlier systems analysis methods with the newer object-oriented concepts. survey 5 well known (but not Coad)... .Close .Open Andreetal81 Andre & Banatre & Routeau A Multi-processing Approach to Compile-Time Symbol Resolution ACM TOPLAS v3n1(Jan 1981)pp11-23 =DEMO DDD Clash .Close .Open Andrews93 James H Andrews Logic Programming: Operational Semantics & Proof Theory Cambridge University Press NY NY 1993 ISBN 0-521-43219-7 CR9503-0142 =THEORY LANGUAGES .Close .Open AndrewsP03 Pater B Andrews Introduction to Mathematical Logic and Type Theory: to truth through proof Kluwer Acad Pub Norwell MA 2002 ISBN 1402007639 CR 0305-0427 =THEORY LOGIC TYPES LAMBDA PEANO .Close .Open AndrewsLeventhal93 Dorine C Andrews & Namoi S Leventhal FUSION: Integrating IE, CASE and JAD: a handbook for reengineering the systems organisation Prentice Hall Englewood Cliffs NJ 1993 ISBN 0-13-325333-3 CR9308-0568 =HANDBOOK CASE USER .Close .Open AndrewsZhang03 James Andrews & Yinqjun Zhang General Test Result Checking with Log File Analysis IEEE Trans Software Engineering V29n7(Jul 2003)pp634-648 =EXPERIMENT RANDOM TESTING LOG TIMED FSM LFA lift language LFAL Prolog dictionary ADT SUT::="Software Under Test". LFA::="Log file analysis".. .Close .Open Andriole94 Steve Andriole Fast Cheap Requirements: Prototype or Else IEEE Software magazine v11n2(Mar 1994)pp85-87 =ADVERT PROTOTYPE REQUIREMENTs .Close .Open Andriole95 Stephen J Andriole(CIGNA) Debatable Developent: What should we believe? IEEE Software Magazine V12n4(Jun 1995)pp13-18 =ESSAY THEORY vs PRACTICE METHODS p13: "There is an enormous disconnection between what academicians and consultants think will revolutionize development and what actually works in the trenches. We have much to learn about what really works what works a little and what does not work at all." .See [AndrioleMonsanto95] .Close .Open AndrioleMonsanto95 Stephen J Andriole( & Charlton A Monsanto Interactive Collaborative Requirements Management Software Development(Sep 1995)pp35-40 =DEMO Do-It-Yourself TOOL REQUIREMENTS VISUALBASIC Requirements: Its easier and cheaper to use a set of simple tools and templates (flowcharters databases ... prototypers) under the control of a Visual Basic workbench than even Integrated CASE tools .Close .Open Anguela09 Andrew Anguelo Software Methodology Wars (Viewpoint) IEEE Computer Society Career Watch Mailing list (Mar 2009) .See http://www2.computer.org/portal/web/buildyourcareer/careerwatch/vp4 =ESSAY PROCES METHODS DEVELOPMENT vs ENGINEERING ONE-SIZE ECONOMICS SHORT-TERM vs LONG_TERM Quote .Net .Key Development is based on iterations of trial and error in the absence of knowledge and facts. It most often found in organizations that don't value their software technology as a critical business asset and treat it as a necessary evil or a cost of doing business. Business executives in these types of organizations operate very much like those during the dot-com boom days. Itbis based on iterations of trial and error in the absence of knowledge and facts. It no surprise that today's more popular development methodologies are based on principles that shun documentation, engineering thought patterns, and encourage the use of loosely conceived ideas in production environments under the guise of flexibility. [...] .Key Engineering methodologies are much more methodical than development methodologies. Consideration of past, present, and future, as well as adherence to standards and practices are all core principles of software engineering. Although not perfect, these methodologies facilitate the design of systems with intent and that embody the characteristics of reliability, maintainability, and scalability. Such results come at a price however. .Close.Net (dick)|- Ignores the claim that refactoring software can maintain the quality of software. .Close .Open Anon(HOS)84 Product brochure Building Systems with USE.IT Higher Order Software Inc. 1984 (2067 Massuchusetts Ave Cambridges MA 02140) =ADVERT TOOL METHOD .Close .Open Anon90 Anonymous but verified letter IEEE Software Magazine V7n1(Mar 1990)p4 =LETTER whistleblowing engineering RISKS .Close .Open ANSI/IEEE87 IEEE Computer Society ANSI/IEEE Software Engineering Standards IEEE/John Wiley 1987 =STANDARD lifecycle Technical .Close .Open ANSI/IEEE90 IEEE Computer Society IEEE Standard Glossary of Software Engineering Engineering Terminology(ANSI/IEEE Std. 610.12-1990) IEEE Piscataway NJ =STANDARD GLOSSARY software_engineering::="The application of systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is the application of engineering to software." .Close .Open ANSI83ADA ANSI American National Standard for the programming language ADA Washington DC Jan/Feb 1983 =STANDARD Ada LRM LANGUAGE .Close .Open AntonPotts03 Annie I Anton & Colin Potts Functional Paleontology: The evolution of User-Visible System services IEEE Trans Software Engineering V29n2(Feb 2003)pp151-166 =EMPIRICAL HISTORY PURPOSE QUALITY REALITY EVOLUTION 50-years domestic telephones Lehman's theory of E-systems that co-evolve with there environment implies that understanding environment change should proceed architectural design. Systems vs services. Systems provide both benefits and burdens. A dialectic process. Functional_Morphology::=`profile of benefits and burdens at a given point`. Analyzed 1950-1999 adverts in Atlanta Telephone directories. Evidence of punctuated evolution, expansion followed by retrenchment, growth from core outward, caller benefits first, object-level precedes meta-level. .Close .Open AntoniolCanforaCasazzaLuciaMerlo02 Giuliano Antoniol & Gerardo Canfora & Gerardo Casazza & Andrea De Lucia & Ettore Merlo Recovering Traceability Links between Code and Documentation IEEE Trans Software Engineering V28n10(Oct 2002)pp970-983 =CASESTUDY IR PROBABILITY VECTOR-SPACE TRACEABILITY LIFE-CYCLE 2 methods: one uses Bayes and frequencies. the other a vector space with distance/similarity formula/metric. Both are better than grep. Both can achieve 100% recall of all relevant. Probability based figures help teams trace code back to documentation. Probability gets better when 100% recall is needed.. Vector calculations are easier. .Close .Open AntoniolEtal04 Giulano Antoniol & Aniello Cimitile & Guisepe A Di Lucca & Massimliano Di Penta Assessing Staffing Needs for a Software Maintenance Project through Queuing simulation IEEE Trans Software Engineering V30n1(Jan 2004)pp43-58 =EXPERIENCE PROCESS ESTIMATION QUEUES SIMULATION EVOLUTION PEOPLE COBOL/JCL Y2K QUEUEING THEORY Assumed that Brooks law did not hold for Y2K. Future: conversion to euro, new euro-phone numbers. QUEUE:Stochastic_System=Net{ interarrival, service:Distribution, number_of_servers:Nat=1, capacity:Nat=oo, discipline:Discipline=FIFO}. Distribution:={Markovian, Deterministic, Erlang[k], General}. Erlang[1]:=exponential. Case study used QUEUE(M,G,m) model. Lessons earned: simulating queuing models helped predict staffing needs and do what-ifs for team size and rework rates. But need daily figures (not weekly!). Not steady state: start up and close down phase are 30%of whole. Queuing simulation tends to overestimate needs and so minimizes risk of over run. .Close .Open AntoniolGueheneuc06 Giuliano Antoniol & Yann-Gael Gueheneuc Feature Identification: an epidemiological metaphor IEEE Trans Software Engineering V32n9(Sep 2006)pp625-641 =DEMO MAINTENANCE TECHNICALREVERSE ENGINEERING TOOL CODE MODULE ANALYSIS A way to find out, by executing software the parts used to implement a feature. .Close .Open Antoniou99 Grigoris Antoniou A Tutorial on Default Logics ACM ACM Computing Surveys V31n4(Dec 1999) pp337-359 CR0006-0401 =TUTORIAL FORMAL LOGIC DEFAULT INFERENCE EXCEPTIONS default :=`if Prereq : Justifications then Consequent`, `if Prereq then Consequent unless Justifications is known to be false` where no free variables in parts. default schema has free variables - stands for all substitutions. normal: `if P : J then J` closed world : `if true : not A then not A` Not just inferences but also extensions of sets known facts by applying defaults that don't lead to contradictions .Close .Open AntoyGannon94 Sergio Antoy & John Gannon Using Term Rewriting to Verify Software IEEE Trans on Software Eng VSE-20n4(Apr 1994)pp259-274 =THEORY MATHEMATICAL PROOF PROGRAM .Box Power Functions .Box as a tool in annotating and proving programs assumes that statements compute functions on states pf is the powerfunction of statement iff pf(k,s)= ([statement]^k) (s) R:condition, w:=`while(b)(f)`, wp(w,R)(s) = for some k:0..( R(pf(k,s)) and k= \mu i:0..(not b(pf(i,s))) ) .Close.Box representation as a kind of morphism. p263: Ada - lack of means to annotate and verify semantic properties of elements in a package. Uaing the idea of a monoid of program functions. p264: Specifying a C++ class by relationships between its operations member functions) and showing their completeness. p265: Definition of subtyping (cf Liskov) includes annotated properties... but no representation function. TermRewritingSystems, Confluence Church-Rosser. Termination/Noetherian. Both gives cannonical or convergent or complete TRS. (see Wechler 1992) Ask specifiers to specs as a cannonical TRS. hence overspecification(superposition algorithm Leavens 1991)and underspecification(another algorithm...) pp266..267:Cannot compute confluence and termination. Hence strategies for ensuring them. pp267..: Proving theorems: difficult, neeed tool to help. p271 problems with module interconnections... .Close.Box .Close .Open AntoyHamlet00 Sergio Antoy & Dick Hamlet Automatically checking an implementation against its Formal Specification IEEE Trans Software Eng V26n1(Jan 2000)pp55-69 =DEMO THEORY TEST SQA EXPERIMENT JAVA .Close .Open Aoyama93 Mikio Aoyama (Fujitsu) Concurrent-Development Process Model IEEE Software Magazine (May 1993)pp48-55 =EXPERIENCE management maturity non-sequential YAC(Aoyamaetal89) becomes YPL .Box To reduce development cycle (time for a release). 10^6 lines of code 3 months/cycle. Higher risks and so more careful management helps expose problems in process Requires at least a repeatable process maturity. p50: "For the large-scale communication project, therefore, we described the entire development process up to the details of the invidual developer's task, and analysed them. We then restructured a conventional process model to support concurrent development and developped a process-management system" p50:"traditional models focus on a single sequence of [...]; concurrent[...] focusses on the concurrent execution of multiple processes" Uncovering interactions between parallel requirements+designs by intensive review and inspection + management focus on decoupling requirements Interactions between implementations use configuration management. + integration focussed testing Special team from teams: define process, manage products, co-ordinate, develop management technique, plan, specify, and develop software-engineering environments and coordinate with research. .Close.Box .Close .Open Aoyamaetal89 Mikio Aoyama & K Miyamoto & N Murakama & H Nagano & Y Oki Design Specification in Japan: Tree Structured Charts IEEE Software Magazine v6n2(Mar 1989)pp31-37 =ADVERT graphic YAC .Close .Open ApelLeachSaake08 Sven Apel & Thomas Leach & Gunter Saake Aspectual Feature Modules IEEE Trans Software Engineering V34n2(Mar/Apr 2008)pp162-180 =DEMO FEATURES FOP + ASPECTS AOP ITERATION PRODUCT LINES AFM AFM::="Aspectual Feature Module", combines iterative Feature Oriented Programming (FOP) with Aspect Oriented Programming(AOP). .Close .Open AppelbeAbowd95 Bill Appelbe & Gregory Abowd Beyond Objects: A Response ACM SIGSOFT Software Engineering Notes V20n3(Jul 1995)pp =ESSAY .Box Shows that Booch86 is no longer a Booch OOD and so is not a valid base for rejecting OO methods for process control systems (as claimed by Mary Shaw Jan 1995 SEN) Claims experience shows that process control loops need to be replaced by OO designs(SEI Teh report CMU/SEI-93-TR-14 Aug 1993) .Close.Box .Close .Open Apt88 Krzysztof R Apt Proving Correctness of Concurrent Programs: A Quick Introduction Chapter 7 (pp305-345) of Borger88 =THEORY NONSEQUENTIAL CORRECTNESS PROOF .Close .Open Aptetal80 Krzysztof R Apt & Francez & De Roever A Proof System for Communicating Sequential Processes ACM TOPLAS V2n3(Jul 1980)pp359-385 =THEORY LOGIC CSP formal .Close .Open ApvrilleEtal04 Ludovic Apvrille & Jean-PIere Courtat & Christophe Lohr & Pierre de Saqui-Sannes TURTLE: A Real-Time UML Profile Supported by a Formal Validation Tool IEEE Trans Software Engineering V30n7(Jul 2004)pp473-487 =TYPE REALTIME MODEL V&V UML1.5 PROFILE TCLASSES TTOOL RT-LOTOS RTL Notes .Close .Open Arango95 Guillermo Arango(arango@austin.sar.slb.com) Software reusability and the Internet .See [SamadzadehZand95] pp22-23 .Box The internet could make a big difference - it changes what are the relevant problems in Sw reuse. Scale (worwide) gives new laws and issues. what you need is available somewhere! (but can you trust it) People help in the retrieval via newsgroups. "self appointed intelligent librarians". Products and services. informations borkers/librarians on the net. Willl need to keep a software technology watch over assets standards services trends. NEED: standards and Processes... like the news eg. .Close.Box .Close .Open Arangoetal86 Guillermo Arango & Ira Baxter & Peter Freeman & Christopher Pidgeon(all at UCI) TMM: Software Maintenance by Transformation IEEE Software Magazine V3n3(May 1986)pp27-39 =ADVERT for Draco based: make abstraction before porting using domain specific thingies .Close .Open Aranow89 Eric Aranow Full Lifecycle CASE: Views from the Tower of Babel System Builder (Oct/Nov 1989) =REPORT CASE tools process Pictures of three different life cycles: "waterfall", "Rapid Iterative Prototyping", "Iterative redefinition and redesign". Does not describe the idea of implementing part of the system first to refine and elicit requirements. .Close .Open Aranow92 Eric Aranow Object Technology Means Object-Oriented Thinking Software Magazine (Mar 1992) The baggage of the structured techniques - concentrate on the up-front analysis to get our class hierarchies properly defined .Close .Open ArbaughFithenMcHugh00 William A Arbaugh & William L Fithen & John McHugh Windows of Vulnerability: A Case study Analysis IEEE Computer Magazine V33n12(Dec 2000)pp52-5 =ANALYSIS CERT Exploits IMAP phf BIND 1996-1999 Three buffer-overflow magnitude and one miss-out mistake. Automating a vulnerability (not disclosing it) allows many more intrusions. Systems are not being managed well: Nearly all intrusions could have been halted if known precautions installed. .Close .Open Arbib64 Michael Arbib Brains Machines & Mathematics USA McGraw Hill 1964 =TEXT cybernetics theory .Close .Open Arbib68 Michael A. Arbib (ed) & K Krohn & J L. Rhodes Algebraic Theory of Machines Languages & Semigroups Academic Press New York 1968 =TEXT topology .Close .Open ArblasterSimeGreen ?? Arblaster & ?? Sime && ?? Green Jumping to Some Purpose Comp Jnl v22 n2 (May 1979) pp105-109 =EXPERIEMNT sequential Technical .Close .Open ArdagnaPernici07 Danilo Ardagna & Barbara Pernici Adaptive Service Composition in Flexible Processes IEEE Trans Software Engineering V33n6(Jun 2007)pp369-384 =EXPERIMENT ANNOTATED MODEL SERVICE QUALITIES PERFORMANCE OPTIMIZATION QoS MAIS BPEL UML XML MILP Given a process that has many steps and includes loops and branches, and each elementary step can be carried out by several rival "concrete" services.... what is the optimum selection of services to complete task? Given the same process that is partly complete.... what is the optimum way to complete the process. If the optimal solution is not good enough... how to negotiate a better one. MAIS::="MultiChannel Information Systems" project, .See http://www.mais-project.it MILP::model="Mixed Integer Linear Programming". Qualities = { Price, Reputation, Execution_time, availability, data_quality}. Experiments suggest the algorithms work and are feasible. .Close .Open Ardisetal96 Mark A Ardis & John A Chaves & Lalita Jategaonker Jagadeesan & Peter Mataga & Carlos Puchol & Mark G StasKauskas & James Von Olnhausen A Framework for Evaluating Specification Methods for Reactive Systems: Experience Report IEEE Trans Softw Eng VSE22N6(Jun 1996)pp378-389 revised from ICSE-17 1995 =COMPARISON Modechart VFSM Esterel LOTOS Z SDL C telecommunications; SDL and Esterel scored well methods uncovered dangerous ambiguity in an informally stated standard .Close .Open ArdisMataga99 Mark Ardis & Pete Mataga Formal Methods Through Domain engineering In .See [HincheyBowen99] pp315-328 =EXPERIENCE FAST PROCESS DOMAIN technology transfer 5ESS Lucent Recommends an evolutionary, incremental, introduction of formal methods, that follows informal Domain analysis to identify useful abstractions. FAST::Process="Family-Oriented Abstraction, Specification, and Translation". .Close .Open Arjomandietal83 Arjomandi & Fischer & Lynch Efficiency of Synchronous Versus Asynchronous Distributed Systems Jnl ACM V30n3(Jul 1983)pp449-456 =THEORY non-sequential optimization .Close .Open Arnold94 Robert S Arnold Software ReEngineering: A Quick History Comm ACM V37n5(May 1994)pp13-14 =HISTORY maintenance .Close .Open ArnoldK94 Ken Arnold Class Design for Inheritance UNIX Review V12n7(Jul 1994)pp67-72 =ARTICLE DESIGN OBJECT-ORIENTED .Box A is_a_special B A is_a B class A: public B{....} Liskov, Anything possible to/true of a B is possible to/true of an A as well A is_a_kind_of B that does V in a special way class B...{ virtual... V (....)=0 } class A: public B{..virtual... V (....){...}..} A has_a B class A:... { ... B name; ...} A refers_to_a B class A:...{ B* name; ...} A implemented_using B class A: private B {....} Don't! class A: protected B{....} Don't! A is_like_a B For some C, A and B come from a template C .Close.Box .Close .Open ArnoldTFuson94 Thomas R Arnold & William A Fuson Testing "In A Perfect World" Commun ACM V37n9(Sep 1994)pp78-86(in Binder94) =ESSAY NONSEQUENTIAL OBJECTS SQA .Box p86(Conclusions) Testing is difficult Good objects are difficult to write because: behaviors and components are sometimes complex + likely to be used in unimagined contexts + depend on non-OO software with nonencapsulated sideeffects + C++ object model does not expand (without care) across client-server or peer-peer environments Testing is easier: hierarchies reuse code - reexercise + public interfaces defined early allowing earlysimilar test drivers -> automation Clashes: C++ vs DCE exceptions + extant non-thread-safe libraries + thread support in C++ practically non-existant Reccommend: Use code analysis tools to aid code review, self-istrumenting tools to detect bugs, prepare to develop in house tools, make development environment that encourage cosistent testing. .Close.Box .Close .Open ArnoutMeyer03 Karine Arnout & Bertrand Meyer Uncovering Hidden Contracts: The .NET Example IEEE Computer Magazine V36n11(Nov 2003)pp48- =CASE-STUDY CONTRACTS ASSERTIONS ..NET LIBRARY META-DATA TOOL In ARRAY_LIST 62% of routines have implicit contracts hidden in the meta-data. .Close .Open AroraGouda93 Anish Arora & Mohamed Gouda Closure and Convergence: A Foundation for Fault-Tolerant Computing IEEE Trans on Software Eng VSE-19n11(Nov 1993)pp1015-1027 =THEORY guarded commands formal reliability .Box closure is a safety property: If a fault occurs when the system is OK then (and even if faults continue) the system enters a larger set of states Convergence is a liveness property: If faults stop occuring then the system eventually reaches an OK state OK state = legal. atomic commitment (two-phase commit), data transfer, Byzantyne agreement, sliding window, delay insensitivity, impossible requirements, design methods. .Close.Box .Close .Open Arce02 Ivan Arce Bug Hunting: The Seven Ways of the Security Samurai IEEE Computer Magazine Security & Privacy supplement V35(Mar/Apr 2002)pp11-15 =EXPERIENCE BUGS SECURITY QUALITY RISKS Lists security bug myths in a sidebar p12. Bug hunting takes time and understanding all the implications takes longer. Lists samples of security bugs in a sidebar p13 The seven ways: audit, debuggers and disassemble, network traffic analysis, blackbox tests, brute force, top-down analysis, such the Internet. Methods: lone ranger, timeboxed peer audit, assembly line, rotating teams. .Close .Open Argent-KatwalaBradleyDingle04 Ashok Argent-Katwala & Jeremy T Bradley & Nicholas J Dingle Expressing Performance Requirements using Regular Expressions to specify stochastic probes over process algebra models WOSP'04 & ACM SIGSOFT Software Engineering Notes V29n1(Jan 2004)pp49-58 =DEMO Performance Regular Expressions stochastic process algebra PEPA TOOL ipc/DNAmaca .Close .Open Ariely09 Dan Ariely Predictably Irrational: The Hidden Forces That Shape Our Decisions Harper Collins NY NY 2009 =UNREAD =POPULARIZATION =EXPERIMENTS PEOPLE PSYCHOLOGY FALLACIES MARKETING BEHAVIORAL ECONOMICS Web site .See http://www.predictablyirrational.com/ We are all a lot less rational than standard economics assumes. Online Outline .See http://bookoutlines.pbworks.com/Predictably-Irrational Reviewers are welcomed at .See ./contribute.html A third option can makes us choose the worse alternative. cf Arrow's Theorem. Price is often determined by habit not supply and demand. The word "Free" helps us spend more money. We will buy things or do things because we think others will buy/do it -- norms. Arousal changes things. Procrastination -- teachers should impose deadlines. We overprice what we have -- cognitive dissonance strikes again. We will waste time and money to keep our options open. Expectations color our perceptions. Stereotypes! Higher cost makes medicine etc. work better. We don't like to cheat but still cheat a little bit. We are more honest about cash than things. Making public choices can make you choose differently (in the USA) or in conformity(Hong Kong). (dick)|- Maslow! .Close .Open AriesEtal02 James A Aries & Subhankar Bannerjee & Marc S Brittan & Eric Dillion & Janusz S Kowalik & John P Lixvar Capacity and Performance Analysis of Distributed Enterprise Systems Commun ACM V45n6(Jun 2002)pp100-105 =EXPERIENCE Boeing RE-ENGINEERING TUNING PERFORMANCE large scaling client-server net SIMULATION Need to monitor what is going on. Need model of workload characteristics. Load testing. Need model of system. Mathematical and analytical models. Trading off time to solve vs accuracy of predictions. .Close .Open ArinzeAnandarajan03 Bay Arinze & Murugan Anandarajan A Framework for Using Object-Oriented mapping methods to rapidly configure ERP Systems Commun ACM V46n2(Feb 2003)pp61-65 =ADVERT EOM Object-Oriented ERP EOM::="Enterprise Object Model". .Close .Open ArisholmBriandFoyen04 Erik Arisholm & Lionel C Briand & Auden Fvyen Dynamic Coupling Measurement for Object-Oriented Software IEEE Trans Software Engineering V30n8(Aug 2004)pp491-506 =CASESTUDY DYNAMIC RUNTIME Java COUPLING METRICS TOOL JDissect Notes interaction of inheritance and message passing: the object-level coupling is determined at runtime but class-level is static (and different). Figure 2, p494 is UML Metamodel of classes, methods, objects, etc.. Studied Velocity open source in Apache Jakarta Project. 17 versions 408 class es, 17KLOC, 65 inheritance relation, 149 methods overridden. Average dynamic import and export couplings are always equal. Principle components confirm that dynamic coupling is not correlated with stat ic metrics. Regression of change proneness on SLOC and each proposed metric. |- the dynamic export coupling metrics predict change proneness. Similar to work done on Smalltalk. Export coupling occurs when one method is called by another one. `Changes come from calls` .Close .Open ArisholmBriandHoveLabiche06 Erik Arisholm & Lionel C Briand & Siw Elisabeth Hove & Yvan Labiche The impact of UML Documentation on Software Maintenance: an Experimental Evaluation IEEE Trans Software Engineering V32n6(Jun 2006)pp365-381 =EXPERIMENT UML MAINTENANCE DOCUMENTATION TOOLS TAO Visio Java Oslo Ottawa UML documentation helps students to correctly make complex changes in code. It helps students make complex changers faster but the total time (including updating the diagrams was longer. Some students who had no UML docs drew their own on difficult tasks. Some students given UML ignored it on some tasks. Students without the UML docs where more likely to say that they were out of practice with Java and had problems grasping the whole picture. Previous experiment .See ArisholmSjoberg04 .Close .Open ArisholmSjoberg04 Erik Arisholm & Dag I J Sjoberg Evaluating the Effect of a delegate versus centralized Control Style on the maintainability of Object-Oriented Software IEEE Trans Software Engineering V30n8(Aug 2004)pp521-534 =EXPERIMENT EVOLUTION MAINTENANCE Object-Oriented MODULES Expert REALITY vs novice Java SESE RDD Responsibility GLM ANOVA Comparison of the correctness and effort for maintaining two OO designs for the Coffee-Machine problem from OOPSLA'97 OO. Compared consultants(3 levels: junior, intermediate, senior) and Students(Ugrad vs Grad). Two designs: one centralizes most of the responsibilities into a FrontPanel object. The decentralized design models ideas like product, ingredient, recipe and spreads the functionality over 12 modules. Overall correctness on 4 tasks: 59%, correctness increases with expertise, centralized(69%) done correctly more often than decentralized(50%)! Effort drops with expertise for students, but for consultants the effort on decentralized design drops with expertise and increases for the centralized. .Close .Open ArisholmEtAl07 Erik Arisholm & Hans Gallis & Tore Dyba & Dag I K Sjoberg Evaluating Pair Programming with respect to System Complexity and Progrmmer Expertise IEEE Trans Software Engineering V33n2(Jan 2007)pp65-86 =EXPERIMENT TECHNICAL MAINTENANCE PAIR PROGRAMMING EXPERTISE STYLE Java Well designed experiment testes whether pairs are more productive than programmers working alone. Based on previously used experimental code .See ArisholmSjoberg04 On average there is a slight bdecrease in the time and an increase in the likelihood of a correct fix -- but the effort(2 people vs 1person) is 80% higher. With less experienced programmers pairs are 70%more likely to produce correct code it takes them a little longer. Intermediate programmers get the best reduction in time 30%. Experience programmers produce less correct code but do bit a little faster. All these effects are moderated as the code switches style from a centralized control design to a distributed control Object-Oriented design. .Close .Open ArlowNeustadt04 J Arlow & I Neustadt Enterprise patterns and MDA: Building Better Software with Archetype Patterns and UML Addison Wesley Longman Publishing Co, Inc., Redwood City, CA, 2003. $CR 0412-1461. =HANDBOOK COMMERCIAL ORGANISATION LITERATE UML MODELS MDA PCL archetype pleomorph MDA::$OMG="Model Driven Architecture", using tools to convert models directly to code. PCL::=" Pattern Configuration Language". archetype ::= "a class, attribute, operation, or relationship that appears in many applications" ArlowNeustadt04_pattern ::= "A collection of collaborating archetypes", optional parts shown by the <> stereotype. Names: Party, Party relationship, Customer Relations Management(CRM), Product, Inventory, Order, Quantity, Money, Rule. pleomorph ::= " distinct patterns of archetypes in different enterprises". .Close .Open Armour00 Phillip G Armour The Case for a new business model Commun ACM V43n8(Aug 2000)pp11-22 =IDEA software is a medium for storing DATA 5_media:=(DNA, brains, hardware/tools, books, software). We need paraphrenalia to allow us to embed knowledge in software so that it can be changed and used. workplace and process should help acquire knowledge. 1. domain knowledge, 2. how to acquire knowledge, 3. how to structure it for embedding in software. Most developers will not need knowledge of software itself. failure also leads to knowledge account for knowledge as an asset .Close .Open Armour00b Phillip G Armour The Five Orders of Ignorance Commun ACM V43n10(Oct 2000)pp17-20 =ESSAY TECHNICAL CODE contains KNOWLEDGE PROCESSES METHODS Tight hacked code does not contain disproven ex-knowlege. For n:0..4, n.OI := n.th Order Ignorance. 0.OI = demonstrable knowledge. 1.OI = Know that I don't know. 2.OI = I don't Know that I don't know. 3.OI = I don't know how to uncover 2.OI. 4.OI = I don't know about the OI. Methods and processes give usxquestions not answers. .Close .Open Armour01 Phillip G Armour The Laws of Software Process Commun ACM V44n1(Jan 2001)pp15- =ESSAY PROCESSES CMM IGNORANCE 5 orders of ignorance .See [Armour00b] Why developing processes is difficult. One size doesn't fit all. Fit process to situation. Experimental lab areas. Term limits. Measure value. .Close .Open Armour01b Phillip G Armour Matching Process to Types of Teams Commun ACM V44n7(Jul 2001)pp21-23 =ESSAY ONESIZE PROCESS TEAM PEOPLE One size does not fit all -- a creative team does not want a repeatable product! Four kinds of team:=( tactical, problem-solving, creative, Learning). Use "orders of Ignorance".. .See [Armour00b] .Close .Open Armour02 Phillip G Armour The Spiritual Life of Projects Commun ACM V45n1(Jan 2002)pp11-14 =ESSAY PEOPLE MANAGEMENT TEAM (FatherJim)|-4 components of humanity: physical, intellectual, emotional and spiritual. need: explicit or implicit code of conduct, higher purpose, contributing values to someone's life, morale, mutual support, leadership by creating an environment where people do their best, caring for weaker members of the team. .Close .Open Armour02b Phillip G Armour Ten Unmyths of Project estimation Commun ACM V45n11(Nov 2002)pp15-18 =ESSAY ESTIMATION QUALITIES |- What we don't know is a major source of error in estimation and defects in code. |- Sometimes we don't even know that we are missing knowledge. |- Estimates are inaccurate. |- don't estimate dates: estimate the probability of an event by that date. |- estimates are not commitments. |- time is only roughly defendant on size. |- Historical data may be the best data, but it is not good enough to predict productivity. |- Productivity works for buildings and things but not for knowledge. |- LOC/FP does not measure knowledge we don't have. |- Brook's Law. |- No amount of resources can guarantee absence of defects. .Close .Open Armour04 Phillip Armour When Executives Code Commun ACM V47n1(Jan 2004)pp19-22 =EXPERIENCE PEOPLE vs PRACTICE MANAGEMENT Executives on a 3 day course behave like amateur programmers on a programming project and emerge sadder but wiser. The course project included unexpected system failure, unrealistic deadlines, and deliberately intrusive management. Executives lost track of the goals of the project in the joys of hacking code! Never produced working system. .Close .Open Armour04a Phillip G Armour Not-Defect: the Mature Discipline of Testing Commun ACM V47n10(Oct 2004)pp15-18 =ESSAY TESTING IGNORANCE Testing is about discovering what we don't know. .Close .Open Armour03 Phillip G Armour The laws of Software Process: A New model for the production and management of software Auerbach Boston MA 2003 ISBN 0849314895 CR 0502-0217 =THEORY IGNORANCE PEOPLE METHODS Software development as a process of discovering and recording knowledge. Based on .Lookup Armour .Close .Open Armour06 Phillip G Armour Counting Boulders and Measuring Mountains Commun ACM V49n1(Jan 2006)pp17-20 =ANALOGY ESTIMATION PLANNING Project Management WBS COCOMO SLIM-Estimate Everest Argues that you don't get a good estimate of the size of a mountain by estimating the rocks that make it up and adding up the numbers. WBS::="Work Breakdown Structure", count the rocks in the mountain. Executives then ask for a better estimate/plan. Scope-based implementation is more like using surveying tools and techniques to measure the mountain. Use the scope of the project to estimate final system size. Time depends on a power of system size. Since scope is uncertain and the estimates of size based on a given scope add uncertainty, one generates effort estimates that have a range of values. Quantify the uncertainties! No discussion of the agile approach (start climbing the mountain first, and change your estimates as you climb, etc.) .Close .Open Armour06b Phillip G Armour Software: hard data Commun ACM V49n9(Sep 2006)pp15-17 =EXPERIENCES statistics Information technology projects Software enacts knowledge about many domains with no commonality. Quotes data from "QSM". Small teams succeed more than large ones. Typical projects have fewer than 7 people, last < 8 months, use COBOL, 9KLOC. More projects overlap phases these days. Best projects are good accross the board: effort, estimate, duration,... Big LOC projects are more productive but why? .Close .Open Armour07 Phillip G Armour Agile . . . And Offshore Commun ACM V50n1(Jan 2007)pp13-14 =INTERVIEW AGILE DISTRIBUTED PEOPLE ECONOMICS TOOLS WEB/NET GeneerAginity Ukraine Mantis Subversion Cruise control Ncover simian Agile Geneer misjudged .com crash 2000-2002 & bank foreclosed. Aginity offshore development (Evanston+Kiev) based on personal contact, shared achitecture, patterns, frameworks, language, & vocabulary. Stories, iterations, risk provocation. Open source groupware tools generate management data via web spaces. .Close .Open Armour07a Phillip G Armour Mortallity Play Commun ACM V50n3(Map 2007)pp- =ANECDOTE INSURANCE SOFTWARE ESTIMATION Insurance depends on estimating precisely the chances of bad things happening... But this (anon) company had failed to figure out the chance of four projects failing. Armour figured each had a 1/5 chance, so all four at about 1/200 for the complete set. They used classic project planning with task breakdown etc... Conclusion: don't just ask how long a project will take, ask what is the chanace that it will be complete by the deadline. .Close .Open Armour07b Philip G Armour Twenty Percent Commun ACM V50n6(Jun 2007)pp21-23 =IDEA ESTIMATION OPTIMISTIC RISKS DEATHMARCH A good 50% estimate -- allowing for reasonable problems -- is negotiated down to one that has a 20% of being met, by ignoring the risks. Optimism reduces the resources requested at the price of increasing the probability of running out of resources. See .See [Spinellis07a] and .Find [DEATHMARCH] .Close .Open Armour08 Phillip G Armour The inaccurate conception Commun ACM V51n3(Mar 2008)pp13-16 =ESSAY ESTIMATION UNCERTAINTY LIFECYCLE Cone_of_uncertainty::=map[t:time]([1/f(t) .. f(t)]* actual ), for some decreasing function f. "Describes how estimates get more accurate as a project proceeds". At that start of new product estimates are between [0.25 .. 4.0] times the actual value. Tightens as uncertainties are removed. Express estimates as a distribution mapping qualities to probability of success. S shaped curve. commitment is not an estimate. .Close .Open Armour09 Phillip G Armour The Business of Software: The Ontology of Paper Commun ACM V52n1(Jan 2009)pp23-24 .See http://doi.acm.org/10.1145/1435417.1435427 =ESSAY DOCUMENTATION PAPER vs Claims that the industrial revolution did not occur until steam engines were used to create steam engines. Claims that current software technology tends to reproduce the defects of paper-based artifacts. Describes the properties of paper artifacts: difficult to link artifacts, not executable, not easily verifiable, serial access, imposes a hierarchical structure, places information within a linear context, inherently single-tasking, ... Even hypertext does not relax these constraints. Claims that older systems fitted the paper model well. New systems need the external linkages and executability of software. .Close .Open Armour09a Phillip G Armour the business of software: the cliche defence Commun ACM V52n7(Jul 2009)pp34-36 .See http://doi.acm.org/10.1145/1538788.1538802 =ESSAY PEOPLE MANAGERS BUZZ PHRASES Do it right the first time. But.... Quote: "much of the business of software involves the discovery of what we are supposed to be doing". Work smarter not harder. Quality is the most important thing. But.... Which quality? Our customers are the most important thing. But.... Which customers? What about future extensions and the people who work on them? Our people are the most important thing. But... are they supported? .Close .Open Arms01 Willian Y Arms Uniform Resource Names: Handles, PURLs, and Digital Object Identifiers Commun ACM V44n5(May 2001)p68 =HISTORY WEB/NET URL RFC1737 URN CNRI DOI IDF PURL ::= "Persistent URL". .Close .Open Armstrong06 Deborah J. Armstrong The Quarks of Object-Oriented Development Commun ACM V49n2(Feb 2006)pp123-128 =SURVEY OBJECTS TECHNICAL ONTOLOGY GLOSSARY TAXONOMY Two "constructs": Structure and Behavior. Under Structure: Abstraction, Class, Encapsulation, Inheritance, Object. Under Behavior: Message Passing, Method, Polymorphism. Table 3 includes definitions of the concepts. .Close .Open Armstrong01 Rob Armstrong Seven Steps to Optimizing Data Warehouse Performance IEEE Computer Magazine V34n12(Dec 2001)pp76-79 =ADVERT PERFORMANCE OLAP DATA WAREHOUSE Good for OLTP is bad for OLAP. Cf SSADM Physical design control in 1980's. steps: use relational OLTP data, implement special views via SQL, add indices, store more summaries, denormalize, denormalize irrationally, export data. Cycle: define requirement, understand benefits, determine needed data, find lowest step to get performance, calculate costs, implement or redefine requirements. .Close .Open ArrechederaMatteo00 Hector Arrechedera & Alfredo Matteo How to get started with Design Patterns Proc SCI/ISAS2000 VII pp47-52 .See [SCI00] =EXPERIENCE EDUCATION OBJECT-ORIENTED PATTERNS .Close .Open ArthorneLaffra04 John Arthorne & Chris Laffra Official Eclipse 3.0 FAQs Addison Wesley Pro BostonMA 2004 ISBN 0321268385 $CR 0605-0450 .See http://www.eclipse.org =UNREAD =MANUAL Eclipse PLUGIN Java IDE SWT .Hole .Close .Open Arthur92 Lowell Jay Arthur Rapid Evolutionary development: requirements, prototyping and software creation John Wiley& Son NYNY 1992 ISBN 0-471-53633 $CR 9211-0860 QA76.76.D47A78 =HANDBOOK EVOLUTION REQUIREMENTS PROTOTYPES .Close .Open Arthur97 Lowell Jay Arthur Quantum Improvements in Software QUALITY Commun ACM V40n6(Jun 1997)pp46-52 =EXPERIENCE PEOPLE PROCES QUALITY MODULES METRIC CYCLOMATIC PARETO focus on particular results and people. Give practical "accelerated" training(story+demonstrations+discuss application). Laws: 20% of the code has 80% of the errors. 20% of the code requires 80% of the mods. Keep cyclomatic complexity of modules between 5 and 15. .Close .Open ArthurGronerHayhurstHolloway99 James D Arthur & Markus D Gr"oner & Kelly J Hayhurst & C Michael Holloway Evaluating the effectiveness of independent verification and validation IEEE Computer Magazine V32n10(Oct 1999)pp79-83 =EXPERIMENT V&V SEES MER TAPs IV&V beneficial: cost of errors reduced .Close .Open Asaravala03 Amit Asaravala All by themselves Software Development Magazine V11n3(Mar 2003)pp38-41 =HISTORY AGENTS AI Clippy metadata semantic web XML RDF ontology DAML+OIL LOGIC Agents (minimally) observe an environment and react to changes by interacting with the environment -- and other agents. Agents either need a shared ontology or a way to share ontologies and metadata. RDF::XML_DTD="Resource Description Framework", indicates relationships between subjects, predicates and objects. .Close .Open Asaravala04 Amit Asaravala Project Management, Evo Style Software Development -- People and Projects newsletter(Nov 2004) =ARTICLE AGILE EVOLUTIONARY PROJECT MANAGEMENT 1960s ITERATIVE Evo PDCA Many small cycles each with Planning, Checking, Doing, and Acting --(PDCA) Acting changes the plans... See also "Evolutionary Project Management Methods," by Niels Malotaux .See http://click.sd.email-publisher.com/maacOZiabbnXPbdngFsb/ [pdf] and "How Quality Is Assured by Evolutionary Methods," by Niels Malotaux .See http://click.sd.email-publisher.com/maacOZiabbnXQbdngFsb/ [pdf]. .Close .Open AsarinCaspiMaler02 Eugene Asarin & Paul Caspi & Oded Maler Timed Regular Expressions J. ACM V49n2(Mar 2002)pp172-206 =THEORY TIMING REGULAR EXPRESSIONS STRINGS FSM LANGUAGES KLEENE BUCHI NONSEQUENTIAL When time is important as well as sequence, then timed automata recognize languages defined by extended regular expressions: Intersection and relabelling have to be added to union/sequence/closure. Definition is via the free merge of a Time monoid and an Event monoid. .Close .Open Ashman00 H L Ashman Relations Modeling Sets of Hypermedia Links and Navigation Computer Journal V43n5( 2000)pp345-363 =THEORY WWW/NET HYPERTEXT .Close .Open AslesonSchutta05 Ryan Asleson & Nathaniel T Schutta Foundations of Ajax (foundation) Apress Berkeley CA 2005 ISBN 159059823 $CR 0611-1104 =UNREAD Web/NET Javascript XML Ajax Compare with rival Atlas .See [SmithK06] from Microsoft. .Close .Open Aslett91 M J Aslett(Ed)(GEC Marconi UK) A knowledge based approach to Software development: ESPRIT project ASPIS North-Holland Amsterdam Netherlands 1991 ISBN 0-444-88886-1 CR9310-0740 =UNREAD KNOWLEDGE ASPIS .Close .Open AstesianoReggioRicca08 Egidio Astesiano & Gianna Reggio & Filippo Ricca Modeling Business with a UML-based Rigorous Software Development Approach Montanari Festschrift pp261-277 .See [DeganoEtAl08] =DEMO UML BUSINESS MODELING MARS SOA REALITIES SYSTEMS ORGANIZATION OCL BM::discipline="Business Modeling". Use multiple UML2 views of business: Static + Organization + Business Process + Data. Model business processes in the context of other business processes. Model business entities and organization. Model activities precisely. Proposes stereotypes: <> for autonomous acts, <> for business worker, <> for business objects, <> external entities, <> organizational units. <> business process "use case". <> high level cases. .Close .Open AstleySturmanAghar01 Mark Astley & Daniel Sturman & Gul Aghar Customizable middleware for modular distributed software Commun ACM V44n5(May 2001)pp99-107 =DEMO MODULES ARCHITECTURE WWW/NET NONSEQUENTIAL QUALITIES REFLECTION LANGUAGE ACTORS separate concerns of application (PURPOSES) from nonfunctional requirements (policies) like security and atomicity. Express policies(requirements) explicitly in the software. Policies are to protocols as interfaces are to implementations. DIL::= "Distributed Interaction Language", describes a protocol in terms of roles and their responses to events. Roles are formal parameters. Multiple policies achieved by stacking protocols with one object playing one or more roles in several protocols. ?? Aliasing ? .Close .Open Astrachan91 Owen Astrachan Pictures as Invariants SIGCSE Bulletin V23n1(Mar 1991)pp112-118 =DEMO LOGIC TECHNICAL GRAPHIC .Close .Open Asuaga01 Ana Asuaga Enginering a New society IEEE Computer Magazine V34n6(Jun 2001)pp104+102-103- =ESSAY SYSTEMS ENGINEERING ETHICS Need for collaboration and listening in engineering and in society. .Close .Open AthanasSilverman93 Peter M Athanas & Harvey F Silverman Processor Reconfiguration Through Instruction-Set Metamorphosis IEEE Computer Magazine V26n3(Mar 1993)pp11-20 =DEMO DFDs HARDWARE DFDs on pages 15-16 are called DFGs .Close .Open AtkinsBallGravesMockus02 David L Atkins & Thomas Ball & Todd L Graves & Audris Mockus Using Version Control Data to evaluate the Impact of Software Tools: A Case Study of the Version editor(VE) IEEE Trans Software Engineering V28n7(Jul 2002)pp625-637 =EMPIRICAL TECHNICAL TOOL EVALUATION |- (1) : tools help developers determine and/or carry out modifications in existing documents. |- (2) : The change history of such documents can be used to estimate the effort. (1,2)|- record tools used and relate to monitored data. Tool designed to hide C++ #ifdefs etc had a significant and good effect on productivity. .Close .Open AtkinsonKuhne03 Colin Atkinson & Thomas K"uhne Aspect-Oriented Development with Stratified Frameworks IEEE Software Magazine V20n1(Jan/Feb 2003)pp81-89 =IDEA DESIGN ASPECTS AOP HIERARCHY ARCHITECTURE PATTERNS Refine labelled interactions to collaborations of objects. Labels name concerns and indicate the collaboration and/or more detailed concerns. Concerns include coordination, distribution, persistence, security, recovery, undo, paradigms .Close .Open AtleeBuckley96 Joanne M Atlee & Michael A Buckley A logic-Model Semantics for SCR Software Requirements Proc 1996 Int Symposium on Software Testing & Analysis(ISSTA) & ACM SIGSOFT SENotes V21n3(May 1996)pp280-292 =IDEA LOGIC SCR REQUIREMENTS TABULAR SCR::="Software Cost Reduction" SCR Statecharts RSML all share conditioned-event-driven reactive systems. demos analytical requirements temporal logic model and tool SMV::="Symbolic Model Verifier". CTL::=Computational Tree Logic See CORE .See [WilliamsL94] .See [HeimdahlLeveson96] .Close .Open Atwood07 Jeff Atwood The coming Software Patent Apocalpse Coding Horror (Jul ?? 2007) .See http://www.codinghorror.com/blog/archives/000902.html =ESSAY LEGAL PATENT ARMS RACE Microsoft Knuth .Close .Open Atwood08 Jeff Atwood Coding: It's just writing coding horror nov10th .See http://www.codinghorror.com/blog/archives/001184.html =ESSAY CODING STYLE STRUNK LITERATE KNUTH .Close .Open Atwood09? Jeff Atwood software engineering dead? coding horror blog (jul 18 2007) .See http://www.codinghorror.com/blog/archives/001288.html =ESSAY CONTROL PLANNING ENGINEERING CRAFT surprised by .See [DeMarco09] Quote .Box And yet, it's also a release. It's as if a crushing weight has been lifted from my chest. I can publicly acknowledge what I've slowly, gradually realized over the last 5 to 10 years of my career as a software developer: what we do is craftsmanship, not engineering. And I can say this proudly, unashamedly, with nary a shred of self-doubt. .Close.Box .Close .Open Atwood09b Jeff Atwood COBOL: Everywhere and Nowhere Coding Horror (Aug 9 2009) .See http://www.codinghorror.com/blog/archives/001294.html =BLOG COBOL COBOL.NET EXAMPLE .Close .Open AueBreu94 Alfred Aue & Michael Breu Distributed Information Systems: An Advanced Methodology IEEE trans on Soft Eng vSE-20n8(Aug 1994)pp594-605 =ADVERT BOS(Bull + Olivetti & Siemens-Nixdorf) ENGINEERING method REQUIREMENTS LIFECYCLE ERD Based on Merise/Omega MOis GRAPES. Relaxed water fall model. Documents can be drafted approved and then baseline. The draft versions "look ahead" to the future options. .Close .Open AugustinePayneSencindiverWoodcock05 Sanjiv Augustine & Bob Payne & Fred Sencindiver & Susan Woodcock Agile Project Management: Steering from the edges. Commun ACM V48n12(Dec 2005)pp85-89 =ADVERT AGILE PROJECT MANAGEMENT APM COMPLEXITY XP APM ::= "Agile Project Management". Agile methods rescue a medium sized project in 2002. Lists: 6 practices, 7 changes, 6 new activities, 6 innovations, 7 difficulties. sidebar p87 describes complex adaptive systems ( CAS ). .Close .Open Austin99 Robert D Austin The Phantom Menace IEEE Software Magazine V16n5(Sep/Oct 1999)pp15-18 =EXPERIENCE PROCESSES MANAGEMENT superstars, dynamic requirements, parallelism, theatre .Close .Open AustinDevin03 Rob Austin & Lee Devin Beyond Requirements: software Making as Art IEEE Software Magazine V20n1(Jan/Feb 2003)pp93-95 =ESSAY REQUIREMENTS FORMAL vs AGILE PURPOSES QUALITIES EVOLUTION ITERATION Analogy with producing a play. The requirements are like a script. But a great performance goes beyond the script by iteration, creation, and improvisation. So great software will go beyond the predicted requirements using creativity, iteration, and improvisation. .Close .Open Autebert99 Jean-Michel Autebert Some Results about Centralized PC grammar systems Theor Comput Sci V215n1/2(Feb 28 1999)pp383-398 =THEORY NONSEQUENTIAL GRAMMAR LANGUAGES THEORY PC:= Parallel communicating context free. Grammars generate query symbols that is a non-terminal in another grammar. Centralised:@PC=only one grammar inserts queries. .Close .Open AvisonFitzgerald03 David E Avison & Guy Fitzgerald Where Now for development methodologies Commun ACM V46n1(Jan 2003)pp79- =HISTORY METHODS NONE SDLC ONE-SIZE -> DIVERSITY methods became mixtures of ( structured, data-oriented, prototyping, Object-Oriented, participative, strategic, Systems) methods. Most were local to the organization even if based on another one. web related return to 1960's ad hocism? .Close .Open AvisonGregorWilson06 David Avison & Shirley Gregor & David Wilson Managerial IT Unconsciousness Commun ACM V49n7(Jul 2006)pp89-93 =EXPERIENCES RISKS 3 AUSTRALIAN FAILURES PEOPLE RMIT ERP PeopleSoft Sidney Water One.Tel All three we catastrophic (or near catastrophes) for stake holders. One bankruptcy. 3 different types of business: university, utility, .com telephones Risk factors .Box Over-complex/ambitious or over-integrated systems. Clueless management -- Poor governance -- no checks on progress and quality. Inexperienced or powerless experts with no clout -- warnings ignored. Ignoring the critical importance of getting money in: billing systems! .Close.Box .Close .Open AvisonYoung07 David Avison & Terry Young Time to rethink health care and ICT Commun ACM V50n6(Jun 2007)pp69-74 =SURVEY UK HEALTH RISKS PEOPLE CULTURE FACE-TO-FACE VS ERP NPfIT RISP CSCI372 Describes and analyses the history of health systems not meeting their goals and/or failing to serve the stake holders NPiFT::UK.NHS="The National Program for Information Technology". Notes that best practices include understanding and supporting the culture of the organization. Notes that health system rely on complex face-to-face communication. Claims this is being ignored in NPfIT. .Close .Open AvizienisBall87 Algirdas Avizienis & Danforth E Ball On the Achievement of a Dependable and Fault-Tolerant Air Traffic Control System IEEE Computer Magazine V20n2 (Feb 1987)pp63-71 =EXPERIENCE FAA AAS minimize RISKS Compare with the later TCAS. .Close .Open Avruninetal91 George S Avrunin & Ugo A. Buy & James C Corbett & Laura K Dillon and Jack C Wileden Automated Analysis of Concurrent Systems With the Constrained Expression Toolset IEEE SE-V17n11(Nov 1991)pp1204-1222 CR9303-0149 =DEMO TOOL NONSEQUENTIAL PREDICTION PROOF regular expressions plus interleaving to predict behaviors and problems .Close .Open AycockHorspool01 John Aycock & R Nigel Horspool Schroedinger's Token Software - Practice & Experience V31n8(10 Jul 2001)pp803-814 =IDEA LEXICAL PARSING LANGUAGES NONDETERMINISM During lexical analysis a token can be left in a superposition of several types until the parser looks into the token and resolves it. IF IF = THEN THEN THEN =IF dummy token type: SCHRODINGER .Close .Open AyewahEtAl08 Nathaniel Ayewah & William Pugh & David Hovemeyer & J David Morgenthaler & John Penix Using Static Analysis to Find Bugs IEEE Software Magazine V25n5(Sep/Oct 2008)pp22-29 =EXPERIENCE Google =SURVEY OPEN SOURCE TOOL FindBugs Java TECHNICAL QUALITY Mondrian A free static analysis tool finds real defects in real code ... Plus some false positives -- but misses some bugs. Survey of users shows it to be useful. .Close .Open BaaderNipkow98 Franz Baader & Tobias Nipkow Term rewriting and all that Cambridge U Press NY NY 1998 ISBN 0-521-77920-0 CR0002-0072 =THEORY MATH .Close .Open Baber82 Robert Laurence Baber Software Reflected: the socially responsible programming of our computers North Holland NY NY 1982 QA76.6.B26 =TEXTBOOK USER .Close .Open Baber85 Robert L Baber I/O Statements in Higher Programming Languages: Unnecessary & Undesirable(Open Channel) IEEE Computer Magazine V18n6(Jun 1985)p112 =HARMFUL input/output LANGUAGES harmful to split secondary from primary memory .Close .Open BabarGorton09 Muhammad Ali Babar & Ian Gorton Software Architecture Review: The State of Practice IEEE Computer Magazine V42n7(Jul 2009)pp27-32 =POLL 235 ENTERPRISES SQA ARCHITECTURE MODELS INSPECTION WALKTHROUGH Excellent summary of ways of ensuring design quality and addressing architectural concerns -- not all of them popular. Common techniques: Scenarios, Experience, and prototyping. Less common: check lists, metrics, simulation, questionaires, mathematics Documenting architectures: modeling notations, views, features, assumptions and constraints, ... Inputs: (commonest first) requirements, descriptions, business drivers, standards, ... Stakeholders -- various .Close .Open Babinetal91 Gilbert Babin & Francois Lustman & Peretz Shoval Specification and Design of Transactions in Informations Systems: A Formal Approach IEEE SE-V17n8(Aug 1991)pp815-829 CR9303-0181 QV Lustman94 dataflows vs control_data_flows & FSM .Close .Open Bach95 James Bach Enough about process: What we need are heroes IEEE Software Magazine V12n2(Mar 1995)pp96-98+replies IEEE Software Magazine V12n3(May 1995)p5-7 .See [Bach9?] .Box "Heroism means going beyond the borders of the known world and returning with new knowledge or wealth[...]sustainable, healthy sort of heroism requires judgement to know how much commitmment and risk is right for the situation. The movement towards process in our industry is an understandable reaction against pathological heroism: heroism for its own sake, in which overcommitment and uncontrolled risk-taking is the norm." p97: "The 'cowboy' or 'big magic' model. In this view, gifted people create software through apparent magical means, with no particular guidance or support" Can integrate process and heroism by taking a people centred view and seeing software production as a dynamic, complex, etc. system for solving problems. Reply: John Henry or Pecos Bill, trial by cold pizza,... .Close.Box .Close .Open Bach97 James Bach Good Enough Quality: Beyond the Buzzword IEEE Computer Magazine V30n8(Aug 1997)pp96-98 =ESSAY QUALITY ECONMICS MS-PROCESS rational choices of what to fix now GEQ::="Good Enough Quality" .Close .Open Bach9? James Bach Process Evolution in a Mad World Borland International Internal Report (100 Borland Way Scots Valley CA 96066) .See [Bach95] .Box (for chaos)Leadership->Risk Management->Process Control(for order) Risk management - prevent failure vs Goals - maximize success .As_is Risk{identification<=>planning<=>resolution}. .As_is V^ V^ V^ .As_is Goal setting<=>Task Planning<=> Task completion Risk based evolution. (riskbased1): absolutely necessary - to handle perceived risk (riskbased2): make it tolerant (riskbased3): small informal experiments first (riskbased4): frequent evaluation (riskbased5): find a champion (riskbased6): work with the team (riskbased7): mentor, not a manuaal (riskbased8): "formalize" only when necessary Example Bug reviews. 50..100 bugs per day. 30 bugs an hour. .Close.Box .Close .Open BachleKirchberg07 Michael Bachle & Pauk Kirchberg Ruby on Rails IEEE Software Magazine V24n6(Nov/Dec 2007)pp105-108 =DEMO RUBY ROR TECHNICAL WEB PLATFORM RAPID PROTOTYPING MVC Also compares with Apache Struts, Tapestry, Cocoon, and ASP.NET .Close .Open Bachman69 Charles Bachman Data Structure Diagrams Data Base Journal ACM SIGDBP v1 n2 (?? 1969)pp4-10 =DEMO GRAPHIC DATA Reality .Close .Open Bachman73 Charles Bachman The Programmer as Navigator Commun ACM v16 n11 Nov73 pp653-658 =ESSAY data .Close .Open Bachman92 Charlie Bachman New Apps Must be Model-Driven:Business Needs Steer Changes to Tech Model Software Magazine Debate (Mar 1992)p52 .Close .Open Backhouseetal89 Roland Backhouse & Paul Chisholm & Grant Malcolm & Erik Saaman Do-it-yourself Type Theory Formal Aspects Comput V1n1 (Jan-Mar 1989)pp19-84 =theory structures Reality .Close .Open BaclawskiIndurkhya94 Kenneth Baclawski & Bipin Indurkhya The Notion of Inheritance in object-oriented programming(Letter) Commun ACM V37n9(Sep 1994)pp118-119 .See [Grosberg93] .See [ArnoldK94] (C++ advice) .Box refers to debate over meaning of inheritance: Abrahams's 91 letter "Subject: Objectivism" Lalonde & Pugh JOOP 91 "subclassing <> subtyping <> is-a" Tesler's 91 CACM letter Wegner 80 pages in 90 OOPS messenger Winkler 92 letter refers to POV vs COV in Winkler's letter Quotes Wegner 90 POV = Physical & COV = Conceptual Piaget: Child constructs idea of object permanence from its own actions on the objects. Class of objects without actions<>class of objects with some actions. Failure to find epistomological foundations of the IS-A link - six different generic-generic and four kinds of generic-individual relation "The point here is that the concepts in the real world, which programs attempt to model, do not come in neatly packaged hierarchies." (cf GoldsteinAlger92) "There are no standard conceptual hierachies. Given a domain and a specific PURPOSE, certain concept hierarchies would be clearly preferable than others, but such policy decisions are best left to the USER of the programming language[...] What a PL provides is a set of mechanisms [...] restrict what can be implemented[but] they do not themselves validate some view of inheritance or other[...]" these are also just implemented concepts and do not not have a universal objective meaning....upto the designers to choose suitable mechanisms. .Close.Box .Close .Open BaeckerMarcus90 R M Baeker & A Marcus Human Factors and typography for More Readable Programs ACM Press 1990 Readability QUALITY Readability Technical .Close .Open Baetan90 J C M Baetan(Ed) Applications of Process Algebra Cambridge U Press Cambridge UK & NY NY 1990 =Theory nonsequential algebra CSP CCS ACP .Box problem with informal semantics in POOL pp172-236(Frits W Vaandrager) fairness and liveness [p13 of Baetan90 by J A Bergstra &J W Kop] ultrametric [p9 of Baetan90 by J A Bergstra &J W Kop] :. all guarded recursion equations without abstraction have a unique solution. process creation can be simulated. pp81-88 of Baetan90 by J A Bergstra ) Process Algebra is a better model than CSP/CCS for concurrency. Relations are a basic process algebra pp1-22(J A Bergstra &J W Kop) but without <*> .Close.Box .Close .Open Baetan08 Joe C M Baetan Calculating with Automata Montanari Festschrift .See [DeganoEtAl08] pp746-756 =EDUCATION THEORY ALGEBRA EQUATIONS AUTOMATA GRAMMARS KLEENE REGULAR EXPRESSIONS Demonstrates that most of standard theory can be taught using equations. .Close .Open BaierHaverkortHermansKatoen03 Christel Baier & Boudewijn Haverkort & Holger Hermans & Joost-Pieter Katoen Model-checking algorithms for continuous-time Markov Chains IEEE Trans Software Engineering V29n6(Jun 2003)pp524-541 =THEORY MATHEMATICS MODEL CHECKING CTMC CSL RELIABILITY CTL CSL:="Continuous Stochastic Logic". Steady state + path probabilities in time intervals. Modes P[event] <=> p. Nested. Generalizes CTL. CTMC::="continuous time Markov chains". P(i -> j fires after t) = c*exp( -rate*t) iff it is first. .Close .Open Baggi05 Denis L Baggi An IEEE Standard for Symbolic Music IEEE Computer Magazine V38n11(Nov 2005)pp100-102 =REPORT MUSIC STANDARD P1599 XML MEI RM0 P1599 ::=http://www.computer.org/portal/pages/ieeecs/communities/standards/1599/par.html MusicXML ::= http://www.recordare.com/xml.html .Close .Open BaggiHaus09 Denis Baggi & Goffredo Haus IEEE 1599: Music encoding and interaction IEEE Computer Magazine V42n3pp84-87 =ADVERT =STANDARD IEEE-1599 MUSIC AUDIO VISUAL NOTATION GAME JAZZ Blues XML IEEE1599::DTD=http://standards.ieee.org/downloads/1599/1599-208/ Example: Previous report .See [Baggi05] .Close .Open Bagrodia89 Rajive Bagrodia Synchronisation of Asynchronous Processes in CSP ACM Trans Prog Lang Syst V11n4(Oct 1989) pp585-597 =THEORY Technical non-sequential .Close .Open BahsounMerzServieres93 Jean Paul Bahsoun & Stephan Merz & Corinne Servieres A Framework for Programming and Formalizing Concurrent Objects .See [Notkin93] pp 126-137 =THEORY non-sequential objects TLA .Box The conjunction of the single agent's specifications plus some axioms representing the communication structure. messages::=${ sender, destination::agent, mode::modes, type::message_types, parameters::vector, ...}. Two modes: asynchronous- after sending the sender does not wait, semi-synchronous - the sender will not send a message of the same type to the same receiver before the first message has been acknowledged by the receiver. Assumes arbitrary delays and that messages can get out of order. TLA formalization via send[a](M)::=net:| a>> 2003 -- The Unified Modeling Language Oct 2003, pp295-309 =IDEA MODEL DATA VIEWS RELATIONAL DB RDB OCL Introduces derived classes with names like /Emp2 .Close .Open Bamberger97 Judy Bamberger(bamberger@eaglet.rain.com) Essence of the Capability Maturity Model IEEE Computer magazine V30n8(Jun 1997)p112-114 =REPORT IMPROVEMENT CMM .Close .Open BamfordDeibler93 Robert C Bamford & William J Deibler II Comparing & contrasting ISO9000 and the SEI capability maturity model IEEE Computer magazine v26n10(Oct 1993)pp68-70 .Close .Open BamfordDeibler03 Robert Bamford & William J Deibler ISO 9001;2000:for software and systems providers: an engineering approach CRC Press Boca Raton FL 2003 ISBN 0849320631 $CR 0511-1193 =REFERENCE ENGINEERING QUALITY STANDARD .Close .Open BanatreLeMetayer93 Jean-Pierre Banatre & Daniel Le Metayer Programming by Multiset Transformation Comm ACM V36n1(Jan 1993)pp98-111 Concurrent nondeterministic repeated local operations GAMMA=General Abstract Model for Multiset mAnipulation .Box In MATHS |-For Type T, bag(T) ::=Nat0^T. |-For Type T, t:T, bag(t) ::=t+>1|+> 0. For Type T, n:Nat, x:T^n, bag(x) ::= +(bag o x). For Type T, B:bag(T), B:@T::={t:T||B(t)>0}. For T:Type, n:Nat, X:=T^n, reaction:=(@^X)><(T^X), RA:finite_set(reaction), S:variable(bag(T)), \Gamma(RA) ::= do with(x:T^n, (R,A) :RA) ( x in R&S and S'=S-bag(x)+bag(A(x)) ). .Close.Box .Close .Open Bandinelietal95 sergio Bandineli & Alfonso Fuggetts & Luigi Lavazza & Maurizio & Gain Pietro Picco Modeling and improving an Industrial Software Process IEEE Trans Software Engineering V21n5(May 1995)pp440-453 =EXPERIENCE PROCESS MODEL when improving a process you need to check the official process against the reality. Also the official process may be described in terms that are ambiguous. FSMs and Petrie nets can be used to uncover ambiguities and iaccuracies in the official process. Further they can lead to the discovery of simple and effective improvements in the process. .Close .Open BandiVaishnaviTurk03 Rajendra K Bandi & Vijay K Vaishnavi & Daniel E Turk Predicting Maintenance Performance Using Object-Oriented Design complexity metrics IEEE Trans Software Engineering V29n1(Jan 2003)pp77-87 =EXPERIMENT Object-Oriented METRICS MAINTENANCE EMPIRICAL ANOVA Three metrics: interaction level (IL), Interface size (IS), and Operation Argument Complexity (OAC) Two tasks, one perfective and the other corrective maintenance. 93 students 5 sections, GPA 3.5, 14 credits of CIS work. tested for difference due to complexity, instructor and quarter. Complexity had a significant effect on maintenance time. Correlation indicates significant positive linear relations between each metric and maintenance time. But R^2 is only 12-25% .Close .Open BaniassadEtal06 Elisa Baniassad & Paul C Clements & Joao Araujo & Ana Moreira & Awais Rashid & Bedir Tekinerdogan Discovering Early Aspect IEEE Software Magazine V23n1(Jan/Feb 2006)pp61-70 =IDEA ASPECTS REQUIREMENTS ARCHITECTURE See .See http://www.early-aspects.net An aspect is a property that cuts across the `dominant decomposition`. In requirements, aspects constrain many scenarios. In architecture, aspects cut across many views. .Close .Open Bankeretal93 Rajiv D Banker & Srikani M Datar & Chris F Kemerer & Dani Zweig Software Complexity and Maintenance Costs Comm ACM V36n11(Nov 1993)pp81-94 Maintenance Time increased by larger modules & larger paragraphs & "bad" GOTOs .Close .Open BankerKemerer89 Rajiv D Banker & Srikani M Datar & Chris F Kemerer Scale Economies in New Software Development IEEE Trans Soft Eng VSE-15n10(Oct 1989)pp1199-1205 .See http://doi.ieeecomputersociety.org/10.1109/TSE.1989.559768 =THEORY ONESIZE Argues `work=a+size^b` is false because b varies giving a "most productive scale size" that "varies widely accross different application environments" .Close .Open BansiyaDavis02 Jagdish Bansiya & Carl G Davis A Hierarchical Model for Object-Oriented Design Quality Assessment IEEE Trans Software Engineering V28n1(Jan 2002)pp4-17 =EMPIRICAL QUALITIES METRIC OBJECT QMOOD C++ TOOL QMOOD++ MFC OWL MSWINDOWS FRAMEWORKS COOL Evaluated a set of metrics of two frameworks (MFC, OWL) over several releases. Ranked 13 COOL projects by hand and by QMOOD++ and found 0,4..0.9 correlation. .Close .Open BanslerBoedker93 Jorgen P Bansler & Keld Boedker A Reappraisal of Structured analysis: design in an organisational context ACM Trans Inf Syst V11n2(Apr 93)pp165-193, CR9402-0096 =POLL THEORY VS PRACTICE SA/SD Yourdon DeMarco DFD SA treats people as machines and so ignores errors creativity politics, assumes all problems have been stated, rational designer, separation of function from implementation small survey interviewing successful SA/SD. people use tools not the rules. DFDs and ERDs. prototypes, screen layout Abstract: .Box "This study reveals that while some of the tools of Structured Analysis - notably data flow diagrams - are used and combined with other tools, the designers do not follow the analysis and design procedures prescribed by the method" .Close.Box .Close .Open Bar-David93 Tsvi Bar-David Object-oriented design for C++ Prentice Hall Englewood Cliffs NJ 1993 CR9312-0913 D.1.5 .Box Mathematical treatment Appendix A: Barbara Liskov's "Data abstraction and Hierarchy" OOPSLA87 .Close.Box .Close .Open BarbierEtal03 Franck Barbier & Brian Henderson-Sellers & Annig Le Parc-Lacarelle & Jean-Michele Bruel Formalization of the Whole-Part Relationship in the Unified Modeling Language IEEE Trans Software Engineering V29n5(May 2003)pp459-470 Reviewed $CR 0409-1078 and 0409-1079 =PROPOSAL Object-Oriented MODEL STANDARD aggregation composition whole-part bibliography UML OCL MetaModel OML OPEN Diamonds careful philosophical analysis of semantics of whole-part. some confused "common logic" and much OCL. Defines a new dotted diamond whole-part Relationship with specialization of aggregation and composition. Introduces new stereotypes to indicate OCL constraints on the UML MetaModel. Will it make it into UML4.0? Correspondence .Box IEEE Trans Software Engineering V29n11(Nov 2003)pp1054-1056 "On formalization of the whole-part relationship in the unified modeling Language" by Hee Beng Kuan Tan & Lun Hao & Yong Hang corrects discrepancies, "Controversies about the Black and White Diamonds" by Frank Barbier & Brian Henderson-Sellers" responds by changing name of "antisymmetry", accepting new formula for "transitivity", and agreeing to minor correction in a proof. Regrets the absence of "scientific" review of UML specifications. .Close.Box .Close .Open BarbosaCostaAlmeidaAlameida04 Marcello W Barbosa & Mellssa M Costa & Jussara M Almeida & Virgilio A P Alameida Using Locality of reference to improve performance of peer-to-peer applications WOSP'04 & ACM SIGSOFT Software Engineering Notes V29n1(Jan 2004)pp216-227 =SIMULATION P2P NET PERFORMANCE DATA LOCATION QoS Freenet Gnutella claims 20..30% decrease in latency with no added load on network by knowing which node might have the data. .Close .Open BaresiOrsoPezze97 Luciano Baresi & Alessandro Orso & Mauro Pezze Introducing Formal Specification Methods in Industrial Practice .See [ICSE'97] need to develop special languages and notations fr each set of clients therefore a customizable system. Uses hypergraph grammars and kernel of petri nets .Close .Open BaresiPezze98 Luciano Baresi & Mauro Pezze Toward Formalizing Structured Analysis ACM ToSEM V7n1(Jan 1998)pp80-107 =ANALYSIS STRUCTURED METHOD SA/RT issues to be resolved before choosing a formal model for Hatley-Pirbhai SA for Real Time systems .Close .Open Barjis08 Joseph Barjis The importance of business process modeling in software systems design Science of Computer Programming V71n1(Mar 2008)pp73-87 .See http://www.sciencedirect.com/science $CR 0906-0558 =ADVERT METHOD THEORY MODEL DEMO LANGUAGE-ACTION PETRI GRAPHIC ANALYSIS REQUIREMENTS SCENARIOS Keywords: Requirements specifications; Model checking; Business process modeling; Business process simulation; DEMO::="Design & Engineering Methodology for Organizations", .See http://www.demo.nl/ Special colored Petri nets show logic. Can be simulated to show clients what is possible. Analyze business processes in terms of the language-action cycle as expressed as $Transactions between parts. Transaction::=Order; Execution; Result. Order is a transition from initiator to executor. It sets up a contract for the executor to carry out. Result is a transition from executor to initiator. It completes the contract. Execution is executed by the executor and can initiate further transactions with others. .Close .Open Barlas96 Stephen Barlas Anatomy of a Runaway: What Grounded the AAS(Advanced Automation System) IEEE Software Magazine V13n1(Jan 1996)pp104-106 Failure of a 10 year life-cycle at edge of technology at start with 99.99999% reliability and dynamic loose REQUIREMENTS .See [Barlas96a] .Close .Open Barlas96a Stephen Barlas FAA Shifts Focus to Scaled-Back DSR IEEE Software magazine V13n3(Mar 1996)pp110+114 .See [Hall96a] .See [Barlas96] .See [KlosterZellweger87] .Close .Open BarnardPrice94 Jack Barnard & Art Price Managing Code Inspection Information IEEE Software magazine v11n2(Mar 1994)pp59-69 =EXPERIENCE QUALITY control of SQA .Close .Open Barnesetal91 Bruce H Barnes & Terry H Bolinger Making Reuse Cost-Effective IEEE Software v6n1(Jan 1991)pp13-24 .Close .Open Barnhart95 Andy Barnhart Let's Get Stupid Software Development Mag V3n3(Mar 1995)pp63-67. =ESSAY TECHNICAL advantages for going for the obvious simple solution that works. problems with inspired brilliant solutions. The algorithm that suddenly starts to work when you are playing with it and you don't know why. Documenting Magic. .Close .Open Barnhart99 Andy Barnhart Wrapping COBOL Business Logic in Java Software Development Mag V7n10(Oct 1999)pp41-45. =EXPERIENCE TECHNICAL COBOL JAVA GUI LEGACY MARS UK RLSCOM Telco marketting cellular air time .Close .Open Barrett87 Geof Barrett Formal Methods Applied to a Floating Point Number System Technical Monograph 58 PRG Oxford 1987 =EXPERIENCE PROOF Floating-point operations STANDARD .Box used Hoare/Floyd-style proofs to prove that Inmos' software floating-point package satisfied its specification, a Z-ified version of the IEEE-754 standard. This software fp package was the starting point for the formally-derived microcode for the FPU in the Inmos T800 transputer. This was certainly a real-world application; moreover, the formal approach overtook the informal approach, and in the process they found an inconsistency and an ambiguity in the IEEE standard, and a bug in a competitor's chip. Inmos and the PRG (Oxford) were awarded a Queen's Award for Technological Achievement for the T800 project. Includes Floating point IEEE TSE paper -- where is it? .Close.Box .Close .Open Barrett95 Geof Barrett Model Checking in Practice: The T9000 Virtual Channel Processor IEEE Trans on Software Eng VSE-21n2(Feb 1995)pp69-78 =EXPERIENCE SQA INSPECTIONS MODEL CHECKING FORMAL NOTATIONS STD CSP Z English Sometime implementation was correct when the spec was wrong Easier to show what can happen than to show that something can not happen Problem with notation(CSP) - "completely alien" to people used to STDs. Quote: "Must base our tools on familiar notations and understand the obstacles...this means that visual specifications have to be used as much as possible." Using multiple notations. STDs+Z+English. Using checker for finite sequences. Need an unusual combination of engineering, mathematical and programming skills .Close .Open BarryStanienda98 Douglas Barry Torsten Stanienda Solving the Java Object Storage Problem IEEE Computer magazine V31n11(Nov 1998)pp33-40 =DEMO TECHNICAL JAVA JDBC ODMG persistence SQL .Close .Open Basili90 Victor R Basili Viewing Maintenance as Reuse-oriented Software Development IEEE Software V7n1(Jan 1990)pp19-25 System Technical .Close .Open Basili95 Victor Basili(interviewed) Finding an Experimental Basis for Software Engineering IEEE Software Magazine V12n3(May 1995)pp92-93 =ADVERT EMPIRICAL GQM QUALITIES EXPERIMENTS PROCESS IMPROVEMENT EXPERIENCE The Software Engineering Laboratory Goal/Question/Metric paradigm QUALITY Improvement Paradigm A separate Experience Factory "The process is a variable to be manipulated" "You can't just hand developers a tool or a method and walk away[...]be there as a resource,[...]supply cost models[...]types of defects[...]uncovering that class of defects[...]" ISERN::=International Software Engineering Research Network. Also see .See [Basili95a] .Close .Open Basili95a Victor Basili The Experience Factory and its Relationship to Other Quality Approaches Advances in Computers V41(1995)pp66-82 =EMPIRICAL QUALITY IMPROVEMENT EF/QIP vs PDCA:=Plan_Do_Check_Act + TQM + SEI CMM Also see .See [Basili95] .Close .Open BasiliBriandMelo96 Victor R Basili & Lionel C Briand & Walcelio L Melo How Reuse Influences Productivity in Object-Oriented Systems Comm ACM V39n10(Oct 1996)pp104-116 =experiment OMT Gnu C++ OSF/Motif significant benefits in defect density rework and productivity .Close .Open BasiliDonzelliAsgari04 Victor Basili & Paolo Donzelli &Sima Asgari A Unified Model of Dependability: Capturing Dependability in Context IEEE Software Magazine V21n6(Nov /Dec 2004)pp19-25 =CASESTUDY UMD TOOL THEORY QUALITIES DEPENDABILITY TSAFE Jargon! Students simulate stakeholders? .Close .Open Basilietal95 Victor Basili & Frank McGarry & Jerry Page & Sharon Waligora & Rose Pajerski SEL's Software Process-improvement Program IEEE Software Magazine(Nov 1995)pp83-87 =ADVERT SPIN SEL IMPROVEMENT 20 years: 75% fewer defect+50% reduction in cost+25% reduction in cycle time while complexity increased understand; Assess&Refine;Pakage significant changes come from Cleanroom and SQA techniques not PDL/Ada/OO. .Close .Open BasiliMcGarryPajerskiZelkowitz02 Victor Basili & Frank E McGarry & Rose Pajerski & Marvin V Zelkowitz Lessons learned from 25 years of process improvement: the rise and fall of the NASA software engineering laboratory ICSE24(May 2002)pp69-79 $CR 0406-0749 =UNREAD =HISTORY IMPROVEMENT NASA SEL Need management & staff support + focus & data. .Close .Open BasiliPerricone84 Victor R Basili & Barry T Perricone Software Errors and Complexity: An Empirical Investigation Commun ACM V27n1(Jan 1984)pp42-42 + Correspondence V28n3(Mar 1985)pp322-323 (with Richard J Botting, H Dieter Rombach & Richard W Selby) =EMPIRICAL DEFECTS MODULE COMPLEXITY SIZE SEL CHANGES New application means requirements change during the project. New modules have different kinds of errors than changed modules. Module size did not account for error proneness. Intuition clashes with data. .Close .Open BasiliRombach87 Victor R Basili & H Dieter Rombach Implementing Quantitive SQA: A Practical Model: Guest Editor's Intro to theme articles IEEE Software V4n5(Sep 1987)pp6-61 =EMPIRICAL QUALITY .Close .Open BasinDoserLodderstedt06 David Basin & Jurgen Doser & Torsten Lodderstedt Model driven security: from UML models to access control infrastructures ACM TOSEM Trans Software Eng & Methodology V15n1(Jan 2006)pp39-91 =DEMO MDA MODEL SECURITY ASPECT RBAC SecureUML DIALECT Java JB2EE .NET Extends RBAC using UML metamodeling. RBAC ::= Net{Users, Roles, Permissions: Sets. POSET(Roles, <=). UA:@(Users, Roles). PA:@(Roles, Permissions). AC:=UA o <= o PA.}. A user `u` can execute action `a` iff `u AC a`. Extend RBAC by adding a hierarchy of Actions. Shows how to generate complex & secure code by translating a UML model with SecureUML profile. .Close .Open Baskerville93 Richard Baskerville Information Systems Security Design Methods: Implications for Information Systems Development Comp Surveys V25n4(Dec 1993)pp375-414 (history of systems analysis ::=check lists; mechanical; abstraction) .Close .Open BaskervilleEtal01 Richard Baskerville & Linda Levine & Jan Pries-Heje & Balasubramaniam Ramesh & Sandra Slaughter How Software Companies Negotiate Quality IEEE Computer Magazine V34n5(May 2001)pp51-57 =POLL MARKET TIME QUALITIES drive PROCESS ONE-SIZE toad_code ::= "working code that was developed hopping fast and is ugly" .Close .Open BaskervilleEtAl03 Richard Baskerville & Balasubramaniam Ramesh & Linda Levine & Jan Pries-Heje & Sandra Slaughter Is Internet-speed software development Different? IEEE Software Magazine V20n6(Nov/Dec 2003)pp70-77 =COLLOQUIUM INTERNET WWW/net AGILE Answer=YES! Concurrent operation and development but no maintenance, fast releases, tools, customers in team, stable architecture, assemble and reuse components, evolve methodology, people! .Close .Open GrafLormansToetenel03 Bas Graf & Marco Lormans & Hans Toetenel Embedded Software Engineering: The State of the Practice IEEE Software Magazine V20n6(Nov/Dec 2003)pp61-69 =POLL 36 INTERVIEWS EMBEDDED REQUIREMENTS ARCHITECTURE MOOSE ITEA UML Hardware driven, top-down: system drives subsystem drives component. At each stage the previous architecture becomes a requirement in the next level. Stakeholders ={manufacturing, maintenance, marketing(users/consumers)}. Context = { Suppliers, standards, legacies, regulators } Requirements expressed in text using word processors and templates. Informal diagrams. Use cases from the UML. Some sequence diagrams and domain models. Pre/post conditions in programming. Only one formal specification(in Z). Managing changing requirements: spreadsheets. Architecture: vs time-to-market. Creative. Performance: design for maximum speed possible, hope, and test. UML popular with Visio and Rose. DFDs. ERDs. HatleyPirbhai. Reuse: Ad hoc. Memory, power and real time less prominent than expected. Modern methods/technologies: vs legacy systems, are too immature and complex, .Close .Open BassNordWoodZubrow06 Len Bass & Robert Nord & William Wood & David Zubrow Risk Themes Discovered Through Architecture =EXPERIENCE RISK ARCHITECTURE ATAM QUALITY Tech Report CMU/SEU-2006-TR-012 ATAM::="Architecture Tradeoff Analysis Method". Lists 15 Risk Theme Categories: Availability, Performance, security, modifiability, integration, process and tools, requirements, allocation, documentation, Big Picture, Unrecognized needs, product lines, awareness, scope, coordination. Claims 99 risk themes. Reference to Boeing experience with ATAM and Charette's failure causes. Relation to business goals. Importance of "Performance" . No evidence that risks are independent of domain. One size does not fit all. Risks of commission and Omission. Omission more common. Odd fact: security was always a risk of omitting to do something. .Close .Open Bassett94 Paul Bassett Reusability: You Reap What You Sow Software Magazine(Sep 1994)pp110-109 .Box Need to rethink the whole process rather than putting in special reuse patches... 10 possibile benfits: productivity, quality, flexibility, performance, portability, standards, hidden complexity, compatibility, reduced maintenance, evloution of common parts. .Close.Box .Close .Open Bastanied93 Farokh Bastani Special Issue on Software Reliability IEEE Trans on Software Eng VSE-19n11(Nov 1993)pp1013-1118 .Close .Open BasterKonanaScott01 Greg Baster & Prabhudev Konana & Judy E Scott Business Components: A Case Study of Bankers Trust Australia Limited Commun ACM V44n5(May 2001)pp92-98 =CASESTUDY DOMAIN TECHNOLOGY USER COMPONENTS ARCHITECTURE MODULES Arcadia B_T_gap ::= "Business-Technology Gap", a clash of subcultures. Important to get shared knowledge and resolve cultural values. Give the business users the ability to assemble applications from a repository of components. lessons learned:=following, .List understand the gap. understand usage patterns to minimize costly disruption. leverage user skills. Low profile and low hype. involve the detail-oriented users and allow word-of-mouth diffusion. long prototyping process. Leverage technical skills vs use skills -- technical optimize, users work out script details. Plan for reuse but not as a central focus. components evolve. user acceptance and buyin must come before reuse. .Close.List .Close .Open Batoryetal95 Don Batory(utexas) & Lou Coglianese & Mark Goodwin & Steve Shafer(Loral) Creating Reference Architectures: An Example from Avionics See .See [SamadzadehZand95] pp27-37 =CASE-STUDY ADAGE REUSE GenVoca realms DOMAIN .See [BatorySighalSirkinThomas93] .See [BatorySighalThomasetal94] .See http://www/dick/notes/Batoryetal95.html Gathering simple info was the most difficult aspect. Twice the cost and effort of a single system. .Close .Open BatoryEtal00 Don Batory & Gang Chen & Eric Robertson & Tao Wang Design Wizards and Visual Programming Environments for GenVoca Generators IEEE Trans Software Engineering V26n5(May 2000)pp441-452 =DEMO TOOL DSL ARCHITECTURE P3 DATA PERFORMANCE JAVA JTK Containers and cursors, type equations, optimization NP-hard .See http://www.cs.utexas.edu/users/schwartz .Close .Open BatoryEtal02 Don Batory & Clay Johnson & Bob MacDonald & Dale Vov Heeder Achieving Extensibility Through Product-lines and Domain-Specific Languages ACM TOSEM Trans Software Eng & Methodology V11n2(Apr 2002)pp191-214 =CASESTUDY ASPECTS ARCHITECTURE GenVoca PLAs DSLS REUSE FSMs Java JavaSM Features as first-class components that cross-cut across OO hierarchies .Close .Open BatoryGeraci97 Don Batory & Bart J Geraci Composition Validation and Subjectivity in GenVoca Generators IEEE Trans Softw Eng V23n2(Feb 1997)pp67-82 how to verify composition rules and how to allow multiple interfaces to components .Close .Open BatorySighalSirkinThomas93 Don Batory & Vivek Sighal & Marty Sirkin & Jeff Thomas<*@cs.utexas.edu> Scalable Software Libraries .See [Notkin93] pp191-199 GenVoca .See [BatorySighalThomasetal94] .Box Abstract: "... Libraries should not enumerate complex components with numerous features; rather, libraries should take a minimalist approach: They should provide only primitive building blocks and be accompanied by generators that can combine these blocks to yield complex data structures" Examples Booch C++(400 distinct DSs) and Gnu C++... The GenVoca Model [Bat92b: BatoryO'Malley92, "The design and Implementtion of hierarchical software systems with reusable components", ACM Trans Softw Eng Methodol October 1992] , not OOP. Layered software components. Analyse libg++: does not use inheritance to capture similar algorithms.. BoochC++: 18 varieties of deques! But can not use inheritance because need to carefully integrate concurrency guards and deque algorithms. layered, high level, standardized abstraction example P1 The P2 generator: the typex statement, container cursor,... Results. on spell checking Decl Indep... Using Booch C++,libg++, P1,P2.... on 4 structures: Unordred linked list, unordered array, sorted array, binary tree P1 P2 had smaller LOC. P1 and P2 faster on all but sorted array. Modification of P1/P2 easier. software template .Close.Box .Close .Open BatorySarvelaRauschmayer04 Don Batory & Jacob N Sarvela & Axel Rauschmayer Scaling Step-Wise Refinement IEEE Trans Software Engineering V30n6(Jun 2004)pp355-371 & ICSE 2003 =TOOL GENERATE CODE FEATURE REFINEMENT SWR AHEAD Gen Voca ATS JAX Java AHEAD ::= "Algebraic Hierarchical Equations for Application Design". Refinements apply to many types of artifacts(eg. Java code, Makefile, ...) in a uniform way. Artifacts treated as indexed collections (code=name<>->class, Makefile=target<>->action,...) A product is described as a set of equations in terms of features and the code is generated automatically. Two operations: A \dot B adds A to B. A \diamond B replaces items in B by matching A items. meta-modelling: Options and product lines described as unindexed sets. Origami ::= Describe each concern in a separate equation. .Close .Open BatorySighalThomasetal94 Don Batory & Vivek Sighal & Sankar Dasari & Jeff Thomas & Marty Sirkin The GenVoca Model of Software-System Generators IEEE Software Magazine V11n5(Sep 1994)pp89-94 .Box p91: "Surprisingly we found this domain[data structures] poses the same challenges as the domains of large software systems. The specificatons of realms, components, and component composition for data base systems, communication systems, distributed file systems, and avionics software is the same - only the complexity of the algorithms differs." .See [BatorySighalSirkinThomas93] Examples Genesis and Predator P++ language on top of C++ abstraction encapsulation and parameterization realms, components, parameters components encapsulate classes etc realms describe sets of components components act as transformers of input classes into new outut classes parameters for constants, types, realms, components,... Example: Data Structures in terms of containers, cursors, and links. .Close.Box .Close .Open BaudryEtal05 Benoit Baudry & Franck Fleurey & Jean-Marfc Jezequel & Yves Le Traon Automatic Test Case Optimization: A Bacteriologic Algorithm IEEE Software Magazine V22n2(Mar/Apr 2005)pp76-81 =IDEA C# PARSER BUILDER VISITOR TESTING MUTATION EVOLUTION FITNESS Nice use of patterns in the sample Component Under Test (CUT) a C# parser. Need 30 generations to produce a set of tests that could `kill` all 500 mutants. .Close .Open Bauer92 Henry H Bauer Scientific Literacy and the Myth of the Scientific Method U of Illinois Press Urbana Ill. QA175.B25 1992 ISBN 0252018567 =SURVEY SCIENCE STS SOCIAL PROCESS not method but diverse error-correcting social processes. jigsaw puzzle filter:=(human, frontier science, primary literature, secondary literature, textbook science, ...) proponents haven't been good testers. scientific knowledge is more like a map than a collection of facts prediction is not proof but helps, if theory useful fitting inteqesting includes innovation vs conservative needs explicit enforced ethics Compare .See [Lakatos76] on mathematics. .Close .Open Baxter92 Ira D Baxter Design Maintenance Systems Commun ACM V35n4(Apr 1992)pp73-89 =EXPERIENCE MAINTENANCE DESIGN vs CODE design deltas analysed(function, performance,...) and lead to implementation deltas, Transformation Control Language(TCL) Author sent me EMail... Quote from bibtex entry: .Box Suggests Design Maintenance rather than Code Maintenance should be focus. Shows how formal (transformational) model of software construction can be used to generate design histories, and also implicitly defines types of formal maintenance deltas. Procedures for updating a captured design history are sketched. .Close.Box .Close .Open Bayes1763 T Bayes An essay towards solving a problem in the doctrine of chances Phil Trans Royal Society V53(1763)pp370-418 =THEORY PROBABILITY Bayes approach to probability was to assume that the number represented the degree of belief a person had in the proposition. He worked argued that a rational person would have to follow certain rules. For example is P(A|B) is the probability of A given that B is true, then P(A&B) = P(A|B)*P(B). He worked out rules for rationally reevaluating the beliefs as new data came in. The heart of this is: (Bayes)|- (Bayes_theorem):if H is a set of mutually exclusive events, and E some new evidence, then for h:H, P( h | E) =P( E |h )*P(h )/\Sigma P( E | _ ). .Close .Open BayrakDavis03 Coskun Bayrak & Chad Davis The Relationship between Distributed Systems and Open Source development Commun ACM V46n12(Dec2003)pp99-102 =ESSAY OPEN SOURCE NONSEQUENTIAL PERFORMANCE OSD WWW/NET MARX MicroSoft W3C Analogy: Higher speeds in distributed computation come from NOT controlling and coordinating them but letting them loose. allowing a degree of inconsistency to develop is often a way to speed up the result. Tension between capital and craft..Close .Close .Open BCS/IEE89 British Computer Society & Institution of Electrical Engineers A Report on Undergraduate Curricula For Software Engineering BCS London UK 1989 =CURRICULUM .Box "SE is not simply a more organized approach to programming [than untrained amateurs and early Computer Science]" .Close.Box .Close .Open Beale07 Russell Beale Slanty design Commun ACM V50n1(Jan 2007)pp21-24 =IDEA USER FUNCTION DESIGN Slanty_design ::= `reduce functionality or usability to make unwanted behavior difficult or impossible`. Image: slanty tops to stop people putting things on them. .Close .Open BeauvaisEtal01 J-R Beauvais & E Rutten & T Gautier & R Houdebine & P Le Guernic & Y-M Tang Modeling Statecharts and Activitycharts as signal equations ACM TOSEM Trans Software Engineering & Methodology V10n4(Oct 2001)pp397-451 =THEORY TRANSLATION FSM statecharts denotation semantics Signal DC+ TOOL Sacres Signal::language. .Close .Open BeauxisPalamidessiValencia08 Ramain Beauxis & Catuscia Palamidessi & Frank D Valencia On the asynchronous Nature of Asynchronous \pi-Calculus Montanari Festschrift .See [DeganoEtAl08] pp473-492 =THEORY NONSEQUENTIAL BAGS QUEUES STACKS PI-CALCULUS Proves that to get behavior equivalent to \pi[a] (Asynchronous Pi Calculus) you need a normal \pi calculus where communication is through buffered channels that act as buffers. Queues and stacks can not simulate all \pi[a] behaviors. .Close .Open Beck99 Kent Beck(First Class Software) Embracing Change with Extreme Programming IEEE Computer Magazine V32n10(Oct 1999)pp70-77 =ADVERT =EXPERIENCES =HISTORY OBJECT-ORIENTED PROCESS METHOD XP See book .See [Beck99b] .Close .Open Beck99b Kent Beck(First Class Software) Extreme Programming Explained: Embrace Change Addison Wesley October 1999 =ADVERT XP OBJECT-ORIENTED PROCESS METHOD XP::="Extreme Programming", continuous analysis, many tiny (Analysis;Design;Implementation;Test) iterations driven by feedback from previous iterations. Planning game, small releases, put what the user needs on 3 by 5 cards called user stories, metaphor as a collection of user stories, simple design(say everything once and only once), programmers are always testing, customers also provide tests, merciless refactoring, pair programming, continuous integration(within hours), collective ownership of code, on-site customer, 40.hour weeks, open worksapce, Just Rules. See .See [Beck99] and WikiWiki Reviews: .See http://c2.com/cgi/wiki?ExtremeProgrammingExplainedEmbraceChange .Close .Open Beck00a Kent Beck Emergent Control in Extreme Programming Cutter IT Journal V13n11(Nov 2000)pp22-25 =ADVERT TECHNICAL PROCESS XP XP :={ test first, planning game, short release cycle, pair programming, onsite customer, opn workspace, yesterday's weather, refactoring, continuous integration, collectiveownrship, simple once-and-only-once design, sane hours }. control can be in the rules rather than embodied in person. .Close .Open Beck01 Kent Beck Aim, Fire IEEE Software Magazine V18n5(Sep/Oct 2001)pp87-89 =DEMO TESTING first is ANALYSIS DESIGN SPECIFICATION "Never write a line of functional code without a broken test case". Ward Cunningham: "Test-first coding is not a testing technique". Writing tests helps you understand the problem: analysis. Writing tests described the logic of the design. Hard to write GUI tests. Claim that creatively lazy test-first coding tends to be more cohesive and less coupled -- because the interfaces tend to be minimized to saving typing: "intense feedback substitutes for the ability to guess right" Test cases expose misunderstandings in pair programming. Test cases document the all important answer to "What was this idiot thinking when he wrote this?". .Close .Open Beck02 Kent Beck Test-driven development: by example Addison-Wesley Longman Boston MA 2002 ISBN 0321146530 .See [CR] 0308-0733 =TUTORIAL TEST REFACTOR DESIGN JUnit xUnit Python .Close .Open Beck06 Kent Beck Implementation Patterns Addison-Wesley Pro, Boston MA, 2006 ISBN 0321413091 $CR 0903-0209 Safari .See http://proquest.safaribooksonline.com/9780321413093 =THEORY PATTERNS Class State Behavior Collections Frameworks Performance TECHNICAL CODE = EXPERIENCE JUnit HotDraw Lots of detailed advice on object-oriented coding. .Close .Open BeckCunningham89 Kent Beck & Ward Cunningham A Laboratory for Teaching Object-Oriented Thinking OOPSLA'89 conf Proceedings ACM SIGPLAN V24n10(Oct 1989)pp1-6 =IDEA OBJECT_ORIENTED cards CRC_CARD .See http://c2.com/doc/oopsla89/paper.html Refers to .See [Wirfs-BrockWilkerson89] .Box Note. "The CRC Press" is an established technical and engineering publisher. CRC_Card::physical=index_card(4.inch><6.inch), available, inexpensive, erasable. CRC::abbreviation="Class, Responsibility, Collaboration". CRC::=Net{C:=class:name_of_component, R:=responsible_for:%Responsibilities, C:=collaborators:%name_of_component}. Walking through a scenario: tracing an "application assigning each activity to some component". each CRC card held by a different member of the team Often a cycle of What/Who questions: #(what_next; who_does_it). .Close.Box .Close .Open BeckerMottay01 Shirley A Becker & Florence E Mottay A Global perspective on web site usability IEEE Software Magazine V18n1(Jan/Feb 2000)pp54-61 =THEORY USER WEB/NET DESIGN international usability on the web ==> layout + navigation + consistency + customer service + reliability + security + performance + visible content .Close .Open BeckwithEtal06 Laura Beckwith & Marget Burnet & Valenline Grigoreanu & Susan Wiedenbeck Gender HCI: What about software? IEEE Computer Magazine V39n11(Nov 2006)pp97-101 =EXPERIMENT USER GENDER HCI MALE FEMALE self-efficacy tinkering Men & women use spreadsheet tools differently. Men like exploring features for fun but women with low self-efficacy want to use them to solve problems. Do software development tools put girls off? .Close .Open BedersonGrosjeanMeyer04 Benjamin B Bederson & Jesse Grosjean & Jon Meyer Toolkit Design for Interactive Structured Graphics IEEE Trans Software Engineering V30n8(Aug 2004)pp535-546 =COMPARISON Object-Oriented LIBRARY DESIGN INHERITANCE vs COMPOSITION Java Swing GRAPHICS Jazz Piccolo Goal: an extensible structured graphics toolkit. Have many shapes and can add new ones easily. Jazz::=http://www.cs.umd.edu/hcil/jazz/. Piccolo::=http://www.cs.umd.edu/hcil/piccolo/. polylithic::design_styles="mainly using run-time composition to extend...". Many small classes, Easier to create but harder to use, monolithic::design_styles="mainly using compile-time inheritance to extend...". Few large classes. Harder to create but easier to use. (dick)|- Polylithic designs seem to use the GoF patterns. (dick)|- perhaps use composition for explore the domain and then reify functionality into a stable product. .Close .Open Beebe99 TeX User Group bibliography archive =BIBLIOGRAPHY of mathematics+computing journals+magazines .See http://www.math.utah.edu/ftp/pub/tex/bib/toc/ Nelson H. F. Beebe Center for Scientific Computing University of Utah Department of Mathematics, 322 INSCC 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA .See mailto:beebe@math.utah.edu .See http://www.math.utah.edu/~beebe/ .Close .Open Beer74 Stafford Beer Designing freedom London Wiley 1974 =ESSAYs RISKS Cybernetics NET/WWW .Close .Open Beeson81 Michael J Beeson Formalizing Constructive Mathematics: Why and How? Constructive Mathematics Spring Verlag Lecture Notes in Mathemetics V873 pp146-190 1981 =THEORY FORMAL LOGIC LPT::="Logic of Partial Terms" Compare .See [Schock68] .See [Parnas93] .See [JonesCB95] and .See [PVS] LPF:=Logic of Partial Functions .Close .Open BegayRauzy01 Diddier Begay and A. Rauzy A realistic involvement of formal methods Software - Practice & Experience V31n2(Feb 2001)pp191-208 =Type FORMAL HARDWARE VERIFICATION CTL SMV Aralia PVS .Close .Open BehrendsStirewalt00 Reimer Behrends & R E Kurt Stirewalt The Universe Model: An approach for Improving the Modularity an Reliability of Concurrent Programs .See [FSE8] pp20-29 =CASESTUDY NONSEQUENTIAL MODULES TECHNICAL OBJECT-ORIENTED Problems with interleaving many threads through one piece of code. Hard to separate concurrency control from useful code, modularity damaged. multi-step synchronization uncheckable. Objects in a universe and each universe can host at most one process at a time. No execution of code outside the process's universe. realm constraints control movement of processes between universes. .Close .Open BekkeringShim06 Ernst Bekkering & J P Shim i2i trust in videoconferencing Commun ACM V49n7(Jul 2006)pp103-107 =EXPERIMENTS VIDEO MEDIA USER PEOPLE RISKS i2i::cummunication="individual to individual" Videophones and videoconferences discourage trust because the camera is not directly behind the screen. If you look at the screen then you don't make eye contact with the person at the other end, and vice versa. Result: people trust voicemail and E-mail more than video. Cell phones and PDAs may not have this problem. Solution: variation on the "Reagan sincerity machine" which lets you look directly at the camera while seeing an image on a screen (e.g. a script). .Close .Open Bekic70 H Beki\'c (IBM Lab Vienna) On the Formal Definition of Programming Languages International Computer Symposium 1970 =CASE-STUDY VDL/VDM PL/I formal .Close .Open BelagerEtal06 France Belanger & Weiguo Fan & L Christian Schaupp & Anjala Krishen & Jeanine Everhart & David Poteet & Kent Nakamoto Web site successMetrics: Addressing the duality of Goals Commun ACM V49n12(Dec 2006)pp114-116 =ESSAY REQUIREMENTS TAXONOMY METRICS WEB/NET PURPOSES OWNERS vs USERS Success defined by owner goals + target audience. Table p115 has 11 distinct types of goal. Choose 2 sets of metrics: Owner vs user perspectives. .Close .Open BelinaHogrefeSarma91 F Belina & D Hogrefe & A Sarma SDL with Applications from Protocol Specifications Prentice Hall Upper Saddle River NJ 1991 ISBN 0-13-785890-6 BCS Practitioner Series =TEXT-BOOK SDL SPECIFICATION a gradual introduction to SDL concepts illustrated by real examples (including an approach to X.25) together with an appendix with complete rules for use of the language. .Close .Open Bell04 Alex E Bell (+ comment by Grady Booch) Death by UML Fever ACM Queue V2n1(Mar 2004)pp72-81 =JOKE HARMFUL UML Lists a couple of dozen abuses of UML, including a classic "Circle the wagons" Use Case. .Close .Open Bell08 Alex E Bell Software Development amidst the whiz of silver bullets =JOKE FADS XML UML OO WEB SERVICES Commun ACM V51n8(Aug 2008)pp22-24 .See http://doi.acm.org/10.1145/1378704.1378712 Names some previous failed fads. Describes current (200n) fads. Fads sound good but do not solve the real problems of software development. .Close .Open BellSchmidt99 Alex E Bell & Ryan W Schmidt UMLoquent Expression of AWACS Software Design Commun ACM V42n10(Oct 1999)pp55-61 in .See [Booch99] =EXPERIENCE DEMO EVOLUTION UML Boeing NMT ARCHITECTURE CORBA Ada Notes value of the UML and some weak areas in the UML and need to improvise .Close .Open BelliGrosspietsch91 Fevzi Belli & Karl-E. Grosspietsch Specification of Fault-Tolerant Systems Issues by Predicate/Transition Nets and Regular Expressions -- Approach and Case Study IEEE Trans SE v17n6(Jun 1991)pp513-526 Bullet proofing Technical .Close .Open BelliniFioravantiNesi99 Pierfrancesco Bellini & Fabrizio Fioravanti & Paolo Nesi Managing Music in Orchestras IEEE Computer Magazine V32n9(Sep 1999)pp26-34 =DEMO MUSIC OBJECT-ORIENTED MOODS NETWORKED LANGUAGES HCI .Close .Open BelliniMattoliniNesi00 P Bellini & R Mattolini & P Nesi Temporal Logics for Real-time system specification ACM Computing Surveys V32n1(Mar 2000) pp12-42 =SURVEY LOGIC TIMING RTL RTIL RTTL WWW link to ACM Digital Library: .See http://www.acm.org/pubs/citations/journals/surveys/2000-32-1/p12-bellini From Abstract: The specification of reactive and real-time systems must be supported by formal, mathematically-founded methods in order to be satisfactory and reliable. Temporal logics have been used to this end for several years. Temporal logics allow the specification of system behavior in terms of logical formulas, including temporal constraints, events, and the relationships between the two. In the last ten years, temporal logics have reached a high degree of expressiveness. Most of the temporal logics proposed in the last few years can be used for specifying reactive systems, although not all are suitable for specifying real-time systems. In this paper we present a series of criteria for assessing the capabilities of temporal logics for the specification, validation, and verification of real-time systems. Among the criteria are the logic's expressiveness, the logic's order, presence of a metric for time, the type of temporal operators, the fundamental time entity, and the structure of time. We examine a selection of temporal logics proposed in the literature. To make the comparison clearer, a set of typical specifications is identified and used with most of the temporal logics considered, thus presenting the reader with a number of real examples. .Close .Open BellinSimone97 David Bellin & Susan Suchman Simone The CRC Card Book Addison Wesley 1997 ISBN 0-201-89535-8 QA76.64 b437 1997 =HOWTO CRC Object-Oriented ANALYSIS PURPOSE SCENARIO CRC DESIGN CARD ROLE-PLAY TECHNICAL Smalltalk C++ Java UML MANAGEMENT .Close .Open BellinzonaEtal95 Roberto Bellinzona & Maria Grazia Fugini & Barbara Parnici Reusing Specifications in OO Applications IEEE Software Magazine V12n2(Mar 1995)pp65-75 .Box Results: could create many process classes for a variety of applications in the banking domain, but not many documents Ithaca Project, IOOM::=Ithaca OO methodology. F-ORM::=Functionallity in Objects with Roles Model. object----role-->FS.ELH Basic problm is identifying matching components. Fuzzy matching against: verb-object, thesauri or semantic network ...., structures pairs Telos organizes knowledge in levels "Final document contains the set of graphical representations, the component documentation, and a trace of the steps." .Close.Box .Close .Open BellLabs83 Unix Programmer's Manual NY NY Holt Rinehart & Winston (2 Vols) =handbook non-sequential tools pipe .Close .Open BellNewell70 C Gordon Bell & Allen Newell The PMS and ISP descriptive systems for computer structure Proc AFIPS Spring Joint Comp Conf (??? 1970)pp351-374 .See http://research.microsoft.com/~gbell/CGB%20Files/PMS%20and%20ISP%20Descriptive%20Systems%201970%20c.pdf (PDF) =IDEA HARDWARE DESCRIPTION PMS Processor-Memory-Switch ISP Instruction-Set-Processor Also see .See BellNewell71 for details and examples of ISP and PMS. .Close .Open BellNewell71 C Gordon Bell & Allen Newell Computer structures: Readings and examples McGraw-Hill computer science series circa 1971 ISBN 0070043574 TK7888.3.B37 =EXAMPLES 1960s =SURVEY HARDWARE DESCRIPTIONS Burroughs CDC DEC PDP Deuce KDF9 IBM SDS UNIVAC .Close .Open BellonEtAl07 Stefan Bellon & Rainer Koschke & Giuliano Antoniol & Jens Krinke & Ettore Merlo Comparison and Evaluation of clone detection tools IEEE Trans Software Engineering V33n9(Sep 2007)pp577-591 =EXPERIMENT TOOLS COPYPASTE DRY SOURCE Dup CloneDR CCFinder Duplix CLAN Duploc Also see .See [BakerB07] .Close .Open Ben-AbdallahEtal97 Hanene BenAbdallah & Insup Lee & Young Si Kim The Integrated Specification and Analysis of Functional, Temporal, and Resource Requirements .See [RE'97] pp198-209 =DEMO TOOLS REQUIREMENTS LANGUAGE GCSR::language="Graphical communicating Shared Resources". .Close .Open Ben-AbdallahLeue97 Hanene BenAbdallah & S Leue Timing Constraints in Message Sequence Chart Specifications See .See http://www.swen.uwaterloo.ca/~sleue/msc.html#tr97-04 =REPORT SCENARIO TIMING MSC SPECIFICATIONS MSC::="Message Sequence Charts" .Close .Open Ben-ShaulHolderLavva01 Israel Ben-Shaul & Ophir Holder & Boris Lavva Dynamic Adaptation and Deployment of Distributed Components in Hadas IEEE Trans Software Engineering V27n9(Sep 2001)pp769-787 =DEMO TECHNICAL DISTRIBUTED DYNAMIC MODULE HADAS JAVA Ways and means of allowing software components to be changed, moved, and remotely administrated. Component interfaces have a fixed and a dynamic part. Using reflection and introspection so that components can find out about each other -- but purpose and qualities are only described informally. .Close .Open BenamatiLederer01 John Benamati & Albert L Lederer Coping with rapid changes in IT Commun ACM V44n8(Aug 2001)pp83-88 =POLL TECHNICAL CHANGE MANAGEMENT Change is constant and is the most effective coping strategies are not applied. Low cost learning is preferred. Popular but ineffective: self education and bullying the vendor for support. Unpopular but effective: consider new technology that is compatible with current, incentives to keep staff who know the new stuff, choose specific customized training not general informal education. Review, think, plan, do, review, .... .Close .Open Benbunnan-Fich02 Raquel Benbunnan-Fich Improving Education and Training with IT Commun ACM V45n6(Jun 2002)pp94-99 =SURVEY EDUCATION IDEA GRID Education location> Re: Attempts to connect SAD and OOPS Software-Engineering-Digest/comp.soft.eng V6n37 & n40 & n42 Usenet/Internet 1989 + Personal communication(course notes 1989) =CORRESPONDENCE object-oriented SAD Technical Semantic nets+STD+Petrie Nets .Close .Open Berard93 Edward V Berard (Berard Software Engineering) Essays on Object-oriented software engineering (vol 1) Prentice Hall Englewood Cliffs NJ 1993 ISBN0-13-288895-5 CR9502-0058(comparative) .Close .Open BergClineGirou95 William Berg & Marshall Cline & Mike Girou Lessons Learned from the OS/400 OO Project Commun ACM V38n10(Oct 1995)pp54-64 =EXPERIENCE REQRITE OBJECT_ORIENTED OPERATING SYSTEM SOFTWARE .Box rewriting a large piece of system software for a new platform. 150 people almost all coding, feb92..94, 2MLOC C++ 14K classes, 142Kattributes 90K methods, 10K children, 5k overloaded method names. Use R/6000AIX/Motif. two days to compile and link. 10 minutes per class. Used Booch (all but one S_M team) increased functionallity and flexibillity heightened management. LOC tracked project but quality and delivery-on-time rewarded developers. Iterative and incremental life cycle. Used a weekly build cycle. encouraged defensive coding and defect avoidance and preserving interface stability. Should have had recesses every three months when work is frozen and reveiwed. Wanted more incentives for code reviews, detailed documentation, internal consistency checks, and separate est teams. classroom training: 120 hours OOA, design, patterns, programming + 50% design sessions with mentor. Spread out and reinforced. it takes application to learn to do inheritance correctly. 6 to 9 months before they get fully proficient in the new paradigm: 80% ok coders, 15% respectable journeyman designers, 5% top performaers at analysis and design. Biggest culture shift was from code to design. Put best talent to work on tuning RAM and speed. Systems requirements should include explicit flexibillity/extensibility criteria: .Key Requirements Mutation Analysis. Use lowtech tools first, when design session ideas slow down then use computer-based tools to capture the ideas. Keep a strong link between requirements and design decisions. Code bloat and instruction count goals. Each path through code had a goal of so many instructions. Multiple inheritence not used much. Integration with old upper level code because it made numerous undocumented assumptions about entry points into new code. .Close.Box .Close .Open BerenbachBroy09 Brian Berenbach & Manfred Broy Professional and Ethical Dilemmas in Software Engineering IEEE Computer Magazine V42n1(Jan 2008)pp74-80 =ESSAY ETHICS NAMEs DILEMMAS MITIGATION IEEE ACM Named dilemmas .List Mission impossible Mea Culpa Rush Job Not My Problem Red lies Fictionware versus vaporware non-diligence Cancelled vacation Sweep it under the rug .Close.List Proposes mitigation strategies. Failures of the ACM and IEEE Codes of Professional Behavior. Notes likely criminal behaviors: Negligent homicide, reckless endangerment, depraved indifference. Ethical dilemmas tend to be yoked, chained, or coupled.... and this magnifies the damage. .Close .Open Berghel01 Hal Berghel The Code Red Worm Commun ACM V44n12(Dec 2001)pp15-19 =ARTICLE RISK TECHNICAL CODE buffer overflow Microsoft IIS web-server DLL .Close .Open Berghel05 Hal Berghel The Two Sides of ROI: Return on investment vs Risk of incarceration Commun ACM V48n4(Apr 2005)pp15-20 =ESSAY RISK PRIVACY SECURITY ETHICS PROFESSION LEGISLATION HIPPAA GLB SOX New 2000 legislation puts CIOs and CEOs at risk of prosecution for not making systems secure. GLB::="Gramm-Leach-Bliley Act of 1999", privacy and security of nonpublic pers onal info . SOX::="Sarbanes-Oxley Act of 2002", accountability Also good description of .Find [HIPAA] .Close .Open Berghel06 Hal Berghel Fungible Credentials and Next-Generation Fraud Commun ACM V49n12(Dec 2006)pp15-19 =EXAMPLES FRAUD CREDENTIALS Fungible: interchangeable and universal. Better computers and printers allow the creation of a hard to doubt credential that can be used to get legitimate (but false) credentials. Figure 2 lists some anti-counterfeiting technology. .Close .Open Bergin01 Joseph Bergin A Pattern Language for Initial course design ACM SIGCSE Bulletin V33n1(Mar 2001) & 32nd SIGCSE Tech Symp on Cop Sci Education (Feb 21-25 2001)pp282-286 =PATTERNS EDUCATION PLAN Abandon Systems all ye that enter here. Need to Know Early Bird: identify important topics early. Spiral Lazy Professor .Close .Open Bergland81 Glenn D Bergland A Guided Tour of Program Design Methodologies IEEE Computer v14(Oct 1981)pp13-37 (reprint in Chow(Ed)84) =survey Compares FD JSP DFD and Dijkstra Gries Page 241 of Chou Figs 43 and 44: Where is the Magic in the methods? .Close .Open BerglandGordon81 Glenn D Bergland & ?? Gordon(Eds) Software Design Strategies(2nd Edition) IEEE Computer Soc Tutorial IEEE Cat No. EH0184-2 Los Angeles CA 1981 =survey methods DDD SAD .Close .Open BerglandZave86 Glen D Bergland & Pamela Zave Special Issue on Software Design Methods IEEE Trans on Software Engineering SE-12n 2 (Feb 1986) =survey object-oriented DAD JSD functional formal ADTs DFD .Close .Open BergmanMoorNelson90 Merrie Bergman & James Moor & Jack Nelson The Logic Book(2nd Edn) McGraw-Hill NY NY 1990 text logic using Truth trees(Schema) in ch4 and ch9 and Natural deduction in ch5 and ch10 .Close .Open Berghel06 Hal Berghel Fungible Credentials and Next-Generation Fraud Commun ACM V49n12(Dec 2006)pp15-19 =EXAMPLES FRAUD CREDENTIALS Fungible: interchangeable and universal. Better computers and printers allow the creation of a hard to doubt credential that can be used to get legitimate (but false) credentials. Figure 2 lists some anti-counterfeiting technology. .Close .Open Berghel07 Hal Berghel Better-Than-Nothing Security Practices Commun ACM V50n8(Aug 2007)pp15-18 =ADVERT BTNSP SECURITY XP Browsers WiFi BTNSP::=http://www.berghel.net/btnsp/ Simple things that users can do to improve the security of their systems... Better than doing nothing. .Close .Open BergstraPonseSmolka01e J A Bergstra& A Ponse & S A Smolka Handbook of process algebra Elsevier 2001 ISBN 0-444-82830-3, review Tucker Computer Journal V45n1(2002)pp68-69 =UNREAD =Handbook algebra nonsequential CCS TCSP ACP Petri .Close .Open BergstraTucker07 J Bergstra & J Tucker The rational numbers as an abstract data type JACM V54n2(Apr 2007)#7pp? $CR 0808-0783 =UNREAD =THEORY ADT ABSTRACT DATA CONDITIONAL EQUATIONAL SPECIFICATION Lagrange Notes .Hole .Close .Open BerlingRuneson03 Tomas Berling & Per Runeson Efficient Evaluation of Multifactor dependent System Performance using fractional Factorial Design IEEE Trans Software Engineering V29n9(Sep 2003)pp769-781 =STATISTICS PERFORMANCE PROTOTYPE TESTING ACCURACY ANOVA Pareto Iterative Careful choice of a few test cases applied to a prototype allows the evaluation of the effects of many factors on the targeting performance of a radar system. .Close .Open BernardLaffite99 Pascal Bernard & Guy Laffite The French Population Census for 1990 In .See [HincheyBowen99] pp15-42 =EXPERIENCE MATH Z B METHOD REQUIREMENTS GEOGRAPHY CENSUS It worked as a process and a product. .Close .Open Berns84 Gerald M Berns Assessing Software Maintainability Commun ACM V27n1(Jan 1984) pp14-23 =EXPERIENCE QUALITY TECHNICAL FORTRAN EVOLUTION TOOL MAT .Close .Open Bernstein80 Arthur Bernstein Output Guards and Nondeterminism in "Communicating Sequential Processes" ACM TOPLAS V2n2(Apr 1980)pp234-238 =THEORY CSP non-sequential NON-DETERMINISM .Close .Open Bernstein93 Lawrence Bernstein(attmail!l.bernstein) Get The Design Right! IEEE Software Magazine V10n5(Sep 1993)pp61-63 .Box p 61: "...focus first on the problem domain and then on the implementation domain" controlled, evolving and validated requirements prototypes p62: nimble pay attention to detail visit the user Setup operational profiles of expected use for performance analysis and scenario testing p63: Write the specification after the prototyping and use a formal spiral-development program "no tool will replace the skill and talent of the professional software designer." .Close.Box .Close .Open BernsteinFitzGeraldMacdonellConcepcion05 Marc Bernstein & Kelly M FitzGerald & James P Macdonell & Arturo I Concepcion AlgorithmA Project: The ten-week Mock Software Company ACM SIGCSE Tech Symp Proc (Feb 2005)pp142-146 =EXPERIENCE 14.years EDUCATION PROJECT MAINTENANCE PEOPLE MANAGEMENT CSUSB CSCI488 RMT UML IEEE SRS .Close .Open BerryKamsties05 Daniel M Berry & Erik Kamsties The syntactically dangerous ALL and Plural in Specifications IEEE Software Magazine V22n1(Jan /Feb 2005)pp55-57 =IDEA AMBIGUITY LOGIC LANGUAGE SPECIFICATION CS565 Words to suspect: "only", "all", "also", "each". Use "each" when describing a property of the individual members of a set. Use "all" for shared properties across a set. Can use simple logic to clarify an ambiguity. All the lights in the room have a single on-off switch. .Net Each light has its own switch. For all y:lights_in_room, one x: switch (x is on_off_switch_for y). All the lights share a common switch. For one x: switch, all y:lights_in_room (x is on_off_switch_for y). .Close.Net Similarly for plurals: "Students enroll in six courses" vs "Students enroll in hundreds of courses". .Close .Open BersoffDavis91 Edward H. Bersoff & Alan M. Davis Impacts of Life Cycle Models on Software Configuration Management Commun ACM V34n8(Aug 1991)pp104-117 .Close .Open Bertolazzietal95 Paola Bertolazzi & Giuseppe Di Battista & Giuseppe Liotta Parametric Graph drawing IEEE Trans on Software Eng VSE-21n8(Aug 1995)pp662-673 The Graph Server: digraphs not diagrams - no words or icons. .Close .Open BertolinoMirandola04 Antonia Bertolino & Raffaela Mirandola Software Performance Engineering of Component-based Systems WOSP'04 & ACM SIGSOFT Software Engineering Notes V29n1(Jan 2004)pp238-242 =IDEA QUALITY Performance MODULAR COMPONENT CB-SPE Based on PTS RT-UML .See [OMG020302]. .Close .Open BertranAugeraud99 Frederic Bertran & Michel Augeraud BDL: A Speicalized Language for Per-Object Reactive Control .See [WileRaming99] pp347-362 =ADVERT LANGUAGE SYNTAX SEMANTOC OBJECT-ORIENTED NONSEQUENTIAL ESTEREL .Close .Open BerzalCuberoMarinVila05 Fernando Berzal & Jean-Carlos Cubero & Nicolas Marin & Maria-Amparo Vila Lazy Types: Automating Dynamic Strategy Selection IEEE Software Magazine V22n5(Sep/Oct 2005)pp98-106 =DEMO TECHNICAL POLYMORPHIC TYPES C# .NET Lazy types have a common interface plus varying attributes and strategies for handling the interface depending on what attributes are available. Objects gain and loose attributes as the program executes, the methods adapt auto-magically to what attributes are present. lazy_types_library::=http://elvex.ugr.es/software/lazy/, -- proof of concept for .NET Uses hidden factory pattern and strategy pattern. .Close .Open BerzinsLuqi90 Valdis Berzins & Luqi[Sic] An Introduction to the Specification Language Spec IEEE Software V7n2 pp74-84 (Mar 1990) formal .Close .Open BerzinsLuqi91 Valdis Berzins & Luqi[Sic] Software Engineering with Abstractions Addison Wesley Reading Mass.1991 CR9211-0842 (Spec & Ada) .Close .Open BerzinsLuqiYehudai93 Valdis Berzins & Luqi[Sic] & Amiram Yehudai Using Transformations in Specification-Based Prototyping IEEE Trans on Software Eng VSE-19n5(May 1993)pp436-452 QUALITY PURPOSE function .Box Transformations of specifications during a project. Spec+DFDs pp442-443 Software Process p446 encapsulated user interface in module pp446-447 requirements evolve distinguish spec changes from design and implementation changes p447inheriting from older specifications p450 Distinguishing (and delaying) optimization decisions from functional requirements. pp458-459 distinguishing extention, contraction, refining, abstracting, relaxing, constraining by comparing Vocabulary, Granularity and Behavior. pp447-448: The derivation Lattice/poset to explain designs -- configuration management for specs? .See [Snelting96] .See [KramerLuqiBerzins93] .Close.Box .Close .Open Berztiss88 Alfs Berztiss Programming with Generators Software - Practice and Experience V18n1pp73-81(Jan88) =IDEA non-sequential Technical .Close .Open Berztiss89 Alfs Berztiss Formal Specification Methods and Visualisations in Chang89 pp231-290 =SURVEY graphic DFDS ERDs(problems) JSD STD Petrie Nets Structure Diagrams .Close .Open Berztiss90 Alfs Berztiss Programming with Generators: An Introduction Ellis Horwood Chichester UK 1990 ISBN 0-13-739087 CR 9211-0847 =MONOGRAPH Technical pseudo-concurrency .Close .Open Betz95 Mark Betz Building a CORBA Object Server Software Development Magazine(Oct 1995)pp53-61 =ARTICLE TECHNICAL OBJECT-ORIENTED C/C++ IDL::=Interface Definition Language ORB::=Object Request Broker .Close .Open BeugnardEtal99 Antoine Beugnard & Jean-Marc Jezequel & Noel Plouzeu & Damien Watkins Making components contract aware IEEE Computer Magazine V32n7(Jul 1999)pp38-45 =THEORY COMPONENTS RELIABILITY QUALITY 1:IDL=syntax, 2: pre/post=behavioral, 3:synchronization, 4:quality-of-service .Close .Open BeyerHoltzblatt94 Hugh R Beyer & Karen Holtzblatz Calling Down the Lightening IEEE Software Magazine V11n5(Sep 1994)pp106-107+113 =History Bricklin spreadsheet requirements design users roadblocks to creativity::= separating requirements gathering from system design | products = list of features | FEAR(engineers talking to customers | people working together| new ideas |"it can't work") .Close .Open BeyerHoltzblatt95 Hugh R Beyer & Karen Holtzblatz Apprenticing with the Customer Commun ACM V38n5(May 1995)pp45-52 =EXPERIENCE REQUIREMENTS .Box "sit by Nelly" and then ask questions reveals: what matters, details, structure events lead to discussions master can transfer years of experience quicker Then designer works out structure .List articulate understanding is there to improve work must have a specific focus .Close.List Beware .List other relationships: interviewer, expert, friend being abstract: things that are unsaid...ASK! polite ways of saying "no, you are wrong": "Huh?", "Ummm...maybe", "Yes, but..." .Close.List .Close.Box .Close .Open BeyerNoackLewerentz05 Dirk Beyer & Andreas Noack & Claus Lewerentz Efficient Relational Calculation for Software Analysis IEEE Trans Software Engineering V31n2(Feb 2005)pp137-149 =TOOL RELATIONAL LOGIC RML BDD TECHNICAL PATTERN JAVA CrocoPat Faster recognition of patterns in class structures tested faster on real code: JDK AWT, Eclipse,... Than Prolog and MySQL. .Close .Open Bhansali93 P V Bhansali Survey of software safety standards shows diversity IEEE Computer Magazine V26n1(Jan 1993)pp88-89 =SURVEY STANDARDS RISKS .Box UK MoD: Int Def Stan 00-55 (Formal) UK MoD: Int Def Stan 00-56 (Hazard Analysis) Instrument Soc America SP84(draft) US DoD: Mil-Std-882B(Notice 1) IEEE CS: P1228(Draft) (Safety plan) Radio Tech Comm Aero/DO-178A Int Elect Comm(industrial: SC 65A/WG9... EIA: SEB 6-A UL: UL1998(Draft) FDA: Control of medical devices General Identify and classify systems hazards Identify system function allocated to software Identify hazards related to software Design to reduce or eliminate hazards (sw and credible hw) Implement SW Verify hazards at acc level and no new hazards Config management and SQA throughout .Close.Box .Close .Open BhatGuptaMurthy06 Jyoti M Bhat & Mayank Gupta & Santhosh N Murthy Overcoming Requirements Challenges: Lessons from Offshore Outsourcing IEEE Software Magazine V23n5(Sep/Oct 2006)pp38-44 =CASE STUDIES 9 + THEORY RE Requirements SHARING TRUST Problems in case studies can be avoided by `success factors` and `best practices`. Success factors: shared goals, culture, process, and responsibility. Plus trust. Lists best practices for people, process, and technology. No technology to promote trust! .Close .Open BhattiBerinoGafoorJoshi04 Rafae Bhatti & Ellsa Berino & Arif Gafoor & James B D Joshi XML-based specification for web services IEEE Computer Magazine V37n4(Apr 2004)pp41-49 =IDEA WWW SECURITY XML RBAC XUS XRS RBAC ::= "role based access control". XUS ::= "XML user sheet", credentials. XRS ::= XML role sheet. etc. .Close .Open BianchiEtal03 Alessandro Bianchi & Danilo Caivino & Vittorio Marengo & Giuseppe Visaggio Iterative re-engineering of Legacy Systems IEEE Trans Software Engineering V29n3(Mar 2003)pp225-241 =EXPERIENCE MAINTENANCE COBOL REENGINEER REFACTOR DATA Compare mean time to maintenance request to estimated time to reengineer module. Fig 4 has incorrect UML .Close .Open BiancuzziWarden09 Federico Biancuzzi & Shane Warden Masterminds of Programming: Conversations with the Creators of Major Programming Languages O'Reilly Media 2009 ISBN 0596515170 =UNREAD =INTERVIEWS PROGRAMMERS PEOPLE CODING TECHNICAL LANGUAGES CSCI320 Please send me your comments .See ./contribute.html to see them here. .Close .Open BicarreguiRitchie95 Juan Bicarregui & Brian Ritchie Invariants, frames and Postconditions: A comparison of the VDM & B Notations IEEE Trans on Software Eng VSE-21n2(Feb 1995)pp79-89 =CASE-STUDY FORMAL LANGUAGES SPECIFICATION .Close .Open BichlerLin06 Martin Bichler & Kwei-Jay Lin Service Oriented Computing IEEE Computer Magazine V39n3(Mar 2006)pp99-101 =ADVERT SERVICES NET/WEB WORKFLOW SEMANTICS QoS WSDL OWL-S ONTOLOGY SOC BSN BPEL BPML .Close .Open Bidoitetal91 Michel Bidoit & Hans-Jorg Kreowski & Piere Lescanne & Fernando Orejas & Donals Sannella Algebraic System Specification and Development Springer Verlag NY NY 1991(Lecture Notes in CS V501) =SURVEY =BIBLIOGRAPHY THEORY FORMAL ALGEBRA SPECIFICATION Short! .Close .Open BiemanKang95 James M Bieman(bieman@cs.colostate.edu) & Byung-Kyoo Kang Cohesion and Reuse in an Object Oriented System .See [SamadzadehZand95] pp259-262 =EXPERIENCE OBJECT-ORIENTED REUSE C/C++ EXPERIENCE New measure of cohesion for a class - degree to which methods use the same fields. Most classes a quite cohesive. Classes reused by inheritance most are clearly of lower cohesion. .Close .Open BiemanKang98 James M Bieman & Byung-Kyoo Kang Measuring Design-Level Cohesion IEEE Trans Soft Eng V24n2(Feb 1998)pp111-124 =IDEA =EXPERIMENT DESIGN MODULE METRICS DLC::="Design-Level Cohesion". DFC::="Design-level Functional Cohesion". IODG::="Input/output dependence graph". .Close .Open BiemanOtt94 James M Bieman & Linda M Ott Measuring Functional Cohesion IEEE trans on Soft Eng vSE-20n8(Aug 1994)pp644-657 =THEORY METRICS MODULARIZATION COHESION .Close .Open BiemanZhao95 James M Bieman(bieman@cs.colostate.edu) & Josephine Xia Zhao Reuse Through Inheritance: A Quantitive study of C++ Software .See [SamadzadehZand95] pp47-52 Inheritance is used far less frequently than expected .Close .Open BiemanJainYang01 James M Bieman & Dolly Jain & Helen J Yang OO design patterns, design structures, and program changes: an industrial case study 17th IEEE International Conf on Sw Maintenance ICSM'01 ( 2001)pp580+ $CR 0511+1249 .See http://doi.ieeecomputersociety.org/10.1109/ICSM.2001.972775 =experience evolution object-oriented GoF patterns metrics 39 versions of evolving industrial OO software Strong relationship -- larger classes were changed more frequently Classes that participate in design patterns were the most change prone. Classes that are reused the most through inheritance tend to be changed more often. .Close .Open Biffl00 Stefan Biffl Using Inspection Data for Defect Estimation IEEE Software Magazine V17n6(Nov/Dec 2000)pp36-43 =EXPERIMENT DEFECTS INSPECTION ESTIMATION 200+students Capture-Recapture model of number of defects vs number found by different numbers of inspectors. Best to assume that different defects have different chances of being detected, but that inspectors are all equally likely. .Close .Open Billingsetal94 C Billings & J Clifton & B Kolkhorst & E Lee & W B Wingert Journey to a mature software process IBM Systems Jnl V33n1(1994)pp46-61 =EXPERIENCE HISTORY IMPROVEMENT REQUIREMENTS QUALITY V&V PROCESS EVOLUTION Shuttle Onboard Software System. See .See [Oman94] .See [MaddenRhone84] .See http://www/dick/notes/Billingsetal94.html .Close .Open BimboCampanaiNesi93 Alberto Del Bimbo & Maurizio Campanai & Paolo Nesi A Three-Dimensional Iconic Environment for Image Database Querying IEEE Trans on Software Eng VSE-19n10(Oct 1993)pp977-1011 Graphics .Box p1002 spatial relations and operators strictly_after, after_with_right_adjacency, after is_included_by with left_adjacency, includes with right_adjacency includes, spatial-coincidence, isinclude_by, includes with left adjacent before, before with left adjacency, strictly_before .Close.Box .Close .Open Binder94 Robert V Binder(guest Editor) Object-Oriented Software Testing(Special edition) Commun ACM V37n9(Sep 1994)pp28-101 =EDITORIAL OBJECTS SQA TESTING .Close .Open Binder95 Robert V Binder(guest Editor) Scenario-Basesd Testing for Client Server Systems Software Development Magazine(Aug 1995)pp43-49 SQA SCENARIO cf Operational Profiles in Musa93(CLEANROOM) .Close .Open BinkleyEtal06 David Binkley & Mariano Ceccato & Mark Harman & Filippo Ricca & Paolo Tonella Tools-Supported refactoring of existing Object-Oriented code into aspects IEEE Trans Software Engineering V32n9(Sep 2006)pp698-717 =DEMO TOOL MAINTENANCE REFACTOR ASPECTS Has a useful list of refactorings which may or may not be complete. The extract repeated code into an aspect: DRY. .Close .Open BirdEtAl09 Christian Bird & Nachiappan Nagappan & Premkumar Devanbu & Harald Gall & Brendan Murphy Does Distributed Development Affect Software quality? An Empirical Case study of windows Vista Commun ACM V52n8(Aug 2009)pp- .See http://doi.acm.org/10.1145/1536616.1536639 =EMPIRICAL DISTRIBUTED PROCESS QUALITY MS Vista Little evidence that having a team spread over two continents gives worse code than being in the same building. Size of team does have an effect. (dick)|- They did not check to see if the distributed team compensated for distance be special processes or tools. .Close .Open BisbalEtal99 Jesus Bisbal & Deirdre Lawless & Bing Wu & Jane Grimson Legacy Information Systems: Issusesd and Directions IEEE Software Magazine V16n5(Sep/Oct 1999)pp103-111 =DESCRIPTION EVOLUTION DATA LIS Chicken-Little and Chrysalys Strategies .Close .Open Bishop90 Judy M Bishop The Effect of Data Abstraction on Loop Programming Techniques IEEE Trans SE-16n4pp389-402(Apr 1990) ADTs non-sequential Technical .Close .Open BishopP02 Pete G Bishop Rescaling Reliability Bounds for a New Operational Profile Proc ISSTA02 & ACM SIGSOFT Software Engineering Notes V27n4(Jul 2002)pp180-190 =THEORY PROBABILITY FAILURE TESTING If faults are removed as they are found by a fixed operational profile without effecting other faults and probability of a faults is constant with time T then P(failure per test | test number=T) <=N/(e * T) if there are N faults. Reason: errors that are probable are found quickly, less probable once are less likely to happen. This formula can be adjusted to allow for changes in the operational profile. Results fit PODS TRIPV testing. .Close .Open BishopWagner07 Matt Bishop & David Wagner Risks of E-Voting Commun ACM V50n11(Nov 2007)p120 =REPORT TECHNICAL SOURCE CODE REVIEW VIRAL RISKS SECURITY QUALITIES The authors found buffer overruns, hard-coded encryption keys, dumb pseudo-encryption, dumb passwords etc. in all voting systems. Federal tests did not disclose the flaws. Code review did. Voting systems must be transparent. Need for audits. .Close .Open BitnerReingold75 James R Bitner & Edward M Reingold Backtrack Programming Techniques Commun ACM V18n11 pp651-656(Nov 1975) =survey non-sequential optimization Technical .Close .Open Bittner02 Kurt Bittner Use Case Modeling Addison-Wesley Longman Boston MA ISBN 0201709139 .See [CR] 0305-0414 =HANDBOOK USECASE USER REQUIREMENTS .Close .Open BittnerSpence03 Kurt Bittner& Ian Spence Use case modeling Pearson Education Boston MA 2003 =HOWTO REQUIREMENTS USECASE Synthesize understandable models of complex requirement details. Communication, simplicity, stakeolders, write details, Good enough. Dangers of relationships between use cases. How to write abstract cases(with a "{hole}") and their specializations(with an "at{hole}"). .Close .Open BiZhao04 Henry H Bi & J Zhao Applying propositional logic to workflow verification Information Technology and ManagementV5n3-4(Jul wppr)pp293-318 $CR 0605-0526 =UNREAD =THEORY WORKFLOW VERIFICATION LOGIC .Hole .Close .Open Bjorkander00 Morgan Bjo"rkander Graphical Programming Using UML and SDL IEEE Computer Magazine V33n12(Dec 2000)pp30-35 =IDEA UML SDL DYNAMIC FSM/STD MODEL TECHNICAL GRAPHIC p34:"Code is generally considered king, and the model as its poor country cousin." .Close .Open BjorkanderKobryn03 Morgan Bjorkander & Cris Kobryn Architecting Systems with UML 2,0 IEEE Software Magazine V20n4(Jul/Aug 2003)pp57-61 =ADVERT PORT INTERFACE ACTIONS EXECUTABLE MODELING UML2.0 Classes can have ports(square boxes on border). Ports have interfaces. Ports can be behavioral. Interfaces(lollipops) are either required (half circle) or provided interfaces(half circle). Ports can be connected: required to provided interfaces. Statemachines, interactions, and activities all can actions. Actions can be given precise -- executable -- semantics. .Close .Open Bjorner06 Dines Bjorner Software Engineering 1, 2 and 3 Springer-Verlag NY Secaucus NJ ISBN 3540211497 $CR 0802-0113 =UNREAD =ADVERT =EXAMPLES FORMAL DOMAIN MODEL REALITY RSL ABSTRACTION .Close .Open BjornerGeorgePrehn99 Dines Bjorner & Chris George & Soren Prehn Scheduling and Rescheduling Trains In .See [HincheyBowen99] pp157-184 .See http://www.iist.unu.edu =EXPERIENCE DEMO FORMAL SPECIFICATION PROTOTYPING PRaCoSy lightweight RAISE RSL C train dispatching .Close .Open BjornerJones82 ?? Bjorner & ?? Jones Formal Specification & Software Development Prentice Hall NJ 1982 =ADVERT VDM formal language Technical .Close .Open Black95 George Black British Government Puts New GUIs to the Test Software Magazine (May 1995)pp82-84 =EXPERIENCE SSADM GRAPHIC USER GUI UK Customs & Excise Dept. SSADM (pre Vn4) not good for GUIs... using IEEE standards instead .Close .Open Blaha04 Michael Blaha A Copper Bullet for software Quality Improvement IEEE Computer Magazine V37n2(Feb 2004)pp21-25 =EXPERIENCE 11 years DATA MODEL REVERSE ENGINEERING QUALITY SOFTWARE PRODUCTS (1) how to grade a data base: ABCDF (2) expects grade of data base to be related to overall quality of software. (3) companies that do not allow there data base design to be reviewed automatically scores badly. Give a good list of common data defects. Figure 2 has a small UML error: switched multiplicities. .Close .Open BlackEtAl09 Sue Black & Paul P Boca & Jonathan P Bowen & Jason Gorman & Mike Hinchey Formal versus agile: Survival of the Fittest IEEE Computer Magazine V42n9(Sep 2009)pp37-45 + Correspondence V42n11(Nov 2009)p6 by William Adams =SURVEY RESEARCH AGILE FORMAL MODEL CHECKING Alloy X-Machines SMV CTL KeY SEEFM2003::acronym="First South East Europe Workshop on formal methods", .See http://delab.csd.auth.gr/~bci1/SEEFM03 XFM::="eXtreme Formal Modeling", .See http://doi.acm.org/10.1145/1109118.1109120 XFun::= http://delab.csd.auth.gr/~bci1/SEEFM03/seefm03_03.pdf (PDF), Unified Process with X-Machines verified by model checking. KeY::method=http://i12www.iti.uni-karlsruhe.de/~key/keysymposium07/slides/haehnle-agile.pdf Extend TDD by including static-analysis and theorem-proving tools to extend coverage. Example 97% of assertions checked automatically in SPARKAda toolset. How do formal requirements handle creep? Machine checked refactoring? Parallelism: FDR and Coverity .See http://www.coverity.com/ Speed and availability of tools: .Key Rodin .See http://rodin.cs.ncl.ac.uk/ and .Key Deploy .See http://www.deploy-project.eu/ projects. Praxis .See http://www.praxis-his.com/ has .Key SPARK toolset as open source. Formal methods lite -- use math at the right times in a project. Argues that the total cost (effort) for a project is less with up front work getting requirements etc. right. Agility is not about speed but maneuverability. Producing the highest quality in each iteration/increment. Compared to RAD. Controlling the technical debt. No real conflict... given some mutual understanding. .Close .Open BlahaPremerlaniShen94 Michael R. Blaha & William J Premerlani & Hwa Shen Converting OO Models into RDBMS Schema IEEE Software magazine v11n3(May 1994)pp28-39 =ADVERT OBJECT_ORIENTED OMT DATA OMT is Figure A on pages 34-35 .See [Premerlanietal90] .See [PremerlaniBlaha94] .Close .Open BlahaPremerlani98 Michael R. Blaha &William J Premerlani Object-Orietented Modeling and Design for Database Applications Prentice-Hall NJ 1997 =MANUAL OBJECT-ORIENTED OOA/OOD DATA UML BNF for Object Navigation Notation .See [BlahaPremerlaniShen94] .Close .Open BlahaSmith02 Michael Blaha & Cheryl Smith A Pattern for Softcoded Values IEEE Computer Magazine V35n5(May 2002)pp28-34 =DEMO dynamic data types metamodel reflection Moves in the opposite orientation to objects! How to code an generalization hierarchy of attributes and values in data. : DescribedObjects and DescribedObjecTypes. Data use to Model attributes, values, units, constraints, generalization, etc Values include sources and dates: entry, effective, expiration. Does not handle behavioral inheritance. Each Value has a field for numeric datum AND string datum AND datetime datum. Constrained by ode so that only one is non-null! All generalizations has a discriminator attribute. .Close .Open Blank89 GD Blank A Finite & Real-Time Processor for Natural Language Commun ACM v32 n10(Oct 1989) =DEMO DDD .Close .Open Blaschek94 Gunther Blaschek Object-oriented programming with prototypes Springer-Verlag NY NY 1994 ISBN 0-387-56469-1 CR9502-0058 =DEMO Objects without classes! Omega for the Macintosh .Close .Open BleisteinEtal87 Sandra Bleistein & Robert Goetge & Frank Petroski & Robert Wiseman Capacity Management of Air Traffic Control Computer Systems. IEEE Computer Magazine V20n2 (Feb 1987)pp73-83 =EXPERIENCE FAA AAS PERFORMANCE .Close .Open Blikle77 Andrzej Blikle Co-Routines and Networks of Parallel Processes Proc IFIP 77 (North Holland Pub Co 1977) pp285-290. Also IRIA Raport de Recherche No 202 Nov 76 =THEORY LOGIC SEMANTICS REGULAR-EXPRESSIONS .Close .Open Bliss42 Charles K Bliss Semantography ( Blissymbolics) 2nd Edn Semantography ( Blissymbolics), Sydney Australia 1942 .See http://www.semantography.com/ =ADVERT GRAPHIC SYMBOLIC LANGUAGE GENERAL SEMANTICS RATIONALITY LOGIC Explains BlissSymbolics. Argues that Semantography helps spot crooked thinking and false arguments. Bliss Symbols include all internationally agreeed symbols: Math, Chem, Music,... Dictionary of symbols .See http://www.semantography.com/4/ .Close .Open Blood04 Rebecca Blood How Blogging Software reshapes the online community Commun ACM V47n12(Dec 2004)pp53-55 =ANECDOTE SOFTWARE BLOG Software tools change the way things are done and what words mean in powerful ways. .Close .Open Bloom83 S L Bloom Algebraic Solution of a System of Recursion Equations in Infinite Trees Other Contraction Theories Journal of Computer & System Science 1983 pp225-255 =THEORY TOPOLOGY .Close .Open BloomBEtal00 Bard Bloom & Jim Russell & John Vlissides & Mark Wegman High-level Program Development Dr. Dobbs Special Report (Dec 2000)pp17-2 =ADVERT TOOLs IBM DOMAIN MODEL WORKFLOW vs PERFORMANCE Enterprise Builder, Hyper/J, Dynamic Application Partitioning (DAP) .Close .Open BloomChengDsouza97 Bard Bloom & Allan Cheng & Ashvin Dsouza Using a Protean Language to Enhance expresiveness in Specifications IEEE Trans Softw Eng VSE23n4(Apr 1997)pp224-234 Using structural Operational semantics to construct and extend specification languages including CCS Z Petri nets. GSOS Simple BDD-based model checking. philosphers & lifts .Close .Open BloomEsik93 Stephen L Bloom & Zoltan Esik Iteration Theories: Equational Logic of Iterative Processes EATCS monographs on Theoretical Computer Science Springer Verlag NY NY 1993 ISBN 0-387-56378-4 CR9505-0287 630 pages $109.00 Hardcover =MATHEMATICAL LOGIC ALGEBRA SEMANTICS .Box Blurb: detailed investigation of the fixpoint/iteration operation. Universal Algebra. Correctness logic is a special case of the equational logic of Iteration theories. Ten year program... see Bloom83 CR9505-0287: categegory theory, slow and casual, nonstandard power functor, doesn't discuss dynamic algebras, algebras with star, action algebras, or process algebras. .Close.Box .Close .Open BloomfieldFroome86 R E Bloomfield & P K D Froome The Application of Formal Methods to the Assessment of High Integrity Software IEEE Trans SE-12n9 (Sep 1986)pp988-993 =CASE-STUDY Prolog VDL QUALITY .Close .Open Blum87 Bruce I Blum A Paradigm for Developing Information Systems IEEE Trans Soft Eng VSE-13n4(Apr 1987)pp432-439 =ADVERT DATA METHOD TEDIUM TEDIUM: all info about application is in data base(ADB) and product is generated automatically from database(FAP) Experiences: Used John Hopkins since 1980 Demo on COCOMO example shows strong productivity increase(time ten times less!) .Close .Open Blum92 Bruce I Blum Software Engineering: A Holistic View Oxford University Press London UK 1992 ISBN 0-19-507159-X $50 pp588 Very positive reveiw by Dave Hurley(U Pittsburg) p113 IEEE Software Magazine July 1993 (RS100). Moderate review by Vaclav Rajlich(Wayne State U) p102 IEEE Computer Aug 1994 .Close .Open Blum94 Bruce I Blum A Taxonomy of Software Development Methods Commun ACM V37n11(Nov 1994)pp82-94 CR9602-0143 history(pp84-90) methods .Box Design methods include analysis...code. All based on ideas started in 1968-1977. No clear dividing lines between successive activities shift from life cycle to process Destinguishes: descriptive models("conceptual")(give guidance) from prescriptive models("formal")(establish criteria). and: problem oriented(focus on understanding the problem/solution) from product oriented(correct transformation from a prescription to a maintainable implementation). Four categories. problem oriented prescriptive models have potential automatic support for product oriented formal problem oriented tend to be descriptive and prescriptive tend to be product oriented. Mentions levels of abstraction, virtual machines, SWR, functional decomposition, structured design, coupling, cohesion, structure chart, information hiding, structured programming, proofs of correctness, algebraic specification, ADTs, structured analyisi, DFDs PSL/PSA, ERM(ERD), STD. petrie nets, warnier LCS (not LCP), JSP, JSD, VDM (not Z), OOP, OOA, Modern structured analysis, no silver bullets. ?? mathematical means top-down? isomorphism between problem and solution tension in development between need for subjective designs and formal programs.... top-down vs outside in, data flow vs data structure. .Close.Box .Close .Open Blum95 Bruce I Blum Beyond Programming to a New Era of Design Oxford University Press 1995 ISBN 0-19-509160 $40 CR9610-0771 reccommended in IEEE Software Mag July/Aug 1995 =IDEA POSTMODERN .Close .Open Blythetal90 David Blyth & Cornella Boldyreff & Clive Ruggles & Nik Tetteh-Lartey The Case for Formal Methods in Standards IEEE Software V7n5(sep 1990) .Close .Open Boasson93 Maarten Boasson(Thomson) Exploding Complexity may be our own Fault(Insider Column) IEEE Software(Mar 1993)p12. .Box ...TODO/0 Structure text Sent EMail, see Clippings.... .Close.Box .Close .Open Bochenski89 B Bochenski Importance of Optimization Software Magazine (Nov 1989) p79(Box) =IDEA data QUALITY .Close .Open Bochmann88 Gregor von Bochmann Delay-Independent Design for Distributed Systems IEEE Trans Soft Eng VSE-14n8(Aug 1988)pp1229-1237 =THEORY non-sequential STD/FSM timing theory regularity::=`removing delays leads to equivalent states` .Close .Open BochmannVerjus87 Gregor von Bochmann & J P Verjus Some Comments on "Transition-Oriented" Versus "Structured" Specification of Distributed Algorithms and Protocols IEEE Trans Soft Eng VSE-13n4(Apr 1987)pp501-505 =ESSAY reinvents JSP inversion in context of LOTOS SDL Estelle etc NONSEQUENTIAL .Close .Open Bock03 Conrad Bock UML without Pictures IEEE Software Magazine V20n5(Sep/Oct 2003)pp33- =DEMO MODEL REPOSITORY UML2.0 SEMANTICS COMPILATION ACTIVITY Shows how a C++ function is represented by an activity diagram and by collection of objects (mini data base)that model the diagram -- a repository .Close .Open Bock05 Conrad Bock UML 2 Activity and Action Models Part 6: Structured Activities JOT V4n3(May-Jun 2005) .See http://www.jot.fm/issues/issue_2005_05/column4 =HOWTO UML2.0 STRUCTURE ACTIVITY interrupts exceptions REPOSITORY MODEL .Close .Open BockleClemensMcGregorMuthigSchmid04 G|nter Bvckle & Paul Clemens & John D McGregor & Dirk Muthig & Klaus Schmid Calculating ROI for Software product lines IEEE Software Magazine V21n3(May/Jun 2004)pp23-31 =DIALOG MATHEMATICS COSTS REUSE .Close .Open Boddie87 John Boddie Crunch Mode Yourdon Press/Prentice Hall NJ 1987 =HANDBOOK lifecycle SAD PURPOSE QUALITY .Close .Open BodinGordonLoeb05 Lawrence D Bodin & Lawrence A Gordon & Martin P Loeb Evaluating information security using the analytic hierarchy process Commun ACM V48n2(Feb 2005)pp79-83 =ADVERT AHP SECURITY QUALITIES TRADEOFFS COTS DECISIONS AHP .See [Saaty80] .Close .Open BodolfKingBen-Menachem05 David Bodolf & Patrick C K King & Mordechai Ben-Menachem Web Metadata Standards: Observations and Prescriptions IEEE Software Magazine V22n1(Jan /Feb 2005)pp78-85 =ESSAY WEB STANDARDS METADATA ONTOLOGIES AI Table 1 page 80: List of standards: ebXML, CPP, WSDL, UDDI, SOAP, WS-Security, P3P, DC, CIMI, OWL. Suggests .Box Don't ignore testing, SQA and other long standing problems. Don't target a standard at too many purposes/uses. To find things may need meta-meta-data. Need tools to support search and navigation through classifications and thesau rus hierarchies. Don't add useless indexing. Don't work at too high a level and allow too much freedom at more concrete lev els. Conventional ontologies should be limited to narrow domains until more reliable methods to develop ontologies are developed. .Close.Box .Close .Open Boegh08 Jorgen Boegh A New Standard for Quality Requirements IEEE Software Magazine V25n2(MAr/Apr 2008)pp60- =STANDARD QUALITIES MANAGEMENT MODEL MEASUREMENT REQUIREMENTS EVALUATION ISO/IEC 25030 SQuaRE ISO 9126 Quality model{ {External, Internal}><{Functionality, Reliability, Usability, Maintainability, Portability}, Quality in Use {Effectiveness, Productivity, Safety, satisfaction }} Distinguish: computer system, mechanical part, Human process. Computer system: hardware, software, and data -- all with qualities. Stakeholder needs ->(definition)->Stakeholder requirements ->(Analysis)-> System Requirements. Many more details... .Close .Open Boehm80a Barry Boehm Software engineering - as it is See FreemanLewis80 pp 149-179 =survey .Close .Open Boehm80b Barry Boehm Software Engineering Economics Prentice Hall International 1980 =TEXT QUALITY ENGINEERING costs .Close .Open Boehm87 Barry Boehm Industrial Software Metrics Top Ten List IEEE Software V4n5(Sep 1987)pp84-85 =EXPEREINCE QUALITY .Close .Open Boehm96 Barry Boehm(USC) Helping students Learn Requirements Engineering(abstract) Preliminary program conf on Softw Eng Education April 1996 =EDUCATION REQUIREMENTS "Many software engineering courses (and methods) begin with an assumption that software requirements are presented to software engineers in a complete consistent feasible testable and traceable form and that the software engineer's main job is to correctly transform the requirements into code. This is generally an unhealthy approach as the requirements for virually alll significant software products are to some degree unknown unknowable or the results of compromises requiring the software engineer's participation and expertise." .Close .Open Boehm99 Barry Boehm(USC) Making RAD Work for Your Project IEEE Computer V32n3(Mar 1999)pp113-114+117 =ESSAY Types of RAD: DRAD(Bumb RAD=deathmarch).. SAIV(Schedule as Independent Variable) etc etc. See USC-CSE-99-512 on .See http://sunset.usc.edu/TechRpts/electronicopy.html for PDF formatted extended version .Close .Open Boehm00 Barry Boehm Unifying Software Engineering and Systems Engineering IEEE Computer Magazine V33n3(Mar 2000)pp114-116 =IDEA SYSTEMS QUALITY determine ARCHITECTURE + COST REQUIREMENTS should be part of SOFTWARE ENGINEERING .Close .Open Boehm00 Barry Boehm Requirements that handle IKIWISI, COTS, and rapid change IEEE Computer Magazine V33n7(Jul 2000)pp99-102 =ESSAY REQUIREMENTS EVOLUTION INFORMATION HIDING INCREMENTAL IKIWISI::=`I'll know it when I see it`. p99: "requirements tend to emerge with continued use". COTS, p99: "capailities determine the requirements". WWW change "an impossible to win game of catch-up". p100: "avoid one-size-fits-all approaches to requirements". new kindsof requirements: value-driven, sared-vision, change-driven, and risk driven. benefits vs schedule, business consequences and assumptions, require some room for likely changes like addin low priority needs, in orout? -- minimize the risk. .Close .Open Boehm00a Barry Boehm Project Termination doesn't Equal Project Failure IEEE Computer Magazine V33n9(Sep 2000)pp94-96 =ESSAY SURVEY PROCESS RISK Competitive edge means risk. "You shouldn't expect all your risky projects to succed." manage your products. manage risk with incremental commitment. use architecture reviews, feasibillty rationales. monitor assumptions. Standish Group reported in 1995 .See http://www.standishgroup.com/visitor/chaos.htm that 31.1% of projects get cancelled before completion . Hayes97, computerworld nov 3 1997, managing user expectations. .Close .Open Boehm00b Barry Boehm Safe and Simple software cost analysis IEEE Software Magazine V17n5(Sep/Oct 2000)pp14-17 =ADVERT COCOMO II ESTIMATING COST tables diagrams and examples. Pointers to tools. .Close .Open Boehm02 Barry Boehm Get Ready for Agile Methods, with Care IEEE Computer Magazine V35n1(Jan 2002)pp64-69 =IDEA XP AGILE adaptive risk-driven plandriven CMM Presents a spectrum of processes from Hacking to Inch-pebble ironbound contract. XP is the limit of th CMM range. Agile processes must have involved clientele. Plan-driven must have stable requirements. There exist requirements that break architectures. Shows graphs of risk exposure vs amount of planning for different losses that have to be traded-off at a sweet spot. For L:loss, risk_exposure(l) ::=P[L] * size(L). .Close .Open Boehm08 Barry Boehm Making a Difference in the Software Century IEEE Computer Magazine V41n3(Mar 2008)pp32-38 =ESSAY IDEAS ACRONYMIC CATCHPHRASES ONESIZE OSUFA BITAR IKIWISI DAVAS SISOS TANIA Rapid change vs THWADI::="Thats How We've Always Done It". Uncertainty and Emergence. Cone of Uncertainty. .See [Armour08] BITAR::="Buy Information To Avoid Risk", Do extra things to reduce uncertainty. Tackle risks early. IKIWISI::="I'll know it when I see it". So Iterate. Dependability DAVAS::="Dependability As Value Assured to Stakeholders". Example of conflicting values in a well known failed project. Diversity. OSUFA::="One Size Fits All". Culture makes a difference in the adoption of process standards. SISOS::="Software Intensive Systems of Systems". OSUFA leads to failure Interdependence. TANIA::="There Are No Islands Anymore". No part of a system or of a process is isolated. Figure 5, p36: Activities >< Phases >-> Level_of_activity, CF RUP. $SISOS need more time for Architecture and Risks. .Close .Open BoehmBasili00 Barry Boehm & Victor R Basili Gaining intellectual control of Software Development IEEE Computer Magazine V33n5(May 2000)pp27-33 =ESSAY RESEARCH PLANNING PITAC NSF AESOP COTS PEOPLE SCIENCE ENGINEERING President's information technology advisory committee Report on two workshops. great software depends on more than good engineering or just good technology. need to study rea,l projects and compare successes and failures. confusing table mapping dependencies of key challenges on software eng technologies and these technologies on underlying science. need for domain science! .Close .Open BoehmBhuta08 Barry Boehm & Jesal Bhuta Balancing Opportunities and Risks in Component-based software development IEEE Software Magazine V25n6(Nov/Dec 2008)pp56-63 =IDEA =EXAMPLE JPL PROCESS INCREMENTAL COMMITMENT ITERATION RISKs STAKEHOLDERS ICM::acronym="Incremental Commitment Model", ICM::lifecycle=exploration; valuation; foundations; develeopment & foundations; do(Operations & Development & Foundations ). Mentions example of an architectural mismatch leading to a 4 times over-run, taking 5 person-years rather than 1. .Close .Open Boehmetal97 Barry Boehm & Alex Egyed & Julie Kwan & Ray Madachy Developing Multimedia Applications with the WinWin Spiral Model .See [JazayeriSchauer97] pp20-39 =DEMO PROCESS TOOLs students develop multimedia systems for USC library in 11 weeks key milestones=life_cycle_objectives life_cycle_architecture initial_operational_capability. .Close .Open BoehmHuang03 Barry Boehm & Li Guo Huang Value-Based Software Engineering: A case Study IEEE Computer Magazine V36n3(Mar 2003)pp33-41 =CASESTUDY ECONOMIC REQUIREMENTS PROCESS ESTIMATING AGILE FEEDBACK Software can/does fail because of business non-technical value errors. See .See http://www.standishgroup.com CHAOS report. Need to track the business value of all tasks performed and needed and use this to adjust plans. initiative #(->cause_effect) ->assumptions EDSER::="Economics-Driven Software Engineering Research", .See http://www.edser.org .Close .Open BoehmHuangJainMadachy04 Barry Boehm & LiGuo Huang & Apurva Jain & Ray Madachy The ROI of Software Dependability: The iDAVE Model IEEE Software Magazine V21n3(May/Jun 2004)pp54-61 =CASESTUDY COCMO RELIABILITY ECONOMICS COQUALMO MTBF NASA OrderProcessing iDAVE::="information Dependability Attribute Value Estimation". Estimates the rate of introduction and removal of defects and the effect on the MTBF. MTBF::="Meantime before Failure", MTTR::="Meantime to Repair". MTBF and MTTR leads to Availability. Availability changes Benefit. Hence ROI. Does not quantify risks such as loss of life and reputation. .Close .Open BoehmIn96 Barry Boehm & Hoh In(USC) Identifying Quality-Requirement Conflicts IEEE Software magazine V13n3(Mar 1996)pp25-35 =ADVERT TOOL QUALITY conflicts QARCC Knowledge-based groupware tool WinWin Stakeholders---<>Techniques .Close .Open BoehmPapaccio88 Barry W Boehm & Philip N Papaccio Understanding and Controlling Software Costs IEEE Trans Soft Eng VSE-14n10(Oct 1988)pp1462-1477 =IDEA spiral model+value chain+oportunity tree COST Conclude: important & contolling cost means controlling quality & less new code by best people with little rework and integrated support environment .Close .Open BoehmPortAl-Said00 Barry Boehm & Dan Port & Mohammed Al-Said Avoiding the Software Model-Clash Spider-web IEEE Computer Magazine V33n11(Nov 2000)pp120-122 =IDEA SUCCESS MODELS PQRST Mbase stake holders Master Net Stakeholder := user | acquirer | developer | maintainer | ... | public. Each stake holder has a different model of what is needed. Each model is a set of assumptions. Classified as process, product, property, and success. `Could use purpose, qualities, techniques, team, etc .` Clashes can occur between and within different stakeholder models. Has been used two diagnose problems quickly in large and small projects. interesting spider-web diagram on p121. Mbase ::= http://sunset.usc.edu/research/MBASE. .Close .Open BoehmTurner03a Barry Boehm & Richard Turner Using Risk to Balance Agile and Plan-Driven Methods IEEE Computer Magazine V36n6(Jun 2003)pp57-66 =ADVERT one-size situation risk process agile vs planned anchor mbase rup xp spiral modules Based on book by same authors... .See [BoehmTurner03b]. Sidebar pp58-59: defines home grounds for agile and plan-based processes plus five critical factors: size, criticality, dynamism, personnel, and culture. Kiviat style polar chart. sidebar p60:misquotes Cockburn03. 3 levels of skill. figure 1 p60. idea: if situation does not fit either agile or planned then architect the project into agile and planned parts. p63: can focus testing on the high-risk parts. fig 4 p65: 3 kinds of risk: environmental, agile, plan-driven. ranges: minimal..showstopper. .Close .Open BoehmTurner03 Barry Boehm & Richard Turner Balancing agility and Discipline: A guide for the perplexed Addison-Wesley Longman Boston MA 2003 ISBN 0321186125 =UNREAD =SYNTHESIS AGILE ONESIZE CR 0410-1130 Avertized in .See [BoehmTurner03a]. .Close .Open BoehmTurner05 Barry Boehm & Richard Turner Management Challenges to Implementing Agile Processes in Traditional Development Organizations IEEE Software Magazine V22n5(Sep/Oct 2005)pp30-39 =REPORT WORKSHOP Management Agile vs Traditional People Organizations Culture p34. Sidebar lists 8 nonproblems + 10problems due to size/scope + 18 significant issues. Authors make suggestions. .Close .Open Bogart91 Kenneth P Bogart An Obvious Proof of Burnside's Lemma American Math Monthly V98n12(Dec 1991)pp927-928 "a function f from set S to a set T defines a multiset of size |S| chosen from T in which the multiplicity of t \in T is the number of s \in S with f(s)=t" =map[t:T]|/f(t)| = /f; Card= Card o /f. +(Card o /f)=Card o dom(f). .Close .Open Bohlen02 Boris Bohlen & Dirk Jager & Ansgar schleicher UPGRADE: building interactive tools for visual languages .See [SCI2002] V1(Jul 2002) =EXPERIENCE VISUAL GRAPHIC TOOLS .Close .Open BohmJacopini66 Corrado Bohm & Giuseppe Jacopini Flow Diagrams, Turing Machines, and Languages with only Two Formation Rules Commun ACM V9n5(May 1966)pp366-71 .See http://doi.acm.org/10.1145/355592.365646 =THEORY Structured programming technical sequential proof The key paper that allowed structured programming to take off. (BohmJacopini)|- `All programs can be reprogrammed using sequence, selection, and iteration and no other structures`. .Close .Open BojicEtal04 Dragan Bojic & Thomas Eisenbarth & Rainer Koschke & Daniel Simon & Dusan Velasevic Addendum to "Locating Features in Source Code" IEEE Trans Software Engineering V30n2(Feb 2004)p140 =SURVEY CONCEPT ANALYSIS Ball: tests vs parts of programs to help testing. BojicVelaseic: usecase vs parts of programs refactoring in UML. EisenbarthKosckeSimon: scenarios vs functional blocks to aid traceability .Close .Open BojicVelasevic00 Dragan Bojic & Dusan Velasevic Reverse Engineering of Use Case Realizations in U ML ACM SIGSOFT Software Engineering notes V25n4(Jul 2000)pp56-61 =IDEA VisualC++ TEST profiling LOGIC DA-C use concept analysis to convert profiles of test executions into lattices of use-cases .Close .Open Bokowski99 Boris Bokowski CoffeeStrainer: Statically-checked Constraints on the Definition and use of Types in Java ESEC/FSE'99 SIGFOFT SE Notes V24n6(Nov 1999)pp355-374 =TOOL JAVA V&V CORRECTNESS TYPES CONSTRAINTS .Close .Open BollellaGosling00 Greg Bollella & James Gosling The Real-time specfication for java IEEE Computer Magazine V33n6(Jun 2000)pp47-54 =HISTORY OBJECT-ORIENTED NET PERFORMANCE RTSJ RTJEG NIST STANDARD .Close .Open Bollinger95 Terry Bolinger(DSC Communications) What can Happen when Metrics Make a Call IEEE Software Magazine V12n1(Jan 1995)pp15 Distinguish feature metrics from derived metrics. derivation: equation supposed to show progress towards goal Dangers of Bogus metrics (eg lines of code). pressures practitioners into doing bad things almost inevitable need to listen to developers very carefully: can give a good metrics program & get some serious buy-in as well .Close .Open Bollinger00 Terry Bollinger Visual Basic: Taming the woolly mamoth IEEE Software Magazine V17n3(May/Jun 2000)pp16-17 =ESSAY COBOL BASIC THEORY vs PRACTICE why two very popular languages have so few papers written about them? .Close .Open BollingerBeckman99 Terry Bollinger & Peter Beckman Linux on the Move IEEE Software Magazine V16n1(Jan/Feb 1999)pp30-35 =HISTORY open-source development TECHNICAL only use honest unmanaged of code peer review .Close .Open Bolloju04 Narasimha Bolloju Improving the quality of business object models using Collaboration patterns Commun ACM V47n7(Jul 2004)pp81-86 =EXPERIMENT MODEL REALITIES PATTERN UML COMPOSITION Based on Coad and Fowler lists 12 simple patters that helped students improve their conceptual models in 13 different business application domains: spotting classes and connections, plus correcting errors. Collaboration_patterns::#Pattern=following, .Set E1: Role (1)-(0..*) Transaction E6: Transaction (1)-(0..*) FollowupTransaction E5: Specification (1)-(0..*) Transaction E3: CompositeTransaction (1)<*>-(0..*) LineItem E2: Place (1)-(0..*) Transaction R: Actor (1)-(0..*) Role T1: Item (1)-(0..*) SpecificItem T4: Group (1)<>-(0..*) Member E4: SpecificItem (1)-(0..*) Transaction T2: Assembly(1)<*>-(0..*) Part P: OuterPlace (1)-(0..*) Place T3: Container (1)<*>-(0..*) Content .Close.Set Next .See [BollojuLeung06] .Close .Open Bolloju09 Narasimha Bolloju Conceptual Modeling of Systems Integration Requirements IEEE Software Magazine V25n6(Sep/Oct 2000)pp66-74 =EXPERIMENT METHOD NOTATION SYSTEM REQUIREMENTS SERVICES Graph: Nodes represent subsystems and transformations. Arcs labelled with conditions and messages. Transformations: BATCH and SPLIT, AGGREGATE and DISTRIBUTE, X(translation). Uses <....> to indicate refined subsystem. Tested an 78 graduate students who found it usable. .Close .Open BollojuLeung06 Narasimha Bolloju & Felix S K Leung Assisting Novice Analysts in Developing Quality Conceptual models with UML Commun ACM V49n6(Jun 2006)pp108-112 =EMPIRICAL 15 PROJECTS UML UseCase Domain ERD sequence diagram model V&V SQA REQUIREMENTS CSCI372 CSCI375 Table 3 lists the commonest errors by artifact .Table Artifact Syntax Semantics Pragmatics .Row Use Case Diagram bad notation bad extends cases too small? .Row Use Case Description mismatch name with diagram .Item MIssing and ambiguous steps, invalid extension .Item steps too small and implementation dependent .Row Class Diagrams .Item not listing operations in sequence diagram or listing implicit operations .Item wrong multiplicity, mislocated attributes and operations, unrealizable operation .Item Subclasses not distinguished, showing inherited attributes .Row Sequence Diagram .Item missing "found" signal, return to wrong object, class not on class diagram .Item missing parameters, parameters used before set, missing classes .Item Responsibility misallocated to wrong object .See [Larman05] .Close.Table Ref to .See [LindlandSundreSolvberg94] for qualities of conceptual models. Also see .See [Bolloju04] .Close .Open Bolognesi00 Tommaso Bolognesi Toward Constraint-Object-Oriented Development IEEE Trans Software Engineering V26n7(Jul 2000)pp594-616 =EXAMPLE OBJECT-ORIENTED SPECIFICATION DESIGN STYLE COO LOTOS CO-NOTATION Z GRAPHIC .Close .Open BolognesiBrinkma95 T. Bolognesi & Ed Brinksma Introduction to the ISO specification language LOTOS Comput Network and ISDN Syst V14n1(1987)pp25-29 .Close .Open Bolognesietal95 T. Bolognesi & Jeroen van de Lagemaat (mailto:lagemaat@cs.utwente.nl) & C.A. Vissers (ed) LOTOSphere: Software Development using LOTOS Kluwer Academic Publishers 1995 ISBN 0-7923-9529-8 =ADVERT LOTOS TOOLS .Close .Open Bolt84 ?? BOLT Human interfaces for managers Computer World v16 (July 1984) pp In Depth/1..18 =ARTICLE USER .Close .Open BoltaciJones95 L. Boltaci & J.Jones Formal specification using Z: A modeling approach International Thomson Publishing London 1995. =DEMO MODEL Z SPECIFICATION FORMAL .Close .Open Bond95 David Bond Project-Level Archetypes Software Development Magazine(Jul 1995)pp39-44+letter (Oct 1995)p11 =IDEA DOMAINs ECONOMICS one-size does not fit all Suggests that different industries/situations have different "best practices". four models: .List constrained internal client vertical market mass market. .Close.List cf .See [Constantine95b] Letter points out the additional complexity of producing software is the need to integrate the new into existing systems. .Close .Open BondAnderson01 Mike Bond & Ross Anderson API-Level Attacks on Embedded Systems IEEE Computer Magazine V34n10(Oct 2001)pp67-75 =HISTORY DESIGN SECURE INTERFACE CRYPTOGRAPHY ATMS COMMERCIAL IBM Visa VSM Using formal methods to calculate new attacks on ATMs! How to split a key so that it can be transmitted to a device securely in shares and combined internally so that the right key is installed and nobody knows what it is -- even if < n people collude, even if shareholders lie about their shares to the device! .Close .Open BondG05 Gregory W Bond Software as Art Commun ACM V48n8(Aug 2005)pp118-124 =ESSAY ART Knuth .Close .Open BonifattiEtal01 Angela Bonifatti & Fabiano Cattaneo & stafano Ceri & Alfonso Fuggetta & Stefano Paraboschi Designing Data Marts for Data Warehouses ACM TOSEM Trans Software Engineering & Methodology V10n4(Oct 2001)pp452-483 =CASESTUDY DATA OLAP REQUIREMENTS GQM Star ERD C-Graph snowFlake .Close .Open BontempsHeymansSchobbens05 Yves Bontemps & Patrick Heymans & Pierre-Yves Schobbens From Live Sequence Charts to State Machines and Back: A Guided Tour IEEE Trans Software Engineering V31n12(Dec 2005)pp999-1014 =THEORY REQUIREMENTS SCENARIOS SSDs MSC Message Sequence diagrams LSC Live sequence charts FSM/STD STATE CHARTS Proves that most problems linking message sequence charts to state based models are intractable -- efficient automation may be impossible. .See [Harel01] .Close .Open Booch83 G Booch Software Engineering with Ada Benjamin Cummings 1983 =HOWTO object-oriented graphic text Reality Technical .Close .Open Booch86 Grady Booch Object Oriented Development IEEE Trans Soft Eng vSE-12n2(Feb 1986)pp211-221 (in BerglandZave86) =HOWTO Ada graphic Reality object .Close .Open Booch91 Grady Booch Object Oriented Design with applications Benjamin Cummins Redwood City CA 1991 ISBN 0-8053-0091-0 CR9105-0322 & CR 9209-0690 & CR9404-0198 =HOWTO .See [Booch94a instead] .Close .Open Booch94a Grady Booch(Rational) Object Oriented Analysis and Design with applications(2nd Edn) Benjamin Cummins Redwood City CA 1994 ISBN 0-8053-5340-2 CR9502-0135"Marked improvement over the first edition while retaining the outstanding features of the original"(T H Tse) .Close .Open Booch94b Grady Booch Coming of Age in an Object-Oriented World IEEE Software Magazine V11n6(Nov 1994)pp33-41 .Box p35: distinguishes "off the shelf" from "custom" off the shelf Codifies a specific and well understood horizontal domain large market driven to higher technical sophistication by the market beomes a commodity item Custom Vertical business line includes off the shelf components must be as complex as the domain domain is not well understood and is complex. OO::=Net{Abstraction, Encapsulation, Inheritance, Polymorphism}. OO{programming, methods, infrastructure} Increasing focus on architectures rather than just classes Includes RDBMSs as OO. .Close.Box .Close .Open Booch99 Grady Booch(guest editor) UML in action Commun ACM V42n10(Oct 1999)pp26-70 See .See [Kobryn99] .See [Larsen99] .See [Selic99] .See [BellSchmidt99] .See [Conallen99] .Close .Open Booch01 Grady Booch The Illusion of Simplicity Software Development Magazine V9n1(Jan 2001)pp57-59 =ARTICLE PQRST MODEL MODULE Forces on software development: cost/schedule, functionality, compatibility, reliability/availability, security, failsafe/fault-tolerance, Resilience, technology churn, scalability, capacity, Performance help: abstractions: Object-Oriented , patterns, modeling balance and mitigating conflicting forces. .Close .Open Booch01b Grady Booch Developing the Future Commun ACM V44n3(Mar 2001)pp119-121 =POLL OPINION PEOPLE SWEBOK XP Opensource Future: split betwen high and low ceremony processes leading to some reconciliation. More user-programmers vs a more mature profession. .Close .Open Booch06 Grady Booch The Accidental Architecture IEEE Software Magazine V23n3(May/Jun 2006)pp9-11 =ESSAY ARCHITECTURE =HISTORY WWW/NET PATTERNS Notes that we don't have a comprehensive list of architectures for software. ... unlike buildings: Babylonian, Greek, ... Refers to Henry Petroski. Describes a history of the WWW architectural styles: Plain HTML, Eye-Candy, simple scripting, middleware, simple frameworks, rich-client | service-oriented architecture. Argues that architectural patterns emerge from a experience. .Close .Open Booch06a Grady Booch Goodness of fit IEEE Computer Magazine V39n10(Oct 2006)pp14-15 =ESSAY ARCHITECTURE STYLE PATTERNS FORTRAN COMPILER Bachus's original pipe-and-filter architecture for FORTRAN compilation remains good for recent languages....with some small tweaks. Does not mention .See [Jackson75]'s use of pipe+filter to Data Processing and McIlory's pipes in UNIX. For a given set of forces there is a better architecture. The forces in a given domain are pretty constant. .Close .Open Booch07 Grady Booch Object-oriented analysis and Design with Applications Addisson Wesley Longman Redwood City CA 2007 ISBN 020189551X $CR 0808-0732 =UNREAD =HOWTO ANALYSIS DESIGN OBJECTS Notes .Hole .Close .Open Boogie09 Microsoft Research Boogie -- The World's Best Program Verification System Web site Aug 27th 2009 .See http://boogie.codeplex.com/ =ADVERT OPEN SOURCE VERIFIER SQA PROOF NONSEQUENTIAL TOOL # "Boogie is a program verification system that produces verification conditions for programs written in an intermediate languagec (also named Boogie). The intermediate language is easy to target from source languages such as Spec#, C#, or even C." .Close .Open BoralvStalmarck99 Arne Boralv & Gunnar Stalmarck Formal Verification in Railways In .See [HincheyBowen99] pp329-350 =EXPERIENCE RISKS SPECIFICATION STD/FSM LOGIC TPA vs DESIGN V&V TOOL Prover Delphi for ADtranz CVT Swedish Sternol Prover is a Company specializing in the industrialization of formal methods. Stalmarck has patented the proof algorithm! Can we make a formal tool that is as transparent to use as a word processor? Some parts need a formal methods expert, but some parts can be made more useful to railway interlocking engineers. Need to trade-off expressive power of logic with the performance of the tool. Claims that ONLY domain/application knowledge is needed to use the tools. .Close .Open Borger88 Egon Bo"rger(Ed) Trends in Theoretical Computer Science Computer Science Press Rockville Maryland 1988 =Series: Principles of Computer science series .See [Gurevich88] .Close .Open BorgerSchulte00 Egon Bo"rger & Wolfram Schulte A Practical Method for Specification and Analysis of Exception Handling -- A Java/JVM Case Study IEEE Trans Software Engineering V26n9(Sep 2000)pp872-887 =CASESTUDY LOGIC SPECIFICATION SEMANTICS JAVA COMPILER JVM PROOF .Close .Open Borgida85 Alexander Borgida Features of Languages for the Development of Information Systems at the Conceptual Level IEEE Software V2n1(Jan 1985)pp63-72 =SURVEY data concepual modeling .Close .Open Borgidaetal95 Alex Borgida & John Mylopoulos & Raymond Reiter The frame problem in procedure specifications IEEE Trans on Software Eng VSE-SE-21n10(Oct 1995)pp785-798 =CRITIQUE LOGIC Set Theory SPECIFICATION METHODS circumscription .See [BorgidaMylopoulosReiter93] .Find JacksonD9 .See [McCarthy87] .See [Delgrande98] .Close .Open BorgidaGreenspanMylopoulos85 Alexander Borgida & Sol Greenspan & John Mylopoulos Knowledge Representation as the Basis for Requirements Specifications IEEE Computer MAgazine V18N4(Apr 1985)pp82-91 .See http://doi.ieeecomputersociety.org/10.1109/MC.1985.1662870 =ESSAY MODEL REALITY PURPOSE Object-Oriented AI ONTOLOGY parts IS-A TIMES RML Also see what happened .See [BorgidaGreenspanMylopoulos94] .Close .Open BorgidaGreenspanMylopoulos94 Alexander Borgida & Sol Greenspan & John Mylopoulos On formal requirements modeling languages: RML revisited SIGSOFT Proceedings of the 16th international conference on Software engineering pp135-147 .See =HISTORY RML MODEL REALITY PURPOSE Object-Oriented ONTOLOGY GIST KAOS Also see .See [BorgidaGreenspanMylopoulos85] Need QUALITIES -- non-functional requirements NFRs. .Close .Open BorgidaJarke92 Alex Borgida & Mathias Jarke Knowledge and Representation in Software Engineering(Editorial on special issue) IEEE Trans SE-18n6(Jun 1992)pp449-450 CR9307-0467 domain logic ... relation to formal methods ... power vs performance ... empirical results .Close .Open BorgidaMylopoulosReiter93 A Borgida & J Mylopoulos & R Reiter "And Nothing Else Changes":The frame problem in procedure specifications In Proc of the 15th Int Conf on Software Engineering IEEE Computer Society(May 1993)pp303-314 Ref from ZaveJackson93 .See [Borgidaetal95] .See [BicarreguiRitchie95] .Close .Open BorsoiBecerra08 Beatriz Terezinha Borsoi & Jorge Luis Risco Becerra Definition and modeling of process using object orientation ACM SIGSOFT Software Engineering Notes archive V33n3 (May 2008) Article No. 2 =IDEA PROCESS MODEL OBJECT-ORIENTED Compare to earlier proposal .See [JaccheriPiccoLago99] E^3 OO process language. .But Why not just use the OMG_SPEM? OMG_SPEM ::="Software Process Engineering MetaModel", .See http://www.omg.org/technology/documents/modeling_spec_catalog.htm .Close.But .Close .Open Bosak98 Jon Bosak(Sun) Mediaindependent Publishing: Four Myths about XML IEEE Computer Magazine V31n10(Oct 1998)pp120-122 =ADVERT XML .Box XML is a not MS conspiracy -- many others are involved. XML is not an extension of HTML -- both come from SGML. XML can not drive a web browser without style rules: DSSL and XSL .See http://www.w3.org/TR/WD-xsl XML is not just for data -- it can convey any kind of structured data but it can also make any kind of information independent of pratform/vendor/media/nationallity .Close.Box .Close .Open BossomaierGreen01 Terry R J Bossomaier & David G Green (Editors) Complex Systems Cambridge University Press 2000 ISBN 0-521-46245-2 Q172.5.C45C64 =SURVEY MATHEMATICS Alife GRAPH Theory Criticality fractals theory nets chaos .Close .Open Boswell95 Anthony Boswell Specification and Validation of a Security Policy Model IEEE Trans on Software Eng VSE-21n2(Feb 1995)pp63-68 =ADVERT TOOL FORMALIZER and Z .Box typical Z schemas are 6..10 lines long, 65 schemas in total some here where 11..20 or more giant schemas: many definitions, state transitions, state includes state of many tables. systematic documentation of results and structure of arguments The usefulness of diagrams...systematic diagrams. .Close.Box .Close .Open Botting75 Richard J Botting Letter on Comments and Methods Computing Europe, Oct 30th, p8. =LETTER ASSERTIONS CODE TECHNICAL Don't want comments that tell you that `i++` adds one to i. You want comments that state what is necessarily true at that point in the program. .Close .Open Botting77 RJ Botting Efficient Storage for Amorphous Data Software -Practice and Experience V7pp201-203 =DEMO Technical data structure .Close .Open Botting78a Richard J Botting Loglan -- a more flexible language =ADVERT Loglan Mathematics Logic ITL UNIVERSAL LANGUAGES Computer Weekly (UK) n598 (Feb 16 1978)letters Response to .See [Kelly78] Argues that Loglan fits Kelly's criteria better. .Close .Open Botting78b Richard J Botting Languages at the Crossroads =ADVERT Loglan Mathematics Esperanto ITL UNIVERSAL LANGUAGES Computer Weekly (UK) n598 (April 27 1978)p4 Response to .See [Love78] Calls for "an Intermediate Text Language that benefits language translation and not use computers to help Esperanto" Need to examine many alternative solutions to a problem. .Close .Open Botting84a RJ Botting Fred - a Friendly Editor Proc Western Educational Computing Conference Nov 1984 Western Periodicals Co N Hollywood CA. =DEMO USER DAD System Technical .See ./papers/rjb84a.FRED.html DAD::="Dynamic Analysis and Design", uses BNF style descriptions of entity life histories to determine the code of the software that keeps track of them. Evolution of FRED is further tracked in .See [Botting84b] .Close .Open Botting84b RJ Botting Generalization - An Alternative to Error Messages Proc Western Educational Computing Conference Nov 1984( pp98-99) Western Periodicals Co N Hollywood CA. .See ./papers/rjb84b.Generalization.html =DEMO USER non-sequential System PROTOTYPING EVOLUTIONARY AGILE History of a simple technology strapped but successful piece of software. Error messages show the lack of imagination of programmers. Software can be evolved. .Close .Open Botting85a RJ Botting On Prototypes vs Mockups vs Breadboards (letter) ACM SIGSOFT Software Engineering Notes v10n1(Jan 1985)p18 =LETTER WORDS PROTOTYPING .Close .Open Botting85b RJ Botting An Eclectic Approach to Software Engineering pp25-29 Proc Third Int'l Workshop on Software Specification & Design(IWSSD3) Aug 1985 =survey PQRST PURPOSES QUALITIES REALITIES SYSTEMS TECHNOLOGIES DFD PROTOTYPES NOTATIONS Names 28 processes available to a software developer and describes how they are connected. The processes are found in 31 different references. .Close .Open Botting85c RJ Botting Evolution of Software for a Faculty Workstation pp120-124 Western Educational Computing Conference1985 =demo evolution prototypes tools System AGILE You can not reduce paperwork in an office by using a document driven software process in that office. Abstract .Box The author describes the software for a small portable microcomputer workstation. The development of this software did not follow conventional methods, but used prototyping. He argues that useful programs tend to survive, whereas the less successful are either modified or thrown away. The set of successful programs, when compared with the set of unsuccessful programs, suggests some requirements for a faculty workstation. A second conclusion is the need for a new programming system which allows breadboard systems. He gives a preliminary specification for a software breadboarding system. .Close.Box .Close .Open Botting85d RJ Botting IO Statements in Higher Programming Languages(letter) IEEE Computer v18n8(Aug 1985)p95 =harmful Technical .Close .Open Botting86a RJ Botting Into the Fourth Dimension: An Introduction to Dynamic Analysis & Design SE Notes v11 n2 pp36-48 Apr 1986 ACM SIG Software Engineering =THEORY DAD graphic logic Reality .Close .Open Botting86b RJ Botting Novel Security Techniques for Online Systems (Pracnique) Commun ACM Vol 29 No 5 (May 1986) =DEMO DAD SECURITY HCI .Close .Open Botting87a RJ Botting A Critique of Pure Functionalism pp148-153 Proc. Fourth Int'l Workshop on Software Specification & Design(IWSSD4) April 1987 IEEE Catalog No. TH0181-8 LA CA =DEMO formal DAD DFD ERD DDD data lift .Close .Open Botting87b RJ Botting Regular Expressions Relations & Software: Part I - Practice & Part II - Theory Western Educational Computing Conference Nov 1987 Western Periodicals Co. N Hollywood CA. =THEORY DDD JSP theory languages logic formal .Close .Open Botting88 RJ Botting Data Structures Classes Can Mislead Western Educational Computing Conference Nov 1988 Western Periodicals Co N Hollywood CA. =THEORY DISK DATA OPTIMIZATION PERFORMANCE QUALITIES Assumes .See [PechuraShoefler83] 's formula for disk access: time delay is linearly dependent on distance between data. Proves that for large data structures common O(...) formulas are wrong. Example: a binary search of `n` items in a large disk file takes O(`n`) not O(log(`n`)). .Close .Open Botting89a RJ Botting Comments on Tripp's Graphical Notations ACM SIGSOFT Software Engineering Notes V14n1 (Jan 1989)p83 =LETTER Dimensional charts graphic .Close .Open Botting89b RJ Botting Abstract of Research Proc ACM CSC Conf 1989 =survey PQRST .Close .Open Botting93 RJ Botting Would you like your program in a glass? IEEE Computer Magazine V26n10(Oct 1993)p104 =JOKE PROCESS vaporware, liquidware, software, soggyware, firmware, hardware .Close .Open Botting94 Richard J Botting When More is Expected of Programmers(Letter) IEEE Software Magazine V11n5(Sep 1994)p9 =LETTER PEOPLE .Close .Open Botting95a Richard J Botting On the Relational Semantics of Programming Languages Faculty seminar CSci CSUSB Spring 1995 .See http://csci.csusb.edu/dick/papers/rjb95a.Relations.vs.Programs.html =THEORY SEMANTICS RELATIONS .Close .Open Botting95b Richard J Botting Can One Size Fit All? Faculty seminar CSci CSUSB Fall 1995 .See http://csci.csusb.edu/dick/papers/rjb95b.one.size.html .See [Botting97a] =IDEA ECONOMICS CULTURE ONE-SIZE .Close .Open Botting97a Richard J Botting On the Economics of Mass-Marketed Software pages 465-470 of Proceedings of .See [ICSE'97] =IDEA ECONOMICS SUNK externallities CULTURE ONE-SIZE why one product becomes dominant and then is eclipsed by a later one. network effects. Sunk Costs. cultural assumptions .See [Botting95b] .See [CusumanoYoffie98] .Close .Open Botting99 Richard J Botting On the application of a popular notation to semantics ACM SIGPLAN Notices V34n6(Jun 1999)pp82-83 =IDEA Why not use the UML and OCL to express Programming LANGUAGE SEMANTICS OBECT-ORIENTED Uses TABULAR presentation of polymorphic functions. Proposes a fixed point operator for the OCL .Close .Open Botting99a Richard J Botting The MATHS Manifesto URL .See http://www/dick/maths/10_manifesto.html =ADVERT DEFINES MATHS MATHS::="Multi-purpose Abstractions, Terminology, Heuristics and Symbols". .Close .Open Botting00a Richard J Botting Designing the Real World IEEE Software Magazine (Letters) V17n2(Mar/Apr 2000)pp8-9 =ESSAY REALITY OOA/D NONSEQUENTIAL See .See [Kaindl99] .Close .Open BottingJuristo00 Richard J Botting Natural Language dispute (Letter) IEEE Software Magazine V17n5(Sep/Oct 2000)p11 =DISCUSSION POLYMORPHISM MODEL ANALYSIS vs DESIGN OBJECT-ORIENTED GRASP Discussion of .See [JuristoMorenoLopez00] .Close .Open Botting02 Richard J Botting Some Stochastic Models of Software Evolution .See [SCI2002] V1(Jul 2002)pp23-27 =THEORY DEBUGGING EVOLUTION SOFTWARE One size does not fit all Keep your `n` small and your \alpha high! A million monkeys will beat a single blind watch maker. .Close .Open Botting05 Richard J Botting Teaching and Learning Ethics in Computer Science: Walking the Walk ACM SIGCSE Tech Symp Proc (Feb 2005)pp342-346, SIGCSE Bulletin "Inroads" V37n1 (Mar 2005) pp342-346. =ANECDOTE EDUCATION ETHICS SECURITY Identity Theft .Close .Open Botting05a Richard J Botting On the co-evolution of SSADM and the UML Chapter V in .See [Yang05] pp134-151 =IDEA UML2.0 SSADM .Close .Open Botting05b Richard Botting Small Errors in "Toward formalizing domain modeling semantics in language syntax" IEEE Trans Software Engineering V31n10(Oct 2005)pp911 =Correction Statecharts fork vs decision .Close .Open Botting06 Richard J Botting Use Case Diagrams IEEE Computer Magazine V39n8(Sep 2006)pp5 .See http://doi.ieeecomputersociety.org/10.1109/MC.2006.317 =LETTER DFD USE CASES UML2.0 information flows See .See [DedekeLieberman06] for an non-standard way to document use case data flows. Refers to .See [Botting05b] and .See http://www/dick/papers/rjb04bDFDs/ .Close .Open BottingRoss R J Botting & Paul Ross Software Engineering for Computer Scientists Unpublished Manuscript for a text book used in early 1980s. =text formal data DDD method co-routines nonsequential nondeterministic design technical assemblers loaders editors AKA Engineered Systems Software .Close .Open BourdeauCheng95 Robert H Bourdeau & Betty H C Cheng A Formal Semantics for Object Model Diagrams IEEE Trans on Software Eng VSE-SE-21n10(Oct 1995)pp799-821 OMT in Larch LSL GRAPHIC FORMAL OBJECT-ORIENTED .See http://www/cps/msu/edu/~chengb/serg.html Does not permit OMT subclasses to contain attributes found in superclass (fig 39..41 eqn 24) .Close .Open BourqueEtal99 Pierre Bourque & Robert Dupuis & Alain Abran & James W Moore & Leonard Tripp A Guide to the Software Engineering Body of knowledge IEEE Software Magazine V16n6(Nov/Dec 1999)pp35-41 =ADVERT SWEBOK PLAN ENGINEERING .Close .Open BoussinotSimone96 Frederic Boussinot & Robert de Simone The SL Synchronous Language IEEE Trans Softw Eng VSE22n4(Apr 1996)pp256-266 "as soon as signal hypotheses are allowed incorrect programs may be written". Incorrect meaning non-causal and unpredictable: "when S then t1 else t2" suspends if S is not present and then enters t2.... .Close .Open Boute81 R T Boute "Towards System Specification Languages" 4th International conference on Software Engineering for Telecommunications Switching Systems University of Warwick(Conventry UK) Inst of Electrical and Radio Engineers London UK July 1981 pp31-37 =SURVEY SRS LANGUAGES .Box Used p397 of DavisA90 Condemns STDs/FSMs (1) not abstract, (2) not powerful enough (3) not structured Davis: "proposes using non-deterministic multistring dialogue grammars". .Close.Box .Close .Open Boute92 Raymond T Boute The Euclidean definition of the functions div and mod ACM TOPLAS V14n2(April 1992)pp127-144 CR9211-0871 Semantics mathematics .Box CR: "A paper that should have been written decades ago, in which case an existing widespread incompleteness in programming language design could have been prevented" .Close.Box .Close .Open Boute00 Raymond T Boute Supertotal function definition in Mathematics and Software Engineering IEEE Trans Software Engineering V26n7(Jul 2000)pp662-672 =IDEA FORMAL LOGIC FUNCTIONAL MATHEMATICS calculational Refers to FunMath .See [PVS] .See [Parnas93] Compare: .See [LPT] Question: How to calculated easily with partial functions? Idea: Functions defined by a domain and an expression can be treated as total by extension to an arbitrary value in calculating with suitably guarded formulae .Close .Open BowdigeGriswold98 Robert W Bowidge & William G Griswold Supporting the Restructuring of Data Abstractionns through Manipulation of a Program Visulaization ACM TOSEM V7n2(Apr 1998)pp109-157 =TOOL TECHNICAL GRAPHIC ADT REENGINEER .Close Bowen00 Jonathon Bowen The Ethics of Safety-Critical systems Commun ACM V43n4 (Apr 2000)91-97 =ESSAY RISKS METHODS Aristotle LOGIC 7 sins: epideictic, hyperole, pistic, oligarchy, ephemeral, epexegesis , maiandos principles modes of thought: scientific, technical, prudence, inntelligence/intuition, wisdom p93: "most theorems are correct, but most hand proofs are wrong" .Close .Open Bowen01 Jonathon P Bowen Experience Teaching Z with TOOL and Web Support ACM SIGSOFT Software Engineering Notes V26n2(Mar 2001)pp69-75 =REPORT UK TEACHING MATHEMATICAL LOGICAL SPECIFICATION REFINEMENT TOOLS ZTC ZANS Diagnostic quizzes leading to makeup tutorials help handle wide ranges of math skills. .Close .Open BowenHinchey94 Jonathan P Bowen & Michael G Hinchey Formal Methods andSafety Critical Standards IEEE Computer Magazine V27n8(Aug 1994)pp68-71 .Box Quotes IEEE standard definitions Most standards are reccommending formal methods rather than mandating them or using them. Table 1, p70: shows that only 1 out of 5 US standards has FMs, but all 7 non-US standards have FMS FMs mentioned in standards: CCS(2), CSP(2), HOL(2), LOTOS(2), OBJ(2), Temporal Logic(2), VDM(3), Z(4) .Close.Box .Close .Open BowenHinchey95a Jonathan P Bowen & Michael G Hinchey Ten Commandments of Formal Methods IEEE Computer Magazine V28 n 4(Apr 1995)pp56-63 .Box To: formal-methods@cs.uidaho.edu Subject: Re: FM technology transfer Date: Wed, 22 Feb 1995 20:44:35 +0000 From: Mike Hinchey "Ten Commandments of Formal Methods" by J.P. Bowen and M.G. Hinchey is scheduled for the April (1995) issue of IEEE Computer. "Ten Commandments of Formal Methods" is available as a University of Cambridge Computer Laboratory Technical Report (no. 350). The IEEE Computer version will not differ significantly. http://www.cl.cam.ac.uk/users/mgh1001/TECHREPORTS/10cs.ps.Z (warning: even compressed it's 230K) I. Thou shalt Choose an Appropriate Notation II. Thou shalt Formalize but not Overformalize III. Thou shalt Estimate Costs IV. They shalt have a Formal Methods Guru On Call V. Thou shalt not Abandon Traditional ethods VI. Thou shalt Document Sufficiently VII. Thou shalt not Compromise thy QUALITY Standards VIII. Thou shalt not be Dogmatic IX Thou shalt Test, Test, and Test again X. Thou Shalt Reuse .Close.Box .Close .Open BowenHinchey95b Jonathan P Bowen & Michael G Hinchey Seven More Myths of Formal Methods IEEE Software Magazine V12n4(Jul 1995)pp34-40 .Box Note Based on industrial experience Ref to .See [Hall90] 8. FM delay the development process 9. FM lack tools 10. FM replace traditional engineering design methods 11. FM only apply to software 12. FM are unnecessary 13. FM are not supportted 14. FM people always use FM p40: "system development should be as formal as necessary, but not more formal." Notes problems: sidebar, p37: defining FM, IEEE glossary has two. notation p38: Notes resources: internet forums for Z, VDM, Larch, OBJ. FTP archives, Periodicals. Courses. p40: Quotes BBC Interview: "If you want to build systems with ultra-high reliability whcih provide complaxe functionallity and you want to guarantee that they are going to work with very high reliability...you can't do it" .Close.Box .Close .Open BowenHinchey96 Jonathan P Bowen & Michael G Hinchey To Formalize or Not to Formalize IEEE Computer Magazine V29N4(Apr 1996}pp18-19 =EXPERIENCE FORMAL MATHEMATICS .Box too many misconceptions apply to get increased cofidence, to conuer complexity, to satisfy standards few tools not enough education and training(apply math to practical problems) .Close.Box .Close .Open BowenHinchey99 Jonathan P Bowen & Michael G Hinchey It's Greek to Me: Method in the Madness In .See [HincheyBowen99] pp1-4 =ESSAY METHODS PHILOSOPHY ETHICS ARISTOTLE describes sins that can destroy a project that uses formal methods. Describes useful frames of mind .Close .Open BowenHinchey06 Jonathan P Bowen & Michael G Hinchey Ten Commandments of Formal Methods ... Ten years later IEEE Computer Magazine V39n1(Jan 2006)pp40-48 =HISTORY FORMAL Z TLA See also "The Ten Commandments revisited: a ten-year perspective on Industrial application of formal methods" Proc 10th Int'l Workshop on formal methods for industrial Critical Systems, ACM Press 2005 pp8-16 CF .See [BowenHinchey95a] .Table Then Now .Row I. Thou shalt Choose an Appropriate Notation. .Item More now. Hybrids. .Row II. Thou shalt Formalize but not Overformalize. .Item 3 levels: specs, Proofs, machine checked. .Row III. Thou shalt Estimate Costs. .Row IV. They shalt have a Formal Methods Guru On Call. .Item Plus a domain expert early on. .Row V. Thou shalt not Abandon Traditional methods. .Row VI. Thou shalt Document Sufficiently. .Item Iterative. Including why & when decided. .Row VII. Thou shalt not Compromise thy QUALITY Standards. .Item Notation & method. .Row VIII. Thou shalt not be Dogmatic. .Item Gap between analysis & specification. .Row IX Thou shalt Test, Test, and Test again. .Row X. Thou Shalt Reuse. .Close.Table .Close .Open Bowles90 Adrian J. Bowles A note on the Yourdon Structured Method(Announcement) ACM SIGSOFT SEN V15n2(Apr 1990)p27 =HISTORY METHOD YSM evolution YSM::="Yourdon Method". .Close .Open Bowles95 Adrian J. Bowles Object methods Emerging and Converging Software Magazine (May 1995)pp96 .Close .Open BowmanHoltBrewster99 Ivan T Bowman & Richard C Holt & Neil V Brewster Linux as a Case Study: Its Extracted Software Architecture ICSE'99, Proceeedings of the 21st International Conference on Software Engineering (May 1999)pp555-563 =EMPIRICAL reverse-engineering extracts dependencies between modules. More connections than predicted between subsystems. .Close .Open BoyerYu96 Robert S Boyer & Yuan Yu Automated Proofs of Object Code for a Widely Used Microprocessor JACM V43n1(Jan 1996) pp166-192 CR9710-0117 =EXPERIENCE PROOF .Close .Open BoyleReslerWinter99 James M Boyle & R Daniel Resler & Victor L Winter Do You Trust Your Compiler? IEEE Computer Magazine V32n5(May 1999)pp65-72 + letters V32n10(Oct 99)pp5-7 =ADVERT TAMPR DDD PROOF sound code transformations Same ideas as McCarthy in the early 1960's Letters point out errors in paper and reccommend peer review/inspection .Close .Open BrachiLockermann78 ?? Brachi & ?? Lockermann Information systems Methodology Springer Verlag lecture notes in Comp Sci #65 =survey SAD PQRST .Close .Open BradacPerryVotta94 Mark G Bradac & Dewayne E Perry & Lawrence G Votta Prototyping a Process Monitoring Experiment IEEE Trans on Software Eng VSE-20n10(Oct 1994)pp774-784 CR1995-0106(by RJB) .Close .Open Bradfield92 Julian C Bradfield Verifying Temporal Properties of Systems Birkhauser Boston Inc Cambridge MA 1992 ISBN 0-817603625 CR9209-0661(F.3.1) =THEORY CORRECTNESS Petri nets .Close .Open BradyDeMarco94 Sheila Brady & Tom DeMarco Management Aided Software Engineering IEEE Software Magazine V11n6(Nov 1994)pp25-32 Interview re management best of practice in software development at Apple. .See http://www/dick/notes/BradyDeMarco94.html .Close .Open BraekHaugen94 R Braek & O Haugen Engineering Real Time Systems Prentice Hall Upper Saddle River NJ 1994 BCS Practitioner Series ISBN 0-13-034448-6 .Box presents an object-oriented methodology using SDL for complex distributed real-time systems and covers the complete life cycle. .Close.Box .Close .Open BraffortHirschberg63 Braffort & Hirschberg(Eds) Computer Programming & Formal Systems North Holland 1963 =THEORY formal LISP languages .Close .Open BraheSchmidt07 Seen Brahe & Kjeld Schmidt The Story of a Working Workflow Management System ACM Proc GROUP'07 (Nov 2007) pp249-258 $CR 0811-1106 ACM DOI .See http://doi.acm.org/10.1145/1316624.1316661 =EXPERIENCE SYSTEMS WORKFLOW BPEL XML SOA SERVICE LEGACY WFM PEOPLE DANISH BANK 2003-2007 ORCHESTRATION PORTAL TASK vs CASE CSCW::="Computer Supported Cooperative Work". WFM::="Workflow Management". SOA::="Service Oriented Architecture". Early attempts to program office procedures failed because exceptions to the procedures were common. How to make the result adaptable? How to fit in with the continuing creation and adaption of procedures/workflows. How to integrate existing (legacy) systems. Integrate systems by using SOA... encapsulate legacy code as a service. Workflow as glue. (dick)|- Workflow sytems/languages seems to be like scripting. Develop a workflow system iteratively. Get the developers and the users closely involved. Business's analyst's can get it wrong! Development followed Babbage's model: craft; division of labor; stepwise automation; more or less complete automation. Need to avoid fragmented tasks. People prefer complete cases to individual tasks. First task in process should assign remaining tasks in the case to same person. "We do not want to be a factory". Not task-centric, but case-centric. "It does not feel right " not to know the context of tasks. Another early task in each workflow is to determine if the task is simple enough to be automated or needs human discretion and guidance. Describing exceptions if difficult and time consuming. Better to bounce them to a human... and think about how to automate in a later iteration. Automating more kinds of processes is an optimization. Tweaking and Twisting the automated processes. Nearly a 20% gain in speed. 80-90% automated. No need to re-enter data into each application. People like to monitor automated processes. Tell the users when the system is becoming unstable. Tell them about bugs. Tell them about performance problems. Workflows integrated legacy systems into exiting processes -- so the old system could not be replaced until the workflow was redesigned, tested, and running with the new service provider. Increased coupling and dependency between systems. Application niche is a very regular system -- unlike, say -- medicine. .Close .Open BrandtEtAl09 Joel Brandt & Philip J Guo & Joel Lewenstein & Scott R Klemmer & Mira Dontcheva Opportunistic Programming: Writing code to prototype, ideat, and discover IEEE Software Magazine V25n6(Sep/Oct 2000)pp18-24 =EXPERIMENT BRICOLLAGE POSTMODERN PROTOTYPING GLUE WWW/NET d.mix Principles for rapid prototyping .List Glue together existing high-level components. Add functionality via Copy-paste from the web. Iterate rapidly. Consider code to be impermanent. Expect and prepare for debugging. Use many languages. Don't expect good code. Need different version control. .Close.List .Close .Open BrandKlintVerhoef97 M G J van den Brand & P Klint & C Verhoef Reverse Engineering and System Renovation -- an Annotated Bibliography ACM SIGSOFT Software Engineering Notes V22n1(Jan 1997)pp56-68 .See http://adam.fvi.uva.nl/~x/reverse.html .Close .Open BrandtUden03 D Scot Brandt & Lorna Uden Insight into Mental Models of Novice Internet Searchers Commun ACM V46n7(Jul 2003)pp133-136 =ADVERT TKS KAT ACTA HCI USER PEOPLE WEB/NET Distinguishes mental models of tasks from conceptual models of systems. TKS::theory="Task Knowledge Structure", can express what people know about a task in a structured way. ACTA::technique="Applied Cognitive Task Analysis", interview ->outline; audit knowledge(cues+difficulties); simulate scenario giving cognitive processes, tabulate cognitive demands. KAT::technique="Knowledge Analysis of Tasks", break down ( objects, actions, goals, subgoals); identify central and generic properties; pseudocode procedures and taxonomy of terms use, add task knowledge needed to pseudocode. Novices may need more cues and structure to use search engines effectively. .Close .Open BratthallWohlin02 Lars Bratthall & Claes Wohlin Is it possible to decorate graphical Software design nd architecture models with qualitative information? -- and Experiment IEEE Trans Software Engineering V28n12(Dec 2003)pp1181-1193 =POLL 35 STUDENTS GRAPHIC COMPONENT METRICS RELATIONSHIPS How to show: A controls B, A is bigger than B, A is internally more complex than B, and A is harder to use then B. Rough consensus: control shown by position, size by area, complexity by darkening the inside or boundary. Demo for a car controller. .Close .Open BrayHess95 Olin Bray & Michael M Hess(both Sandia) Re-engineering a Configuration Management System IEEE Software Magazine V12n1(Jan 1995)pp55-63 =DEMO NIAM .Box Used resident experts, source code, system data to reengineer a 30 year old system. NIAM::=Natural Language Information-Analysis Methodology. NIAM::=Net{entity types. types of facts. interactions between types} verbal or graphic presentation deep-structure sentence tables of examples and counter examples of facts reinvention of LDST .Close.Box .Close .Open BremleyHolmes00 Jesse L Bremley & Donald Holmes Advanced Computer Topics for Precollege Students Proc SCI/ISAS2000 VI pp468-494 .See [SCI00] =EXPERIENCE EDUCATION AI How inner-city (Washington DC) children can do literature searches in AI and implement the results in programs. .Close .Open Brender02 Ronald F. Brender The BLISS programming language: a history Software - Practice & ExperienceV32n10(Aug 2002)pp955-981 =HISTORY SYSTEMS LANGUAGE .Close .Open BreretonBudgetHamilton98 Pearl Brereton & David Budgen & Geof Hamilton Hypertext: The next Maintenance Mountain IEEE Computer Magazine V31n12(Dec 1998)pp49-55 =IDEA EVOLUTION WWW .Close .Open BriandBunseDaly01 Lionel C Briand & Christian Bunse & John W Daly A controlled Experiment for Evaluating Quality Guidelines on The Maintainability of Object-Oriented Designs IEEE Trans Software Engineering V27n6(Jun 2001)pp513-530 =EXPERIMENT MODULE DESIGN MAINTAINABILITY QUALITIES Coad Yourdon 33 students attempt to understand two different designs -- one set up to be bad and the other good. The students did bette r on the good. Good had low coupling, high cohesion, higher clarity/lower fuzziness/simplicity, more realistic inheritance. .Close .Open BriandDalyWust99 Lionel C Briand & John W Daly & J"urgen K W"ust A Unified Framework for Coupling Measurement in Object-Oriented Systems IEEE Trans SoftEng V25n1(Jan/Feb 1999)pp91-121 =THEORY METRICS .Close .Open BriandDebanbuMelo97 Lionel C Briand & P Devanbu & W Melo An Investigation into Coupling Measures for C++ .See [ICSE'97] =EXPERIMENT OBJECT-ORIENTED METRIC .Close .Open BriandEtal99a Lionel C Briand & J"urgen W"ust & John W Daly A Unified framework for coupling measurement in Object-Oriented Systems IEEE Trans Softw Eng VSE-25n1(Jan/Feb 1999)pp91-121 CR9910-0775 =SURVEY EMPIRICAL TECHNICAL QUALITY OBJECT-ORIENETED METRIC COUPLING MODULE .Close .Open BriandEtal99b Lionel C Briand & J"urgen W"ust & Stefan V Ikonomovski & Hakim Lounis Investigating Quality Factors in Object-Oriented Designs: an Industrial Case Study ICSE'99, Proceeedings of the 21st International Conference on Software Engineering (May 1999)pp345-354 =EMPIRICAL QUALITY OBJECT-ORIENETD METRIC LALO and UMD Principal Components Logistic Regression Better than .See [BenlarbiMelo99] Only 7 principal components account for variation in all the 30+metrics. The metrics are related to fault proneness... High numbers of method calls indicates fault prone classes. Differences between LALO and UMD -- friends not found in UMD. UMD more experienced pALO and UMD -- friends not found in UMD. UMD more experienced people. .Close .Open BriandMorascaBasili99 Lionel C Briand & Sandro Morasca & Victor R Basili Ddefining and Validating Measures or Object-Based High-Level Design IEEE Trans Soft Eng V25n5(Sep/Oct 1999)pp722-743 =EMPIRICAL DESIGN METRICS GQM OBJECT-BASED ADA FAULT-PRONE NASA Goddard 3 projects declared high-level links in package interfaces is_component_of, uses, data declaration interaction(dependency), data subroutine interaction, generics? ->cohesion, coupling change requests -> faults and modules logistic regression using maximum likelihood avg-depth +number imported parts+low cohesion has some effect increasing chance of a fault being reported .Close .Open BriandMaloWust02 Lionel C Briand & Walcelio L Malo & J"urgen W"urst Assessing the Applicability of Fault-Proneness Models Across Object-Oriented Software Projects IEEE Trans Software Engineering V28n7(Jul 2002)pp706-720 =EXPERIMENT METRICS Object-Oriented ERRORS MARS logistic JAVA MARS::="Multivariate Adaptive Regression Splines". Can predictions that work well on one project be used on a different one? In this case: yes. Same team and language with different managers and projects. Inheritance trees where short in both projects. .Close .Open BriandMorascaBasili02 Lionel Briand & Sandro Morasca & Victor R Basili An Operational process for goal-driven definition of Measures IEEE Trans Software Engineering V28n12(Dec 2003)pp1106-1125 =EXPERIENCE GQM/MEDEA METRIC DEFINITION QUALITIES DFDs UML TRIO+ .Close .Open BriandWust01 Lionel C Briand & J"urgen W"urst Modeling Development Effort in Object-Oriented Systems using Design Properties IEEE Trans Software Engineering V27n11(Nov 2001)pp963-986 =ANALYSIS EXPERIENCE EFFORT SIZE C++ METRICS LIOO Interface sizes (NMIMP, NMINH, NA, NM) are a good predictor of the effort needed to implement a class. Used regression trees and poisson regression work well. Measures of coupling and cohesion do not increase accuracy of estimates. ?? inherited methods and few implemented methods lower effort. .Close .Open BriandEtal05 Lionel C Briand & Yvan Labiche & Massimiliano Di Penta & Han (Daphne) Yan-Bondoc An experimental investigation of formality in UML-based Development IEEE Trans Software Engineering V31n10(Oct 2005)pp833-849 =EXPERIMENT OCL UML COMPREHENSION INSPECTION EVOLUTION MAINTENANCE OCL improves comprehension, defect detection, maitenance of UML models of software by small ammounts depending on the OCL experience of the students. .Close .Open BriandLabicheLeduc06 Lionel C Briand & Yvan Labiche & Johanne Leduc Toward the Reverse Engineering of UML Sequence Diagrams for distributed Java Software IEEE Trans Software Engineering V32n9(Sep 2006)pp642-663 =DEMO MAINTENANCE DYNAMIC TOOL NONSEQUENTIAL REVERSE JAVA UML Uses aspects to instrument distributed software and so log the calls between objects. Recognises conditions and so one sideof alt constructions (only). .Close .Open Briggs93 Albert W Briggs Jr Mathematics for Liberal Arts Students American Math Monthly V100n2(Feb 1993)pp162-166 education analysis skills proof .Box Description of evolution from a math course that teaches more or less useless pre-solved problems to the teaching of problem solving itself. page 164. specific goals: students learn: "1. to raise questions and make conjectures[...] 2. to test those conjectures 3. to settle definitely those questions and conjectures, or at least make progress toward such a settlement, 4. to raise more questions as a result of this process, 5. to read with enough precision to understand the questions and investigations of others, 6. to write with enough precision to communicate their investigations to others." "[...] students take to forming guesses and testing them with examples like ducks to water. But getting them to prove their guesses, or to deduce things from their guesses[...]is killingly hard. It is so hard that I have to wonder whether deduction[...] is as natural a human tendency as we[mathematicians] suppose." .Close.Box .Close .Open Brin98 .Seee David Brin The Transparent Society... Addison-Wesley1998 ISBN 0-201-32802-X =HISTORY =ESSAY SOCIETY ETHICS PRIVACY RISKS NET/WWW CRYPTOGRAPHY SSN VIDEO Argues that often more information is better than less. Adding a reverse flow is a way to solve a problem with an assymetric flow. Most solutions are partial. Secrecy that decreases accountability is bad for a society. Security, safety, & ideas can be improved by open information flows and criticism. Drops many names. Discusses opposing positions. Notes confusion between passwords and IDs. Example: SSN is an ID used by many systems as a password. .Close .Open BrinchHansen81 Per Brinch-Hansen The EDISON Papers Software - Practice and Experience V11n4 (Apr 1981) QV .See [BrinchHansen83] =DEMO DDD data languages optimization non-sequential EDISON BNF .Close .Open BrinchHansen83 Per Brinch-Hansen Programming a Personal Computer Prentice Hall International 1983 QV .See [BrinchHansen81] =DEMO DDD data languages optimization non-sequential EDISON BNF .Close .Open BrinchHansen85 Per Brinch-Hansen On Pascal Compilers Prentice Hall International =SURVEY DDD .Close .Open BrinchHansen99 Per Brinch Hansen Java's Insecure Parallelism ACM SIGPLAN Notes V34n4(Apr 1999)pp38-45 =ESSAY JAVA TECHNICAL NON_SEQUENTIAL RISKS Need to have all variables are private and all public methods synchronized to get predicatable parallelism. Note. Also see .See [Hartley99] .Close .Open Britcher96 Bob Britcher A Few (proposed) fundamental laws of programming IEEE Computer Magazine V29N3(Mar 1996)p136(Open channel) .Box The Law of Rapid Specialization In programming major changes in the product can occur in an instant vs time to change plant or physical products The Law of Fallibility The most careful reasoning about a simple sentence can lead to a wrong conclusion about the real world Programmers have to reduce big "word-problems" to logic. The Law of Intellectual Gravity Programs can be as massive(in there own way) as physical objcts. The Law of Permannence Programs do not become extinct. They are not discarded, they are piled up, combined, absorbed, breeding and spreading. .Close.Box .Close .Open Brittan80 Design for a Changing Environment Comp Jnl v23 n1 pp13-19 =DEMO maintenance formal ENGINEERING lifecycle .Close .Open BrockHunt99 Bishop C Brock & Warren A Hunt Jr Formal Analysis of the Motorola CAP DSP In .See [HincheyBowen99] pp- =EXPERIENCE HARDWARE DESIGN V&V VERIFICATION FORMAL LOGIC TOOL ACL2 .Close .Open Brodaetal94 Broda & Eisenbach & Khoshnevisan & Steve Vickers Reasoned Programming Prentice Hall Englewood Cliffs NJ 1994 $40 ISBN 0-13-098831-6 CR9607-0469: =TEXT Formal miranda modular-2 .Close .Open Brodine06 Dick Brodine Mathematical Server Sizing IEEE Computer Magazine V39n7(Jul 2006)pp91-93 =ADVERT MATH QUEUING THEORY WEB/NET Trivedi Quotes a useful formulas modeling server performance. TRIVEDI::=following .Net Kishor S Trivedi's model for M clients at rate \lambda to a server that handles them at rate \mu -- both with exponential distributions. E[Response_time] = M/E[T] - 1/\lambda), E[T]=\mu *(1-p0), p0:=P[0 requestss in system], p0=1/(+[n:0..M]((\lambda/\mu)^n)*(fact(M)/fact(M-n))) .Close.Net Shows a screen short of a Java application that helps. .Close .Open Brooks77 Frederick P Brooks Jr The Computer "Scientist" as Toolsmith -- Studies in Interactive Computer Graphics Proc IFIP 77 (North Holland Pub Co 1977) pp625-634 (Invited Paper) =EXPERIENCE 10years USER ENGINEERING REQUIREMENTS p634: .Box The architect Christopher Alexander, in his "Notes on the Synthesis of Form", makes the penetrating observation that the only way to achieve good fit between any design and its requirements is to find misfits and remove them; there is no direct way to derive form from requirements. .Close.Box .Close .Open Brooks82 Frederick P Brooks Jr The Mythical Man-Month - essays on software engineering Addison-Wesley Ma and CA USA 1982 =survey costs PEOPLE .Close .Open Brooks87 Frederick P Brooks Jr No Silver Bullets IEEE Computer Magazine V20n4(April 1987) IEEE Press. =survey costs Predicts no great reduction in the costs of developing software. .But See .See [Cox90a] .See [Harel92] .See [FraserManci08] .Close.But .Close .Open Brooks95 Frederick P Brooks Jr The Mythical Man-Month: Anniversary Edition Addison-Wesley Publishing Co Inc 1995 Parts from Chapter 19 in pp57-60 IEEE Software Magazine (Sep 1995) Also speech at the ICSE 17 =HISTORY PEOPLE COSTS MS-PROCESS .See [Keuffel95b] .Box Chapter 19 waterfall process is wrong. Early functinal prototype and incremental build are ways to GROW software - better to be wrong than vague. User distributions. design for evolution/family of products from the start(Parnas) peopleware empowerment. "the power of giving up power" in IBM and in MS .See [McCarthyJ95a] MS Process: Jim McCarthy of Microsoft power of teams owning a set of features and controlling define+biuld+ship. 4..5 specialities: testing, writing, building. Settle own squabbles. Effect not reported. encapsulation is OK - I was wrong and Parnas right Brooks law: Boehm, Abdel-Hamid Madnick .See [Abdel-Hamid96] Computers brought Fluidity to ...drawings, plans, ...texts, ...spreadsheets Metaprogramming: hypercard... pre-VBX! .Close.Box .Close .Open Brooks96 Frederick P Brooks Jr The Computer scientist as Toolsmith II Comm ACM V39n3(Mar 1996)pp61-68 science & Engineering .Close .Open Brough01 Mike Brough The History of YSM .See http://www.keele.ac.uk/depts/cs/Staff/Homes/Mdb3/courses/SD2001/ysmhist.pdf =HISTORY METHODS YSM Yourdon .Close .Open BrooksD08 David A brooks An Introduction to HTML and JavaScript for Scientists and Engineers Springer-Verlag Secaucus NJ ISBN 1846386565 $CR 0810-0929 =UNREAD =TEXT =REFERENCE INTRODUCTION HTML JAVASCRIPT CSS Notes .Hole .Close .Open Brown83 ?? Brown Error Messages: The neglected area of the man-machine interface? Commun ACM 26 4 pp246-249 =IDEA USER ERRORS .Close .Open Brownbridge90 David Brownbridge(drb@paxis.co.uk) Using Z to Develop a CASE Toolset pp142-149 in Nicholls90 =EXPERIENCE SSADM Z CASE 340 pages of Z -> 37KLOC object-oriented in 11 months no need of refinement needed for typechecker formal specification reviews are needed needed roadmap of hierarchy .Close .Open BrownChervanyReinicke07 Susan A Brown & Norman L Chervany & Bryan A Reinicke What matters when introducing new information technology Commun ACM V50n9(Sep 2007)pp91-96 =SURVEY IMPLEMENTATION ISSUES =EXPERIENCE Surveyed the literature and made list of 5 areas: Commitment, Knowledge, Communication, Planning, Infrastructure. Took 5 projects and looked for occurences of "disconnects": Commitment(59), Knowledge(18), Communication(53), Planning(25), Infrastructure(30). Figure 2 show relative frequency accross 4 phases: Initiation(Knowledge), Adoption(Communications), Adaption(Infrastructure), Acceptance(Infrastructure+Commitment). Table 3 lists 6 problems, identifies a area and suggests solutions. For example: If you can't identify the best new technology you have a Knowledge problem -- invest in employee education and create a central repository for sharing tech information. .Close .Open BrownEarlMcDermid92 Alan W Brown & Anthony N Earl & John A McDermid Software Engineering Environments: Automated Support for Software Engineering McGraw-Hill NY NY 1992 ISBN 0-07-707432-7 CR9409-0606 =ADVERTS CASE TOOLS .Box CR(R L Glass) advocacy of research with ignorance of the marketplace + highlevel abstraction and philosophy .Close.Box .Close .Open BrownMalveauMcCormickMowbray98 William J Brown & & R C Malveau & Hays W McCormick III & T J Mowbray AntiPattern: refactoring software, architectures, and projects in crisis John Wiley & Sons, New York NY(1999) ISBN 0-471-32929-0 CR9908-0593 =PATTERNS ARCHITECTURE DESIGN REFACTOR EVOLUTION BallOfMud := "one class becomes responsible for everything that doesn't fit elsewhere." .Close .Open BrownMcCormickThomas99 William J Brown & Hays W McCormick III & Scott H Thomas AntiPattern and Patterns in Software configuration management John Wiley & Sons, New York NY(1999) ISBN 0-471-32929-0 CR9908-0593 =PATTERNS SCM .Close .Open BrowneMenon04 Glen J Browne & Nirup M Menon Network Effects & social dilemmas in Technology Industries IEEE Software Magazine V21n5(Sep /Oct 2004)pp44-50 =Theory Markets Economics .Close .Open BrowneMoore97 Shirley V Browne & James W Moore Reuse Library Interoperability .See [Harandi97] pp182-189 =ADVERT RIG WEB/NET REUSE URNs DATA MODEL RIG=http://www.rig.org. .Close .Open BrownN96 Norm Brown Industrial-Strength Management Strategies IEEE Software Magazine VSE13N4(Jul 1996)pp94-103 =SURVEY people DoD managers list 9 best practices::=risk management & agreeed interfaces & formal inspections(not reviews) & metics & defect tracking & quality gates on tiny steps & configuration management & visible control panel & people aware accountability .Close .Open BrownP91 Patrick Brown Integrated hypertext and program understanding tools IBM Syst J V30n3(1991)pp363-392 =TOOL TECHNICAL CR 9211-0872(N Zvegintov) .Box CR92011-0875 is by N Zvegintov and refers to the lack of tools to record and maintain links between the domain and the implementation. Multiple{languages, platforms(IBM), uses, data/tools} ISEA Integrated SoftwareEngineering Applications tools platform OS/2 + VM + MVS, Distributed client &/| server CodeNavigator helps programmers {undertand software, analying change requests, Diagnosis} {what, where, how}-used, flows{logic, calling,...}, annotations, source code brousing p369 "Program analysis can create databases that may grow to many times the size of the original source library" 500KLOC -> too big for wkstn DB Staged analysis, raw vs derived data flexible USER interfaces TRAILS::= prototype hypertext tool linking program data - HIPO | lexical afinity |Data model attributes p389: "Lost in Hyperspace" - "loosing track of what they are looking at or how they got there" .Close.Box .Close .Open BrownShipmanVetter07 Jeff Brown & Bill Shipman & Ron Vetter SMS: The Short Messaging Service IEEE Computer Magazine V40n12(Dec 2007)pp106-110 =STANDARD SMS PROTOCOL CELL MOBILE PHONE Shortcodes WAP EMAIL SMS::protocol="Short Message Service", not just for teenagers, also connects to the web and EMail. .Close .Open BrownswordOberndorfSledge00 Lisa Brownsword & Tricia Oberndorf & Carol A Sledge (SEI) Developing new processes for COTS bases systems IEEE Software Magazine V17n3(Jul/Aug 2000)pp48-55 =IDEA PROCESS COMPONENTS COTS CBS:="COTS based system", COTS:="commercial off the shelf". Requirements, marketplce, and architecture/design are defined and tradedog at once. cf .See [Boehm00?] engineering+business+project areas. architecture is only assett youown and so is strategic and must beflexible. .Close .Open Broy93 Manfred Broy Functional Specifications of time-sensitive Communicating systems ACM Trans Softw Eng Methodol V2n1(Jan 1993)pp1-46 CR9311-0858 =THEORY PURPOSE NON_SEQUENTIAL (dick)|-Contacted Manfred by Email about a typo. Archive on Wiley. Copy in Office. .Close .Open Broy01 Manfred Broy Toward a Mathematical Foundation of software engineering Methods IEEE Trans Software Engineering V27n11(Jan 2001)pp42-57 CR0102-0065 =THEORY METHODS ALGEBRA DIGRAPH FSM/STD DFDs ADT ERD SEQUENCE DATA Not object oriented. .Close .Open BroyNelson89 Manfred Broy & Greg Nelson Can fair choice be added to Dijkstra's calculus Report 38 (Feb 1989) from Digital Equipment Corpn Systems Research Center Palo Alto CA 94301 =THEORY guarded-commands see BroyNelson94 .Close .Open BroyNelson94 Manfred Broy & Greg Nelson Adding fair choice to Dijkstra's calculus ACM Trans Program Lang Syst V16n3(May 1994)pp924-938 CR9508-0601 =THEORY guarded-commands see BroyNelson89 .Close .Open Brun-ColtonWall95 Francoise Brun-Colton & Patricia Wall Using Video to Re-Present the User Commun ACM V38n5(May 1995)pp61-71 =EXPERIENCE USER VIDEO DOCUMENTATION .Close .Open BrunsChandra03 Glenn Bruns & Satish Chandra Searching for Points-To Analysis IEEE Trans Software Engineering V29n10(Oct 2003)pp883-897 =ALGORITHMS POINTERS CODE DATA LTS CFG SEMANTICS REACHABILITY .Close .Open Brunner75 John Brunner The Shockwave Rider Harper & Row 1975 ISBN 0-060-10559-3 =NOVEL SF NETWORK WORMS PREDICTION MARKETS TARNOVER TOFFLER Wikipedia .See http://en.wikipedia.org/wiki/The_Shockwave_Rider Review 1976 .See http://doi.acm.org/10.1145/1095302.1095305 .Close .Open BruntinkDeursenEngelenTourwe05 Magiel Bruntink & Arie van Deursen & Remco van Engelen & Tom Tourwh One the use of clone detection for identifying crosscutting concern code IEEE Trans Software Engineering V31n10(Oct 2005)pp801-818 =CASE STUDY CODE C ASPECTS TOOLS Clone ccdiml CCFinder Komondor's PDG-DUP Tools can find many examples of duplicated code for common tasks (eg. testing for NULL). But if set to find more they become imprecise and retrieve irrelevant code. Humans do better. Only Concerns relevant to weaknesses in C considered. Memory, null pointers, r ange checking, error handling, & tracing calls. .Close .Open Bryant90 Tony Bryant Structured methodologies and formal notations: Developing a framework for synthesis and investigation pp229-241 in Nicholls90 =THEORY Z SSADM DEF STAN 0055 .Box Chapter 2 section 4.1 clash between rigid method and dynamic system page 231 .Close.Box .Close .Open BrylowPalsberg04 Dennis Brylow & Jens Palsberg Deadline Analysis of Interrupt-Driven Software IEEE Trans Software Engineering V30n10(Sep 2004)pp634-655 =DEMO Formal TIMING Z86 Interrupt Handling TEST .Close .Open Buccietal94 Paolo Bucci & Joseph E Holingsworth & Joan Krone & Bruce W Weide Implementing Components in RESOLVE ACM SIGSOFT Software Engineering Notes V19n4(Oct 1994)pp29-39 See Sitaraman94 =IDEA ARCHITECTURE RESOLVE .Close .Open BucciHeymLongWeide02 Paolo Bucci & Wayne Heym & Timothy J Long & Bruce W Weide Algorithms and Object-Oriented Programming: Bridging the Gap SIGCSE'02 Proceeding & ACM SIGCSE Bulletin V34n1(Mar 2002)pp302-306 =EXAMPLE ALGORITHM SORTING MACHINES Object-Oriented DESIGN describe principles: hide data representation, hide implementation, hide when things are done, expose mathematical state abstraction (lies), expose precise pre/post conditions for operations in interface. A sorting machine has a phase and a bag of items it can insert objects, change phase and then remove objects in a different order. Table with 6 implementations: insertion, selection, quick. merge, heap, tree. .Close .Open Buchi02 J R Buchi On a Decision Method in Restricted second-order arithmetics Proc Int'l Conf. Logic, Methods and philosophy of science (1962) pp1-12 =THEORY AUTOMATA omega-automata Buchi-automata Given a standard finite state automata with accepting states its language is defines a set of infinite strings that are acceptable: they can return an infinite number of times to at least on of the accepting states. .Close .Open BuchsGuelfi00 Didier Buchs & Nicolas Guelfi A Formal Specification Framework for Object-Oriented Distributed Systems IEEE Trans Software Engineering V26n7(Jul 2000)pp630-652 =DEMO FORMAL SPECIFICATION DISTRIBUTED OBJECT_ORIENTED PETRI-NETS CO-OPN/2 based on COOPN COIL transit node TNode example .Close .Open Bucken93 Mike Bucken Field Report: OO Methods Vie for Recognition Software Magazine(May 1993) pp25-26 =REPORT Methods Object-oriented CASE 7 competing methods none complete(object class relationship attributes messages inheritance) but evolving to include CASE vendors doubtful .Close .Open Buckley93 Fletcher F Buckley Defining Software Engineering as a Profession IEEE Computer Magazine(Aug 1993) pp76-78 .Box Establishing an ad hoc committee to initate action to establish SE as a Proffession Contact CS Pres James Aylor phone (203)371-0101 jha@virginia.edu See TODO/0 SE Proffession .Ref Parnas90 .Close.Box .Close .Open BuckleySilberschatz83 An Effective Implementation for the Generalized Input-Output Construct of CSP ACM TOPLAS V5n2(April 1983)pp223-235 =DEMO optimization non-sequential .Close .Open Budd87 Timothy Budd A Little Smalltalk Addison Wesley 1987 =TOOL Source code: anonymous FTP to cs.orst.edu get pub/budd/small.v3 .Close .Open Budd94 Timothy A. Budd Classic Data Structures in C++ ISBN 0-201-50889-3 QA76.73.C153B83(1994) BNB 93-21664 Dewey 005.7'3 =TEXT source code .Box Chapter 1 pp3..29 Engineering Software, Introduction to Rumbaugh Responsibility-driven design. .See [CRC] cards Other documentation: arguments pro/con design decisions, project log and schedule, user manual. All evolve. Isolate sources of change. Reduce coupling. Isolate hardware dependencies. Software Component .Box Behavior(protocol) & State Instance and Class Coupling and Cohesion Interface & Implementation (two views) .Close.Box Good side bar (page 17) on information hiding. Names: pronnounceable, words visible, few meanings, no digits, Booleans should identify the true condition, take care with infrequent and/or costly reuse via composition and inheritance Top down SWR: .Box sequence, selection, parts find common .Close.Box .Close.Box .Close .Open Budgen94 David Budgen Software Design Addison-Wesley Publishing Company 1995 ISBN 0-201-54403-2 =TEXT =SURVEY METHODS .Close .Open Budgen99 David Budgen Software Design Methods: Life Belt or Leg Iron? IEEE Software Magazine V16n5(Sep/Oct 1999)pp136+134-135 =ESSAY DESIGN METHODS Real designers are oportunistic and modify the methods they are taught. .Close .Open BudgenRigby07 David Budgen & Michael Rigby & Pearl Brereton & Mark Turner A Data Integration Broker for Healthcar Systems IEEE Computer Magazine V40n4(Apr 2007)pp34-41 =ADVERT SERVICE DATA HEALTHCARE IBHIS ONTOLOGY SEMANTICS UK .Close .Open Buhr95 Peter A Buhr Are Safe Concurrancy Libraries Possible? Commun ACM V38n2(Feb 1995)pp117-120 =EXPERIENCE NONSEQUENTIAL RISKS of adding libraries to sequential LANGUAGES .Close .Open Buhr98 R J A Buhr Use Case Maps as Architectural Enitites for Complex Systems IEEE Trans SE V24n12(Dec 1998)pp1131-1155 CR9908-0630 =DEMO GRAPHIC .See [UCM] Collaborations as path thru responsibillities of components: forks and joins, and/or, rendezvous, time, stubs, plugins, component stacks, dynamic stub, movements UCM::graphic_noatation="Use Case Map". Syntax at .See http://www.sce.carleton.ca/rads/agents .Close .Open BuhrCasselman96 R J Buhr & R S Casselman Use Case Maps for Object-oriented Systems Prentice Hall Int NJ 1996 ISBN 0-13-456542-8 .See [CR] 9705-0315 D.1.5 =TEXT GRAPHIC .See [UCM] Structured prose descriptions of interactions: scenarios between a system to be designed and the users of the system .Close .Open BuhrFortierCoffin95 Peter A Buhr & Michel Fortier & Michael H Coffin Monitor Classification ACM Computing Surveys V27n1(Mar 1995)pp64-107 =SURVEY nonsequential .Box Monitors are best used to serialize access to passive objects and resources -- objects such as data structures and files -- that do not have their own thread of execution. .Close.Box .Close .Open Bullard92 L Bullard Applying frame based SGML to enterprise engineering V5n7(Jul 1992) =DEMO SGML .Close .Open Burge91 T Burge Truth and Singular Terms in Philosophical Applications of Free Logic Oxford Univ Press 1991 pp 189-204 =THEORY FORMAL LOGIC See .See [LPT] and .See [LPV] .Close .Open BurgeBrown07 Janet E Burge & David C Brown Software Engineering Using RATionale Journal of Systems and Software V81n3(2008)pp 395-413 $CR 0906-0559 =EXPERIMENT =DEMO TOOL REQUIREMENTS DESIGN RATIONALE IDE SEURAT Eclipse Java RATspeak inference Faster maintenance for nonexperts (only) Who were the subjects? What is cost of capturing the rationale? .Close .Open Burgess91 Angela Burgess (Ed) Phone Outages Blamed on Switching Software IEEE Software V8n5(Sept 1991)pp100-101 =EXPERIENCE RISKS .Close .Open Burns00 David Burns The Mental Game of Debugging Software Development Magazine V8n3(Nov/Dec 2000)pp44-48 =ESSAY ANECDOTE DEBUGGING GOOD boast, relax, know the territory, if obscure start at the beginning, know what you don't know, seek the right tool, patient, eyes open, know what it should have been(specs can be wrong), don't patch it: fix it! .Close .Open Burnsten07 Sidney L Burnsten To map a process, first find its swimlane Commun ACM V50n10(Oct 2007)p14 =ANECDOTE IBM SLB GRAPHIC ANALYSIS DESIGN METHOD DesignFlow SLB::="Swim Lane Based". Draw both "as is" and "to be" diagrams. Involve users and stakeholders. Each actor has a swimlane. Show activities & decisions in lanes. include information. Claims many years of successful use. Claims better than DFDs or Usecases. Sounds like it is compatible with UML2.0 Activity diagrams. .Close .Open BurrowsAbadiNeedham89 M Burrows & M Abadi & R M Needham A Logic of Authentication Proc Royal Society of London A V426(1989)pp233-271 =THEORY FORMAL LOGIC BAN_logic::Logic, logic of authentication -- who can believe what about whom? .See http://csci.csusb.edu/dick/samples/BAN.html See also .See [BurrowsAbadiNeedham90] .Close .Open BurrowsAbadiNeedham90 Michael Burrows & Martin Abadi & Roger M Needham A Logic of Authentication ACM Transactions on Computer Systems V8n1(Feb 1990)pp18-36 .See http://doi.acm.org/10.1145/77648.77649 =THEORY =DEMO LOGIC PROTOCOL PROOF V&V BAN KERBEROS CRYPTO See also .See [BurrowsAbadiNeedham89] Defines the .See [BAN_logic] of beliefs and messages. .Close .Open Burridge99 Trevor Burridge Certification in the united kingdom IEEE Software Magazine V16n6(Nov/Dec 1999)pp46 =SIDEBAR ENGINEERING UK UK has certified software engineers via IEE+BCS for years, no adverts for software engineers .See http://www.iee.org .See http://www.bcs.org.uk .See http://www.jobserve.com .Close .Open Bussler07 Chistoph Bussler The Fractal Nature of Web Services IEEE Computer Magazine V40n3(Mar 2007)pp93-95 =HARMFUL NAIVE SERVICE SOA PERFORMANCE QUEUES A new silver bullet: Service-oriented Architecture. If everything is a service and can be called by any other service then performance will be unstable. Example: Simple request and reply leads 14 messages, 24 remote invocations, and 4 distributed transactions. Need to think about what should be offered as a service.... .Close .Open BustardWinstanley94 David W Bustard & Adam C Winstanley Making changes to Formal Specifications: Requirements and an Example IEEE trans on Soft Eng vSE-20n8(Aug 1994)pp562-568 =DEMO SCAFFOLD FORMAL MAINTENANCE LOTOS Dynamics .Close .Open ButlerEspositoHebron99 Keith A Butler & Chris Esposito & Ron Hebron Connecting the Design of Software to the Design of Work Commun ACM V42n1(Jan 1999)pp38-46 =ADVERT SYSTEM USER should drive design .Close .Open ButlerHope02 Samantha Butler & Sian Hope Software Process Evaluation using remote monitoring methods .See [SCI2002] V1(Jul 2002)pp =EXPERIENCE IMPROVEMENT MEASUREMENT metrics .Close .Open Butov05 Andrey Butov XML-Binary optimized packaging Dr. Dobbs #379(Dec 2005)pp53-55 =ESSAY CODE Binary XML XOP How to embed binary data in XML? .Close .Open CACM25 Reprints Special 25th Anniversary Issue Commun ACM V26 n1 (Jan 1983) history .Close .Open CR Various reviewers Computer Reviews ACM Press NY NY, see .See http://www.reviews.com/home.cfm =COLLECTION REVIEWS HISTORY =JOURNAL REVIEWS Each review is numbered YYMM-nnnn where YY indicates the year, MM the month, and nn is a serial number. .See [CR] also provides a classification of subjects for each item -- CCS. For example D.2.1 is for Requirements/Specifications .Close .Open CabotOliveTeniente03 Jordi Cabot & Antoni Olive & Ernest Teniente Representing Temporal Information in the UML LNCS 2863 <> 2003 -- The Unified Modeling Language Oct 2003, pp44-59 =IDEA UML/OCL TEMPORAL ER MODEL TOOL XML XMI XSL Ls:=`life span of the system`. E(e,t) :=`e is an instance of type E at time t`. R(e1,e2,...,t) :=`(e1,e2,...) participate in relation R at time t` Ci(e,E) :=`all classification intervals of e in E` Intervals have properties like BelongsTo, endsAt, ... Classification by frequency and durability. Therefore temporal stereotypes. Historical entities/relations hold the history of entities via <> .Close .Open Cahoon06 Jeff Cahoon Faster Development Through Modeling Dr. Dobb's Journal (Oct 05, 2006) Link: .See http://www.ddj.com/dept/architect/193104822 =TYPE MODEL RAPID PROTOTYPE GENERATION MDA "Jeff describes a modeling technique that uses free tools and Model-Driven Architecture processes to speed up development." Method .List Create a model of the application. Write a miniapplication that implements the first instance of the repeated set of steps. Pull apart the miniapplication into template files replacing the named parts in the repeated set of steps with recognizable strings for substitution. Write code that can rebuild the miniapplication from the templates and the model. Generate all the code for the whole application. .Close.List (dick) |- model=`horrible diagram`. .Close .Open Caietal91 Jiazhen Cai & P Facon & F Henglein & Robert Paige & E Schonberg Type Analysis and Data Structure Selection in Constructing Programs from Specifications B. Moeller ed. North_Holland 1991 .Close .Open CaiPaige93 Jiazhen Cai & Robert Paige Towards Increased Productivity of Algorithm Implementation .See [Notkin93] pp 71-77 =DEMO SETL2 Data Engineering Claims a 5 to 9 fold improvement in productivity by repetedly refining SETL2->SQ2->C. Giving 1.5 faster code than FORTRAN. States that SETL optimizations were never very effective because of the hardwired hash table implementations of data structures. .Close .Open Calan89 Frank Calan The Quality System: A Source Book for Management and Engineers (2nd Edn) Chilton Book Co. Radnor PA 1989 =TEXT QUALITY .Close .Open CalcagnoOHearnBornat03 C Calcagno & P OHearn & R Bornat Program logic and equivalence in the presence of garbage collection Theoretical Computer Science V298n3(??? 2003)pp557-581 =THEORY FORMAL LOGIC HOARE Garbage Collection (D.4.2) VERIFICATION What do we mean when we say that a particular object "exists" on the heap? To preserve Hoare's assignment axiom in the presence of garbage collection, the existence of garbage becomes "virtual". The wise program prover should use a language with proved automatic garbage collection, and avoid assertions that refer to garbage! Includes a formal model of garbage collection. .Close .Open Calchera95 Gini Calchera(DFAS) Assessing a System Before Re-engineering it: What a Novel Idea IEEE Reverse Engineering Newsletter n8(Winter 1995)pp6-9 .Box Mistake to start a reengineering projects without .List knowing what it will cost knowing the condition of what you are replacing Choosing it as the best bang for the buck .Close.List Assess .List Support Strategic Value Functionallity Technical QUALITY Architecture and SE Envinronment .Close.List Identify the problems then start planning what to do. .Close.Box .Close .Open Caldieraetal91 Gianluigi Caldiera & Victor R. Basili Identifying and Qualifying Reusable Software Components IEEE Computer V24n2(Feb 1991) Parallel SW process. .Close .Open CallaghanHirschmuller98 Michael Callaghan & Heiko Hirschm"uller 3-D Visualisation of Design Patterns and Java Programs in Computer Science Education ACM SICSE Conf Proc 6th Annual Conf on the Teching of Computing SIGCSE Bulletin V30n3(Sep 1998)pp37-40 =DEMO GRAPHIC 3D VRML TOOL JAVA WWW SVL VISP See .See http://www.rhein-neckar.de/~kira but compare with .See [FiejsJong98] .Close .Open Callison95 H Rebecca Callison(mailto:callison@research.cs.orst.edu) A Time-sensitive Object Model for Real-time Systems ACM Trans Softw Eng Methodol V4n3(Jul 1995)pp287-317 TSO::=Time Sensitive Object. .Close .Open CalloniBagert94 Ben A Calloni & Donald J Bagert Iconic Programming in BACCI Vs Textual Programming: Which is a Better Learning Environment? ACM 25th Technical Symposium on Computer Science Education SIGCSE Bulletin V26n1(Mar 1994)pp .Box Graphics helped people(EE and CS) to learn Pascal as shown by final scores and lab scores. BACCII uses MS windows helps students design algorithms by using Icons, intuitive gudance, and top-down methodology Ref to Scanlan88 & Scanlan89 .Close.Box .Close .Open CalvettiSomersalo2007 Daniela Calvetti & Erkki Somersalo Introduction to Baresian Scientific Computing: Ten lectures on subjective computing Springer-Verlag NY Secaucus NY 2005 ISBN 0387733930 $CR 0811-1048 =UNREAD LECTURES BAYES PROBABILITY THEORY PHILOSOPHY .Close .Open Cameron84 John R Cameron JSP & JSD: The Jackson Approach to Software Development IEEE Tutorial Cat No EH0206-3 IEEE Computer Society LA Order No 516 =HOWTO METHODS DDD DAD Reality System .Close .Open Cameron86 John R Cameron An overview of JSD See .See [BerglandZave86] pp222-240 =ADVERT METHODS DAD Reality .Close .Open Cameron89 John R Cameron JSP and JSD: The Jackson Approach to Software development(2nd Edn) IEEE Comp Society Press CA 1989 =HOWTO METHODS DDD DAD Reality System .Close .Open Cameron02 John Cameron Configurable Development Processes Commun ACM V45n2(Mar 2002)pp72-77 =ADVERT WPD PROCESS PRODUCT DESCRIPTION META IBM EXPERIENCE WPD::="Work Product Description". About 100 WPDs plus dependency diagrams, work breakdown structures (rough plans/checkpoints), Roles/skill-sets linked to products and parts of plans, details of complex techniques. Easier to describe products rather than processes. Capturing intellectual capital. Rigid processes do not work when applied uniformly. They always fail. However work products can be transplanted with success. Configuration: selecting products using spreadsheet ad advice from WPDs. If a product is adopted then the WPD contains or refers to information for producing and using the product. Products evolve over time to a finished from. .Close .Open CameronR93 Robert D Cameron Extending contect free grammers with permutation phreases ACM Lett Program Lang Syst V2n1-4(March-Dec 1993)pp85-94 CR9412-0877 .Box Defines permutation phrase <> ::= | [p:perm(1..n)]( ![i:1..n]( e(p(i)) ) ) expressive utility context free power recursive descent style parsing when.... .Close.Box .Close .Open Camilleri90 Albert John Camilleri Mechanizing CSP Trace Theory in Higher Order Logic IEEE Trans Software Engineering SE-V16n9(Sep 1990) .Close .Open Camp01 L Jean Camp An atomicity-Generating Protocol for anonymous Currencies IEEE Trans Software Engineering V27n3(Mar 2001)pp272-278 =EXAMPLE THEORY ECommerce NONSEQUENTIAL .Close .Open Campbell-Kelly03 Martin Campbell-Kelly From Airline reservations to Sonic the Hedgehog: A History of the Software Industry MIT Press ISBN 0-262-03303-8 $29.95, Review IEEE Computer Magazine V36n6(Jun 2003)pp78- .See [CR] 0308-0762 =HISTORY SOFTWARE ECONOMICS Three main sectors: contractors, makers of corporate software, producers for the mass market. Many diverse products and markets. .Close .Open Campbell-Kelly08 Martin Campbell-Kelly Historical Reflections -- Will the future of software be open source Commun ACM V51n10(Oct 2008)pp21-23 .See http://doi.acm.org/10.1145/1400181.1400189 =HISTORY 1950s-2000s OPEN SOURCE F/OSS Initially source code was distributed with the executables and libraries. Unsuspected technologies have and will disrupt predictions. .Close .Open CampbellHaberman74 R H Campbell & A N Haberman The specification of Process Synchronisation by Path Expressions Lecture Notes in Computer Science n16 (Apr 1974) =THEORY REGULAR NONSEQUENTIAL Path expressions, ref in ACM SIGSOFT Software Engineering Notes V17n4 (Oct 1992)p49&52 .Close .Open CamposNunes07 Pedro Campos & Nuno Jardin Nunes Practitioner Tools and Workstyles for User-Interface Design IEEE Software Magazine V24n1(Jan/Feb 2007)pp73-80 =POLL 300 USER INTERFACE DESIGNERS =DEMO CanonSketch MXML macromedia Email surveys + interviews to establish how user interface designers work. Most use manual tools: paper, pencil, whiteboards, Post-It notes. Common transitions: problem->solution, refinement, ... Problem->solution was perceived as the most costly one. Examples of tools to support transitions -- drag and drop between synchronized views. TaskSketch::=http://dme.uma.pt/tasksketch (Mac OSX) CannonSketch::=http://dme.uma.pt/canonsketch .Close .Open CanalEtal03 Carlos Canal & Lidia Fuentes & Ernesto Pimentel & Jose M Troya & Antonio Vallecillo Adding Roles to CORBA Objects IEEE Trans Software Engineering V29n3(Mar 2003)pp242-260 =CASESTUDY CORBA IDL PROTOCOL DYNAMIC SPECIFICATION \pi-calculus GRAMMAR ROLE TESTING MWB Java Orbix role name( formal_arguments)= ... role_name( actual_arguments ) ... .Close .Open CanevetGilmoreHillstonKloulStevens04 C Canevet & Stephen Gilmore & Jane Hillston & Leila Kloul & P Stevens Analyzing UML2.0 activity diagrams in the Software performance engineering process WOSP'04 & ACM SIGSOFT Software Engineering Notes V29n1(Jan 2004)pp74-78 =DEMO TOOL performance PETRI ALGEBRA PEPA UML2 .See [GilmoreHillstonKloulRibaudo04] .Close .Open Canforaetal92 Gerardo Canfora & Anielo Cimitile & Ugo de Carlini A Logic-Based Approach to Reverse Engineering Tools Production IEEE Trans on Software Eng VSE-18n12(Dec 1992)pp1053-1064 .Box Prolog model of a Pascal-like program gives queriable data base/knowledge base. Implemented on silicon/UNSW Prolog. .Close.Box .Close .Open CangussuDeCarloMathur02 Joao W Cangussu & Raymond A DeCarlo & Aditya P Mathur A Formal model of the software test Process IEEE Trans Software Engineering V28n8(Aug 2002)pp782-796 =MATH PREDICTING SOFTWARE TESTING Splits testing into phases. Models each phase in turn. Suggests an linear 2nd order ordinary differential equation to model the number of errors in a piece of software. Complexity is analogous to inertia, test effort is proportional to the number of errors (Volterra predator-prey model!), and that working quickly tends too slow the process(viscosity). Derives typical curves (some of two exponential decays) and a matrix version. Presets extreme cases and ways to estimate parameters. Case study of \TeX in a Purdue Tech report. Razorfish porting 4MLoc COBOL to SAP/R3program. .Close .Open CangussuDeCarloMathur03 Joao W Cangussu & Raymond A DeCarlo & Aditya P Mathur Monitoring the software test process using statistical process control: a Logarithmic approach FSE-11 & ESEC 9 & ACM SIGSOFT Software Engineering Notes V28n5(Sep 2003)pp158-167 =THEORY STATISTICS TESTING QUALITY CONTROL Before applying quality control to the number of defects fixed it is best to first lake logarithms to fit an exponential curve to form the expected value vs time. .Close .Open Cann93 Ronnie Canne Formal Semantics: An Introduction Cambridge University Press New York NY 1993 ISBN 0-521-37610-6 CR9411-0776 (CR)|- Semantics of natural language, set theoretical, Lambda abstraction, generalized quantifiers, advanced text .Close .Open CaoRamesh08 Lan Cao & Balasubramaniam Ramesh Agile requirements engineering practices: an empirical study IEEE Software Magazine V25n1(Jan/Feb 2008)pp60- =INTERVIEWS 16 FIRMS AGILE REQUIREMENTS BENEFITS CHALLENGES PURPOSES TESTS QUALITIES Identified 7 practices each with benefits & challenges. .Box Face-to-face communication not documents. Iterating (requirements, priorities, planning, reviews, & acceptance tests). Prototypes. Test driven development(TDD). .Close.Box challenges: forgotten qualities, wrong architecture, lack experience of TDD... .Close .Open CaplanHarandi95 Joshua E Caplan & Mehdi T Harandi(*@cs.uiuc.edu) A Logical Framework for Software Proof Reuse .See [SamadzadehZand95] pp106-113 =THEORY DEMO PROOF REUSE Hoare triples do not have referential transparency! .Box Created a new quantifier to bind (and hide) program identifiers into a context and protect them from sustitution. deca;arations also bind identifiers (and so hide them). Assignment axiom: for_vars x( {P(t=>x[m])} x[m]:= t {P} ). Declaration axiom: for_vars x({ P and x[m]=e} C{Q}) ---------------------------------------------------where x=y,x[m],z. for_vars y,z( {P} new x[m]:=e ; C {Q} ) .Close.Box .Close .Open CaplatSourrouille05 Guy Caplat & Jean-Louis Sourrouille Model Mapping Using Formalism Extensions IEEE Software Magazine V22n2(Mar/Apr 2005)pp44-51 =EXAMPLE THEORY METAMODEL TRANSLATION + EXTENSIONS MOF UML PROFILES MDA ARTO C++ PIM PSM CODE Sherlock Constraint Checker The real problem in MDA is mapping between formalisms/languages. Translating between different modeling formalisms is complicated because they have extensions. Extensions are needed because translations can not be made between formalisms . Extensions become UML profiles. Constraint Checker is a tool that tests if a model conforms to a profile and u ses the language Sherlock. .Close .Open Capperetal94 N P Capper & R J Colgate & J C Hunter & M F James The Impact of object-oriented Technology on Software Quality: Three case histories IBM Systems Jnl V33n1(1994)pp131-157 =CASESTUDY OBJECT-ORIENTED TECHNICAL QUALITY .Close .Open Capra04 Licia Capra Engineering Human Trust in Mobile System Collaborations Proc SIGSOFT'04/FSE-12& ACM SIGSOFT Software Engineering Notes V29n6(Nov 2004)pp107-116 =THEORY MATHEMATICS TRUST AGENTS hTrust TMF TMF::="Trust Management Framework". Models the formation, dissemination and evolution of trust between agents. trust_data::=Net{who_trusts, opinion, trusted, level, subject, direct_experiences, credentials, recommendations }. Notes .Close .Open CapraFrancalanciMerio08 Eugenio Capra & Chiara Francalanci & Francesco Merio An Empirical study on the relationship among Software Design Quality, Development Effort, and Governance in Open Source Projects IEEE Trans Software Engineering (Nov/Dec 2008)pp765-782 =EMPIRICAL ANALYSIS 75 OPEN SOURCE PROJECTS METRICS EFFORT PROCESS MANAGEMENT In open source there is a continuum of governance practices. Conclusion: Better quality code permits looser governance but that in turn takes effort to coordinate loosely governed people. (dick)|- results are unlikely to happen by chance but the causality may be reversed. .Close .Open Carasiketal90 RP Carasik & SM Johnson & DA Patterson & George A Von Glahn Towards a Domain Description Grammar: An Application of Linguistic Semantics ACM SIGSOFT SEN V15n5(Oct 1990)pp28-43 conceptual model not ERA .Close .Open Card93 David Card (CSC) Defect-Causal-Analysis Drives Down Error Rates IEEE Software Magazine(July 1993)pp98-99 SQA DCA .Box DCA has a maturity-pull effect, 1% investment can give a 50% reduction in error rates. 60% action proposals are in method .Close.Box .Close .Open CardComer94 Dave Card & Ed Comer Why do So Many Reuse Programs Fail? IEEE Software Magazine V11n5(Sep 1994)pp114-115 .Box systematic reuse is not a technology problem so much as a problems of economics: setting up an internal marketplace between producers and consumers culture: traing, incentives, measuremtn, management Process: strong configuration management and quality assurance(level 2 CMM). .Close.Box .Close .Open CardDN95 David N Card Is Timing Really Everything?(Guest Editors Introduction) IEEE Software Magazine V12n5(Sep 1995)pp19-22 .Box Was David Card at CSC? .Close.Box .Close .Open Cardenas-GarciaZelkowitz91 Sergio Cardenas-Garcia & Marvin V Zelkowitz A Management Tool for Evaluation of Software Designs IEEE Trans SE-16 n9(Sep 1991)p961-971. QUALITY+PURPOSE risk analysis viabillity::=correct+weighted attributes .Close .Open Cardetal87 David Card & Frank E McGary & Gerald T Page Evaluating Software Engineering Technology IEEE Trans on Software Eng VSE-13n7(Jul 1987)pp845-851 =STATISTICS PRODUCTIVITY QUALITIES concludes: using experienced+SQA+documentation improves reliability without effecting productivity. SP and top-down reduced productivity and made small +ve difference to reliability. Perhaps cleanroom testing? Weakness: .Let computer_use:=computer_time/LOC and productivity:=LOC/programmer _time .Close.Let .See [SelbyBasiliBaker87] .Close .Open CardMoranNewell83 Stuart K Card & Thomas P Moran & Allen Newell The Psychology of Human-Computer Interaction CRC Press 1983 =UNREAD USER INTERACTION HCI GOMS PEOPLE GOMS::=${Goals, Operators, Methods, Selection_rules}. Provides caculations to evaluate scenarios. TBD .Hole .Close .Open CardZubrow01 David Card & David Zubrow benchmarking software organizations IEEE Software Magazine V18n4(July/Aug 2001)pp16-17 =EDITORIAL BENCHMARKING PROCESSES CMM Difficult: define clear objectives, plan carefully, and interpret cautiously. For more see pages18-56 .Close .Open CareyCarlson02 James Carey & Brent Carlson Lessons learned becoming a framework developer Software - Practice & ExperienceV32n8(10 July 2002)pp789-800 =EXPERIENCE FRAMEWORKS PATTERNS Object-Oriented You are not producing a product. You must work on and with the framework's customer's teams. .Close .Open CareyDeWittNaughton94 ?? Carey & ?? DeWitt & ?? Naughton The OO7 Benchmark University of Wisconsin Technical Report April 1993 revised Jan 1994 =EXPERIENCE OBJECT-ORIENTED DATA PERFORMANCE See .See [MartinSwaran97] .Close .Open Carlson01 Dave Carlson Modeling XML Applications with UML: Practical E-Business applications Addison-Wesley 2001 =HOW-TO XML UML BUSINESS Advert in Software Development Magazine V10n2(Feb 2002)pp44-47 Also see .See [Carlson02b] and .See [Carlson02c] .Close .Open Carlson02b David Carlson Modeling XML Applications Software Development Magazine V10n4(Apr 2002)pp48-50 =ADVERT UML XML xCBL transforming UML models for specific platforms. Use UML profile (stereotypes and tagged values) to model XML designs. Extract from .See [Carlson01] Also see .See [Carlson02c] and .See [Carlson02d] .Close .Open Carlson02c David Carlson Modeling XML Applications Part 3 Software Development Magazine V10n5(May 2002)pp45-48 =IDEA UML XML XMI OMG MOF Demos standard mapping from class diagram to XML schema with and without stereotypes indicating the XML mapping. Shows how a schema can define the XML Scheme version of generalization: Also see .See [Carlson02b] and .See [Carlson01]. .Close .Open Carlson02d David Carlson Modeling XML Applications Part 4 Software Development Magazine V10n6(Jun 2002)pp38-41 =ADVERT UDDI in UML WEB services SOAP XML schema UDDI::="Universal Description, Discovery, and Integration", specifies XML documents for business data like contacts, services,etc. .See http://www.uddi.org Also see .See [Carlson02b] .See [Carlson02c] and .See [Carlson01] .Close .Open CarmelWhitakerGeorge93 Erran Carmel & Randall D Whitaker & Joey F George PD and Joint Application Design: A transatlantic Comparison Comm ACM V36n6(Jun 1993)pp40-48 =HISTORY JAD PD USER DESIGN PROTOTYPING REQUIREMENTS PD:="Participatory Design". JAD:="Joint Application Design". Reports claimed benefits of JAD (Table 1). Typical drawing or typical JAD room of the time. JAD moved from documentation to using CASE tools. Many prescriptions and recipes for running meetings. .Close .Open CarmelAbbot07 Erran Carmel & Pamela Abbot Why 'nearshore' means that distance matters Commun ACM V50n10(Oct 2007)pp40-46 =SURVEY 150 ARTICLES DISTRIBUTED PROCESS LOCATION OUTSOURCE OFFSHORE SHORING SOURCING nearshore ::= low geographical temporal cultural linguistic political economic historical distance to lower wage software development. Some places are both exporters and importers of software work. .Close .Open CarneyLong00 David Carney & Fred Long What do you mean by COTS? IEEE Software Magazine V17n2(Mar/Apr 2000)pp83-86 =ESSAY COMPONENTS Don't use acronyms! Specify the type of source plus the modifiability of the component .Close .Open Caromel93 Denis Caromel Toward a Method of Object-oriented Concurrent Programming Comm ACM V36n9(Sep 1993)pp90-116 .Close .Open Carpenter95 Paul Carpenter(mailto:paul@pcserv.demon.co.uk) Never mide the Functionallity: Look at the graphics IEEE Computer MagaZine V28n9(Sep 1995)p112 .Box Graphic toools for design of hardware and test/measurement are buggy, unreliable, incompatable "Are there, by any chance, a lot of good software testers out there ehose services aren't being paid for by the correct company?" .Close.Box .Close .Open CarrellSkeen92 ?? Carrell & ?? Skeen Object Operations Benchmark ACM Trans DBS V17n1(Mar 1992)PP??-?? =EXPERIENCE OBJECT-ORIENTED DATA PERFORMANCE See .See [MartinSwaran97] .Close .Open Carrieroetal95 Nicholas Carriero & Eric Freeman & David Gelernter(all Yale) &David Kaminsky(IBM) Adaptive Parallelism and Piranha IEEE Computer V28n1(Jan 1995)pp40-49 .Box Linda, coordination language, feeder, master-worker parallelism tuple::=#data tuplespace::=Bag(tuple) .Close.Box .Close .Open CarrieroGelernter89 N Carriero & David Gelernter Linda in Context Comm ACM V32n4(Apr 1989)pp444-458 =ADVERT Technical Concurrency Tuples .Box See Gelernter91 - pop mirror worlds, leads to Piranha .Close.Box .Close .Open CarringtonDukeHayesWelsh93 David Carrington & David Duke & Ian Hayes & Jim Welsh Deriving Modular Designs from From Specifications .See [Notkin93] pp 89-98 =CASE-STUDY FORMAL Design Z .Box Case study: UQ2 generic editor of structured documents. finding dependencies, gnerating clusters, NuProlog, tools set for analysis of Z etc Formula for cohesion and closeness(roughly cohesion) promotion can hide the simplicity of connections at lower levels. Example p92-93... tables with rd, wr, ... .Close.Box .Close .Open Carroll82 John M Carrol The Adventure of Getting to Know a Computer Computer IEEE (Nov 1982) pp49-58 =EXPERIMENT USER System Using a command line interface is very like trying to play a command line game like `Adventure`: disorienting, illusive, empy, mystery messages, slippery, side effects, clashes with experience, no help for acheiving goals. .Close .Open Carroll91 John M Carroll Making Errors; Making sense; Making Use pp154-167 in FloydCetal91 =ESSAY USER .Box chapter 0 science and software chapter 1 implicit models HCI Science vs design, software artifacts as theories, p165 "artifacts embody implicit theories of human interaction with software",p166"we do not and perhaps cannot have a conventional deductive science for software design" .Close.Box .Close .Open Carroll94 John M Carroll Making Use a Design Representation Commun ACM V37n12(Dec 1994)pp29-35 =EXPERIENCE USER scenario use-case .Box Scenarios have always been an informal but useful part of documentation. Make them the prime representation of the system instead -- reason with them.... Also include analysis of psychological effects of technical decision: IN CAUSES < + effect> BUT MAY ALSO CAUSE < - effect> .Close.Box .Close .Open Carroll95 John M Carroll(ed) Scenario-based Design: envisioning work and technology in system development John Wiley & Sons Inc NY NY 1995 $44.95 ISBN 0-471-07659-7 CR9607-0458 =TEXTBOOK USER SCENARIO REQUIREMENTS REUSE Use-case CASESTUDY .Close .Open Carrol01 John M Carroll Making use: scenario-Based Design of Human-Computer Interactions, MIT Press Cambridge MA ISBN 0-262-03279-1 QA76.9 H85 C37 review IEEE Computer Mag Apr 2000 p96 =HOWTO SCENARIOS USER ANALYSIS REQUIREMENTS .Close .Open CarrollCarrithers84 John M Carroll & ?? Carrithers Training Wheels in a User Interface Commun ACM V27n8(Aug 1984)pp800-806 =EXPERIENCE prototypes System iterative process Compare .See [Kelley84] .Close .Open CarrollE05 Edward R Carroll Estimating Software based on use case points Companion to 20th ACM SIGPLAN OOPSLA (Oct 2005)pp257-265 $CR 0611-1155 =EXPERIENCES THEORY ESTIMATION UCP COCOMO RUP UCP tested at a CMM Level-5 organization! 95% of estimates are within 9% or actual. Actors classified as simple(API), average(alpha), or complex (GUI). Scenarios classified by number of transactions. 13 Technical factors (T1=must be distributed, ... T13=needs special user training). 8 Experience factors. . . . Feedback and tuning. Change process, management, technique, ... .Close .Open CarrollL77 Lewis Carroll (ed. William W Bartley III) Symbolic Logic Pts I & II Harvester Press 1977 Hassocks Sussex England =MONOGRAPH LOGIC syllogisms SORITES EXAMPLES Pt II uses something like resolution and semantic tableaux! .Close .Open CarrollRossonChinKoenemann98 John M Carroll & Mary Beth Rosson & George Chin & J"urgen Koenemann Requirements Development in Scenario-Based Design IEEE Trans SE V24n12(Dec 1998)pp1156-1170 CR9906-0433 =CASESTUDY USER SCENARIO participatory design. SRS to SCENARIOS + observations ->- analysis->-activity, pragmatics .Close .Open CartwrightShepperd00 Michael Cartwright & Martin Shepperd An empirical investigation of an object-oriented software system IEEE Trans Software Engineering V26n8(Aug 2000)pp786-796 =EXPERIENCES ANALYSIS Large testing system QUALITIES Shlaer-Mellor C++ Project_Technology::=http:/www.projtech.com/, Shlaer_Mellor. 32 classes 133k LOC 1year of use part of 10 year old multimillon LOC telecommunication system. 2k developers ISO9000 accredited. 1993-1994. not OOT experienced. one header had 2988 LOC! LOC = count semicolons. depth of inheritance ranged 0..2. defect/class stats (range=> 0..47, mean =>8, median =>2). number of events and states in a class predict the size and the number of defects. size and inheriting increase the number of defects. .Close .Open CarvalloFranchQuer07 Juan Pablo Carvallo & Xavier Franch & Carme Quer Determining Criteria for selecting Software Components: Lessons Learned IEEE Software Magazine V24n3(May/Jun 2007)pp84-94 =EXPERIENCE STANDRADS COTS COMPONENTS SELECTION QUALITIES PURPOSES Criteria Catalog ISO/IEC9126-1 METRICS EVOLUTION REALITIES DOMAIN TAXONOMY "Adopt a balanced Criteria Catalog" Three level hierachy extending one in the standard. Built for a particular "scope": domain or category of similar domains. "Recognize the importance of nontechnical criteria" "Precisely Define your selection framework" UML model. KitchenhamHughesLinkman01. Criteria can be linked: synergy, conflict, ... Tool .See http://www.lsi.upc.edu/~gessi/DesCOTS/ "Consider the Criteria Catelogs final pupose". Catalogs can be reused between similar scopes. "Organize software scopes herarchically". Build a taxonomyof scopes (Figure 5).... Based a known hierarchy of business Applications. Describes 4 or 5 ways the experience can be used. The specific evolved catalogs and taxonomies are less important than the idea of evolving, iteratively, incrementally precise catalogs and taxonomies suited to your projects. .Close .Open CarverNagappanPage08 Jeffrey C Carver & Nachiappan Nagappan & Alan Page The impact of educational background on the effectiveness of Requirements Inspections: an empirical study IEEE Trans Software Engineering V34n6(Nov/Dec 2008)pp800-812 =EXPERIMENT PEOPLE INSPECTIONS REQUIREMENTS Provides good evidence of a couple of useful facts: .List People who have written requirements are better at finding defects than people who have not written them. People with Computer or Software Engineering degrees are worse at find requirements defects than those who have other degrees. .Close .Open Caspi92 ?? Caspi Clocks in Dataflow Languages Theor Comput Sci V95n1(Mar 23 1992)pp125-140 CR9304-0231 =THEORY CONCURRENT .Close .Open Castagna95 Giusepe Castagna Covariance and Contravariance: Conflict without Cause ACM Trans Prog Lang Syst V17n2(May 1995)pp431-447 CR9608-0612 Objects theory genericity .Close .Open Castagna97 Giusepe Castagna Object-Oriented Programming: A Unified Foundation Birkhauser 1997 IEEE Software Mag Review#907046 .Close .Open CastelloMiliTollis02 Rodolfo Castello & Rym Mili & Ioannis G Tollis Automatic layout of statecharts Software - Practice & Experience V32n1(Jan 2002)pp25-55 =DEMO TOOL GRAPHIC STATECHART FSM/STD LAYOUT .Close .Open CasatiEtal00 Fabio Casati & Silvana Castano & Mariagrazia Fugini & Isabelle Mirbel & Barbara Pernici Using patterns to design rules in workflows IEEE Trans Software Engineering V26n8(Aug 2000)pp760-785 =EXPERIENCE DESIGN RULEBASED EXCEPTIONS TOOL pp773-779: Interesting catalog of templates that handle exceptions in workflows. Templates related by refinement, enrichment, and instantition -based specialization .Close .Open Cattell91 R G G Cattell(Guest Editor) Next-Generation DataBase Systems Commun ACM V34n10(Oct 1991)pp31-33 convergence of OO with DBMS remedies defects in RDBMS... .Close .Open CavalcantiNaumann00 Ana Cavalcanti & Daviv A Naumann A Weakest Precondition Semantics for refinement of object-oriented programs IEEE Trans Software Engineering V26n8(Aug 2000)pp713-728 =THEORY SEMANTICS OBJECTS ROOL Study C C Morgan first! .Close .Open CavanoLaMonica87 Joseph P Cavano & Frank S LaMonica QUALITY Assurance in Future Development Environments IEEE Software V4n5(Sep 1987)pp26-34 =THEORY SQA QUALITY .Close .Open CavusogluMishraRaghunathan04 Huseyin Cavusoglu & Birendra Mishra & Srinivasan Raghunathan A Model for Evaluating IT Security Investments Commun ACM V47n7(Jul 2004)pp87-92 =THEORY MATHEMATICS COST SECURITY ROI BAYES .Close .Open CegielskiHall06 Casey G Cegielski & Dianne J Hall What makes a Good Programmer? Commun ACM V49n10(Oct 2006)pp- =EXPERIMENT 139 undergraduates PSYCHOLOGY Object-Oriented PROGRAMMER Allport-Lindzey-Vernon ETS etc theoretical_value_belief::@People=` desire structure and proof, highly objective, highly focused, look for reason and validation, loners, no interest or consideration of the untested and unproven`. Cognitive ability and personality type both associated with programming skill. theoretical_value_belief associated with cognitive ability and personality. .Close .Open Cerietal88 Stefano Ceri & Stefano Crespi-Reghizzi & Andrea Di Maio & Luigi A Lavazza Software Prototyping by Relational Techniques: Experiences with Program Construction Systems IEEE Trans Soft Eng VSE-14n11(Nov 1988)pp1597-1609 =Experiences =Demo relational data Ada code .Close .Open CerroGasquet02 Luis Farnias Del Cerro & Olivier Gasquet A General Framework for Pattern-Driven Modal Tableaux L J of the IGPL V10n1(2002)pp51-83 =THEORY PROVING MODAL LOGIC SEMANTIC TABLEAUX RELATIONS Proves completeness and soundness for a set of rules for proving formula in many different modal logics by combining Kripke semantics, semantic Tableaux, and relational calculus. p58 rule <>: If <>A,S @ p then add node q: <>A,S@p ---A@q. rule K: if []A,S@p----S1@q then []A,S@p----A,S1@q. Lotrec::tool=http://www.itit.fr/ACTIVITIES/LILaC/Lotrec/, written in Java .Close .Open Cervanto00 Iliano Cervanto Logical Framework: Why not just classical logic? CSLI Lecture notes V91, Stanford U(2000)pp87-104 in "Formalizing the dynamics of information" ed. Martina Faller & Stefan C Kaufmann & Marc Pauly ISBN 1-57586-239-5 Q360 =ESSAY LOGIC LAMBDA cf Z SCHEMA (dick) |- Parallels my thinking in creating MATHS. .Close .Open CeschiEtal05 Martina Ceschi & Alberto Sillitti & Giancarlo Succi & Stefano De Panfilis Project Management in plan based and agile companies IEEE Software Magazine V22n3(May/Jun 2005)pp21-27 =POLL 20 MANAGERS PROCESS SATISFACTION AGILE All use some form of incremental delivery and face similar problems with deadlines and changing requirements, Some nonsignificant evidence that Agile companies tend to be more satisfied with project planning and customer relationships. 50% of both want developers that can work in a group. .Close .Open Chaaretal93 Jarir K Chaar & Michael Halliday & Inderpal S Bhandari & Ram Chillarege In-Process Evaluation for Software Inspection and test IEEE Trans Softw Eng VSE19n11(Nov 1993) pp1055-1070 .Box Separate dfect trigger from defect classiication. Classification done by author Othogonal Defect Classification(ODC) discussed comp.software-eng April 1995. .Close.Box .Close .Open ChaEtAl09 Hoon S Cha & David E Pingry & Matt E Thatcher What Determines IT Spending Priorities Commun ACM V52n8(Aug 2009)pp105-110 .See http://doi.acm.org/10.1145/1536616.1536644 (Virtual Extension) =POLL 2006 IT SPENDING ECONOMICS PROJECT REASONS CS372 Abstract .Box "Based on survey results from 1,495 business leaders we have derived some important insights into how factors such as industry type, firm size, state location, and past IT performance affect a firm's allocation of IT expenditures across business functions. Specifically, the survey data shows that the highest IT spending priorities of the respondents are in the areas of administration and production and distribution while the lowest priorities are in the areas of R&D and security." .Close.Box .Close .Open ChakrbortyLei04 Dipanjan Chakrborty & Hui Lei Extending the Reach of Business Processes IEEE Computer Magazine V37n4(Apr 2004)pp78-80 =IDEA BUSINESS PROCESS WORKFLOW WEBSERVICES SMS Email BPEL xBPEL WSDL BPEL ::= "Business Process Execution Language". Use data+calendar+... to find route to people. .Close .Open ChaeKwonBae00 Heung Seock Chae & Yong Rae Kwon & Doo Hwan Bae A cohesion Measure for Object-Oriented classes Software - Practice & Experience V30n12(Oct 2000)pp- =CASESTUDY Object-Oriented METRIC cohesion C++ TOOL HYSS .Close .Open Chaitin05 Gegory Chaitin Meta Math Pantheon Books NY NY 2005 =ESSAY MATH 42 GOEDEL TURING LIEBNITZ INFORMATION Argues that we need to stress creativity and imagination rather than formallity(Hilbert) .Close .Open Champeaux02 Dennis de Champeaux Software Engineering Considered Harmful Commun ACM V45n11(Nov 2002)pp102-104 =ESSAY ENGINEERING SCIENCE LOGIC PRACTICE C++UML VALIDATION Quotes Denning on the state of current software systems and being hired to fix messes that should not have occurred. Need for extensions to Hoare Logic to pointers and parallel processes. Seems to ignore work by Hoare, Lamport and others. .Close .Open Champauxetal93 Dennis Champeaux & Doug Lea & Penelope Faure Object-oriented System Development Addison-Wesley Redwood City CA 1993 532pp $48.50 ISBN 0-201-56355-X CR9408-0496 .Close .Open ChampauxFaure92 Dennis Champeaux & Penelope Faure A comparative study of object-oriented analysis methods Journal of Object-oriented Programming (Mar-Apr 1992)pp21-33. =COMPARISON OBJECT-ORIENTED METHODS .Close .Open ChanEtal01 William Chan & Richard J Anderson & Paul Beame & David H Jones & David Notkin & William E Warner Optimizing symbolic Model checking for Statecharts IEEE Trans Software Engineering V27n2(Feb 2001)pp170-190, also in ICSE'99 =EXPERIMENTS FORMAL VERIFICATION REQUIREMENTS STATECHARTS GRAPHIC LOGIC OPTIMIZATION RSML TCAS II BDD Electrical power distribution system order of magnitude improvements. .Close .Open ChandraGuptaHennessy94 Rohit Chandra & Anoop Gupta & John L Hennessy COOL: An Object-based Language for Parallel Programming IEEE Computer Magazine V27n8(Aug 1994)pp13-25 =IDEA LANGUAGE COOL OBJECT-ORIENTED extends C++ declare functions to be parallel shared objects controlled by declaring functions 'mutex' or non-mutex synchronization by monitors + condition variables and signals... benefits of data abstraction .Close .Open Chandrasekaran97 Periannan Chandrasekaran How use case modeling policies have affected the success of various projects (or how to improve use case modeling) OOPSLA'97 & ACM SIGPLAN notices V??n?(??? 1997)pp6-9 .See http://doi.acm.org/10.1145/274567.274569 =ANECDOTE USE CASE REQUIREMENTS OOSE Jacobson Tells conclusion from several large projects that used OOSE. Problems .List need details of all changes in system as use case proceeds Need comprehensive list of use cases involving users, a comprehensive and clean model of the human actors, and robust domain model. Include algorithms(business rules?) as regular requirements Use cases must capture all interfaces with external systems even if not human. The GUI is not the use case. One screen can trigger different use cases that are independent of each other. Keep the use case and domain model synchronized. Common well defined terminology. Use abstract use cases for algorithms. .Close.List An abstract use case is one that is not initiated by an actor and contains common steps abstracted from other use cases. Example: calculate discounts on sale. Notes that people expressed common algorithms and procedures as "business rules" (possibly in an attempt to fit them to SQL and AI style Rule Engines). Claims they should be expressed as (abstract) use cases. (dick)|- may be better to restrict business rules to invariants only?? .Close .Open ChandyMisra88 K Mani Chandy & Jayadev Misra Parallel Program Design: A Foundation Addison-Wesley Redwood City CA 1988 =DEMO UNITY NONSEQUENTIAL COMPOSITIONAL cited in .See [Staskauskas93] .See [LamShankar94a] .See [KayReed93] .See [Jonsson94] .See [CreveuilRoman94] .Close .Open Chang89 Shi-Kuo Chang(ed) Principles of Visual Programming Languages Prentice Hall Int. Englewood Cliffs NY 1989. =TUTORIAL graphic informal .Close .Open ChangC93 Carl K Chang Is Existing Software Engineering Obsolete?(editorial) IEEE Software Magazine V10n5(Sep 1993)pp4-5 =EDITORIAL ENGINEERING .Box Also wrote "How to solve the management crisis" Nov 1994 p15, reffred to in a letter Williams95 .Close.Box .Close .Open ChangCChristensen99 Carl K Chang & Mark Christensen A net practice for softwar project management IEEE Software Magazine V16n6(Nov/Dec 1999)pp80-88 =DEMO TOOL GRAPHIC SCHEDULE PLAN PROCESS PETRI PM-Net Better than hundreds of comercially available project management tools Petri nets with products decisions & constraints .Close .Open ChangEtal01 Carl K Chang & Jane Cleland-Huang & Shiyan Hua & Annie Kuntzmann-Combelles Function-class decomposition: a Hybrid Software Engineering Method IEEE Computer Magazine V34n12(Dec 2001)pp87-93 + letter from Dave Leigh IEEE Computer Magazine V35n3(Mar 2002)p6 =ADVERT METHOD FCD PURPOSE MODULE Object-Oriented UML Use-Case-map scenario M-Net =EXPERIENCE Handles reported problem of having too many types of objects .Close .Open ChangS-Ketal95 Shi-Kuo Chang & Gennaro Costagliola & Giulano Pacini & Genoveffa Tortora & Bing Yu & Jing-Sheng Yu Visual-language System for User Interfaces IEEE Software Magazine V12n2(Mar 1995)pp22-44 =IDEA LANGUAGE GRAMMAR for GRAPHICS GUI .Box Positional grammars and positional rules `S:= File Hor Arrow Hor OB` relational grammar. .Close.Box .Close .Open Chaochenetal91 Zhou Chaochen & C. A. R. Hoare & A. P. Ravn A calculus of durations Information Processing Letters V40( 1991)pp269-276 =MATHEMATICAL model of Time .Close .Open Chapelle07 Gregory Chapelle Comment on Risks to the Public May 1007, F-22 ACM SIGSOFT Software Engineering notes V32n4(Jul 2007)pp6-7 =LETTER RISKS FAILURE REQUIREMNTS TESTS DATELINE Jighter Jet Postmortem explanation of how an obvious test case (crossing the international date lien) was not noticed and so not tested for. Notes how scheduling pressure contributes to this kind of blindness. -- the need to be able to step back and see the whole picture. .Close .Open Chapman90 Gary Chapman Bugs in the Program "Viewpoint" Commun ACM (pp 251-252 ) Mar 1990 =IDEA RISKS .Close .Open [Chapman06] In Search of Stupidity: Over twenty years od high tech marketing disasters (2nd Edn) APress, Berkeley CA 2006 ISBN 1590597214 $CR 0801-0047 =UNREAD =EXPERIENCE MARKETTING SARCASM IBM Microsoft Apple MicroPro etc. .Close .Open Charette95 Robert N Charette How to Create a Successful Failure Commun ACM V38n5(May 1995)pp122(Inside RISKS) =HISTORY RISKS DISASTERS FAILURES COSTS PROCESS .List Never Plan, Exhibit extreme confidence, Take the most expedient solutions, Be simple Minded, Spawn situations with subtly interlinked decisions, Change decisions frequently, Practice Foolish inconsistency. .Close.List .Close .Open Charette05 Robert N Charette Why Software Fails IEEE Spectrum Magazine (Sep 2005)pp- =ADVERT RISK MANAGEMENT DISASTERS COSTS p44. Hall of Shame 1992..2005 Side boxes describe case studies Rounds up the usual .See [Charette95] suspects: .List Bad goals Bad estimates of needed resources Bad systems Requirement Poor project control and/or planning Bad communication ... Politics Commercial pressures .Close.List .Close .Open ChariSeshadri04 Kaushal Chari & Saravanan Seshadri Demystifying Integration Commun ACM V47n7(Jul 2004)pp59-63 =TAXONOMY STANDARDS BUSINESS (industry domain (independent | dependent ))><((data | business | presentation ) logic)><(( transport | data format | process ) level) .Close .Open Charles96 John Charles DoD Standards Go Global and Commercial IEEE Software Magazine V13N3(May 1996)pp98-99 Mil-Std498->-ANSI Trial Use Standard J-Std-016 =REPORT STANDARDS ONESIZE AGILE IEEE/EIA is adapting ISI/IEC 12207 Software Life Cycle Processes->- US Commercial S L C P standard US 12207 trends: several lifecycles(waterfall|incremental|evolutionary)+ less paper documentation and formal review+clearer distinction between true requirements and design choices Perry DeWeese: "A lot of the things that happen in Software development have there genesis before the sofware-development process starts" .Close .Open ChatterjeeRyderLandi01 Ramkrishna Chatterjee & Barbara G Ryder & William A Landi Complexity of Points-to Analysis of Java in the Presence of Exceptions IEEE Trans Software Engineering V27n6(Jun 2001)pp481-512 =THEORY JAVA COMPLEXITY .Close .Open Chatzigeorgiou03 Alexander Chatzigeorgiou Mathematical Assessment of Object-Oriented design quality IEEE Trans Software Engineering V29n11(Nov 2003)pp1050-1053 =THEORY QUALITY COLLABORATION METRICS DIGRAPH eigenvalues authority hub HITS example of two designs for a microwave oven. .Close .Open ChauChen03 Michael Chau & Hsichun Chen Comparison of three vertical search spiders IEEE Computer Magazine V36n5(May 2003)pp56-62 =SIMULATION NET/WEB NEURAL HITS BFS PageRank Hopfield Compared 3 algorithms on simulated 100K page subset of the web to see how well relevant medical pages could be found. PageRank formula had bad performance and relevance. Hubs and authorities may not be about medical things -- Adobe's page for example is an authority to define PDF! Breadth-first+priorities worked as well as a simulated Hopfield neural net at spotting relevant web sites. .Close .Open Chauvet95 Jean-Marie Chauvet Efficient use and reuse of object-oriented technology Software Development Magazine(Aug 1995)pp35-38 =EXPERIENCE REUSE PQRST ARCHITECTURE DOCUMENTATION TOOLS NOTATIONS .Box Reuse and standards are not automatic results of OOT Architecture: .Set Separate the data base (T) from the the GUI (T) the objects and rules of the Business Process Model (R) .Close.Set Need for business savvy programmers. Need to have indexed and linked model, design specs and code. Common notation: description, indexed and exposed designs etc Agreed non-waterfall but disciplined process supportive tools. .Close.Box .Close .Open Chavez00 Tom Chavez A Decision-analytic Stopping Rule for Valdiation of Commercial Software Systems IEEE Trans Software Engineering V26n9(Sep 2000)pp907-918 =MATHEMATICS BAYES STATITICS THEORY ECONOMICS RELIABILITY TESTS .Close .Open ChechikDevereuxEasterbrookGurfinkel04 Marsha Chechik & Benet Devereux & Steve Easterbrook & Arie Gurfinkel Multi-Valued Symbolic Model-Checking ACM TOSEM Trans Software Eng & Methodology V12n4(Oct 2003)pp371-408 =IDEA TOOL MODEL CHECKING CTL FSM Kripke Multi-valued LOGIC Quasi-Boolean Lattice \Chi\_CTL \Chi\_Check \Chi\_Kripke Extends classical {False, True} reasoning to {False, Maybe, True} values. Good for incomplete models found during analysis. Able to have multi-valued variables in: state of FSM, Transitions between states, satisfaction. meaning(EX(p)) := backward_image(RR)(meaning(p)). backward_image(RR)(TT) := map[s:S](multivalued_union[t:T](TT(t) multivalued_intersection RR(s,t) )). Implementation described in 2002 CSRG Tech Report 446, University of Toronto .Close .Open ChechikGannon01 Marsha Chechik & John Gannon Automatic analysis of consistency between Requirements and Designs IEEE Trans Software Engineering V27n7(Jul 2001)pp651-672 CR0203-0314 =CASESTUDY SCR REQUIREMENTS V&V DESIGN TOOL CORD ALGORITHM LANGUAGE LIGHTWIEGHT FORMAL .Close .Open Checkland81 ??? Checkland Systems Theory; Systems Practice John Wiley & Sons 1981 =monograph cybernetics USER System softsystems .Close .Open Cheek95 Martin Cheek Using Feedback to Improve Software Development IEEE Software Magazine V12n3(May 1995)pp89-90 =REPORT FEAST EVOLUTION PEOPLE SYSTEMS .Box Reports on research by Manny Lehman - complex social interactions explains why 20 years of technological innovations do not correspond with a significan improvement in the development process. The "Feast" Feedback Evolution And Software Technology. .Close.Box .Close .Open ChelfEbert09 Ben Chelf & Christof Ebert Ensuring the integrity of embedded software with static code analysis IEEE Software Magazine V26n3(May/Jun 2009)p96-99 =ADVERT RISKS =HISTORY TOOLS lint p97 Links to resources in sidebar. Six_detectable_defect_classes:= division by zero + memory leak + null pointer dereference + uninitialized variable + buffer overflow or underflow +inappropriate cast. .Close .Open Chen80 Peter Pin-Shan Chen(Ed) Entity Relationship approach to Systems Analysis and Design North Holland 1980 =TEXT ERD SAD data .Close .Open Chen04 Jing-Chao Chen Building a new sort function for a C library Software - Practice & Experience V34n8(10 Jul 2004)pp777-795 =ALGORITHM quicksort psort qsort C Psort is O(n log n) in worst and average cases. It includes some the optimizations in qsort developed by Jim Bentley and Doug McIlroy. Source: .See http://www.dhu.edu.cn/dhuwange/kxyj/Psort.htm .Close .Open ChenChuangTsai01 Ding-Yi Chen & Tyng-Ruey Chuang & Shi-Chun Tsai JGAP: A Java-based graph algorithms platform Software - Practice & Experience V31n7(Jun 2001)pp615-635 =DEMO GRAPH TOOL Java Source and docs at .See http://im.ncnu.edu.tw/~tsai/definite/JGAP/JGAP.html .Close .Open ChenDiosMiliWuWang05 Yaofei Chen & Rose Dios & Ali Mili & Lan Wu & Kefei Wang An Empirical Study of Programming Language Trends IEEE Software Magazine V22n3(May/Jun 2005)pp72-79 =POLL =HISTORY PROGRAMMING LANGUAGES Gathered data on what developers used, schools taught, and the primary language in companies. Dates: 1993, 1998, 2003 Java is becoming the top language. Developers appear to value machine independence and extensibility mosts, and dislike simplicity and ease of implementation. .Close .Open ChenGansnerKutsofios98 Yih-Farn Chen & Emden R Gansner & Eleftherios Koutsofios A C++ Data Model Suppoerting Reachability Analysis and Dead Code Detection IEEE Trans on Software Eng VSE-24n9(Sep 1998)pp682-694 =DEMO TOOL TECHNICAL CIAO EDG Acacia .See http://www.research.att.com/sw/tools/Acacia .Close .Open ChenR08 Raymond Chen The New Old Thing: practical development throughout the evolution of Windows Addison-Wesley Upper Saddle River NJ 2006 ISBN 0321440307 $CR 0807-0639 =UNREAD =ANECDOTES MICROSOFT PROCESS DESIGN WHY Reviewer: the essence of design is an compromise between competing forces in the presence of pressure and uncertainty. .Hole Chen08 .Close .Open Cheng93 Jingwen Cheng Parameterized Specifications for Software Reuse ACM SIGSOFT Software Engineering Notes V17n4 (Oct 1992)pp53-59 =IDEA generic polymorphic ADT specifications .Box Cheng93,Sample specifications included these attributes .List preconditons: behaviours: keywords: sideeffects: implementation: identifier: .Close.List .Close.Box .Close .Open ChengHeimdahl97 Betty H C Cheng & Mats P E Heimdahl Bridging the Gap between Informal and Formal Approaches to Software Development ACM SIGSOFT SEN V22n5(Sep 1997)pp83-84 =IDEA OMT+LARCH plan to provide OMT with Larch formalizations... .Close .Open ChengWang02 Betty H C Cheng & Enoch Y Wang Formalizing and Integrating the Dynamic Model for Object-Oriented Modeling IEEE Trans Software Engineering V28n8(Aug 2002)pp747-762 =EXAMPLE Object-Oriented model OMT DYNAMICS semantics LOTOS For UML see McUmberCheng01 .Close .Open ChenFuchsChung01 Shyh-Kwei Chen & Kent Fuchs & Jen-Yao Chung Reversible Debugging Using Program Instrumentation IEEE Trans Software Engineering V27n8(Aug 2001)pp715-727 =EXPERIMENT DEBUGGING TOOL C TECHNICAL wraparound history buffer. .Close .Open ChenJ97 Jen-Yen Jason Chen CSPL: An Ada95-like UNIX-based Process Environment IEEE Trans software Engineering VSE23n3(Mar 1997)pp171-184 =IDEA ADA ENVIRONMENT UNIX .Close .Open ChenNishimotoetal90 Y-F Chen & M Y Nishimoto & CV Ramamoorthy The C Information Abstraction System IEEE Trans SE-16n3 pp325-334 =DEMO language ENGINEERING data .Close .Open ChenPaul01 Chaomei Chen & Ray J Paul <@brunel.ac.uk> Visualizing a Knowledge Domain's Intellectual Structure IEEE Computer Magazine V34n3(Mar 2001)pp65-71 =SURVEY GRAPHIC 3D MODEL CITATIONS ACA := "Author Cocitation Analysis". SCI := "Science Citation Analysis". MDS := "Multidimensional Scaling". MSP := "Minimum Spaning Trees".. Landscape tools: Spire themescape, VxInsight, PathFinder PathFinder steps:= citation structure; essential connections; intellectual groups; citation history impact. (dick)|- `why isn't time a dimension?`. .Close .Open ChenTseZhou02 T Y Chen & T H Tse & Zhiquan Zhou Semi-Proving: an Integrated Method Based on Global Symbolic Evaluation and Metamorphic Testing Proc ISSTA02 & ACM SIGSOFT Software Engineering Notes V27n4(Jul 2002)pp190-195 =EXAMPLE SYMBOLIC TESTING INVARIANT PROPERTIES Symbolically execute all paths to verify invariant results under changes of input. Example1: all permutations of 3 numbers have the same median. A mutated program will not satisfy the same test. .Close .Open CheonLeavens94 Yoonsik Cheon & Gary T Leavens The Larch/Smalltalk Specification Language TOSEM V3n3(Jul 1994)pp221-249 =DEFINITION LARCH SPECIFICATION MODULES Smalltalk OO .Box First Larch Spec language with both subtyping and inheritance. Description of LSL etc.. *Separate conceptual types from implemented classes. Type inference interface spec .As_is Header .As_is returns .As_is requires .As_is modifies .As_is ensures .As_is Trait specs .As_is includes .As_is introduces .As_is Asserts .As_is ... generated by ... .As_is ... partitioned by .... .As_is Axioms .Close.Box .Close .Open Cherry92a George W Cherry Graphic Formalisims Should Integrate Communication, Control, and Data Flow ACM SIGSOFT Software EngineeringNotes V17n2(Apr 1992)pp64-69 =ADVERT GRAPHIC writing is not ENGINEERING .See [Cherry92b] .Close .Open Cherry92b George W Cherry Software Construction by Object-Oriented Pictures: Specifying Reactive & Interactive Systems Thought**Tools Inc. dist Dorset House Publishing New Your NY 10014-9982 ISBN 0-9625003-0-5 =TEXT .Close .Open ChesnevarMaguitmanLoui00 Carlos Iván Chesñevar & Ana Gabriela Maguitman & Ronald Prescott Loui Logical models of argument ACM Computing Surveys V32n4(Dec 2000)pp337-383 =HISTORY 1950-99 FORMAL DIALECTIC DEFEASIBLE CONSISTENCY REASON ARGUMENT PLAUSIBLE AGENTS AI LAW NONMONOTONIC Formal logic is reasoning that can not be defeated. Normal reasoning is not like this. Detailed, difficult and hard to read. No ref to work on inconsistent requirements. Small comment on OO inheritance. .Close .Open Chetali98 Boutheina Chetali Formal Verification of Concurrent Programs Using the Larch Prover IEEE Trans Soft Eng V24n1(Jan 1998)pp46-62 =EXPERIENCE UNITY LARCH SQA NONSEQUENTIAL SAFETY LIVENESS .Close .Open CheyneRitter01 Tanya L Cheyne & Frank E Ritter Targeting Audiences on the Internet Commun ACM V44n4(Apr 2001)pp94-98 =EXPERIENCE WEB/NET Usenet polls 1 in 10K respond from Usenet. 8% complain (all from UK). More like a focus group. Banner adds with incentive is fruitful. Search engines are promising. Problem: anonymity, dishonesty, and multiple submissions. .Close .Open CheungKramer94 Shing Chi Cheung & Jeff Kramer Tractable Dataflow analysis for Distributed Systems IEEE trans on Soft Eng vSE-20n8(Aug 1994)pp579-593 =PAPER STD/FSM CORRECTNESS NONSEQUENTIAL .Close .Open ChidamberKemerer94 S R Chidamber & C F Kemerer A Metrics Suite for Object-Oriented Design IEEE Trans SE V2?n?(??? 1994)pp467-493 =IDEA METRICS OBJECT-ORIENTED .Close .Open Chikofsky(ed)88 Various authors Special Issue on the emergence of CASE IEEE Software v5n2(Mar 1988) =MAGAZINE tools graphic DFD ERD Technical .Close .Open ChikofskyCross90 Elliot J Chikofsky & Lames H Cross II Reverse Engineering and Design recovery: A Taxonomy IEEE Software V7n1(Jan 1991)pp13-17 =DEFINITIONS REVERSE ENGINEERING .Close .Open ChinEtAl06 George Chin Jr & Eric C Stephen & Debbie K Gracio & Olga A Kuchar & Paul D Whitney & Karen L Schuchardt Developing concept-based user interfaces for scientific computing IEEE Computer Magazine V39n8(Sep 2006)pp26-34 =DEMO HCI VISUALIZATION EXPLICIT GRAPHIC ONTOLOGIES MINDMAPS WORKFLOWS SCENARIOS VMWEB RCM-PSE SKFAM Intereting and useful: visual front end to a data base. In the 1980's FileVision on the Mac let you associate graphics with data input as forms into a data base.... Now add useful tools: libraries of processes for a workflow as an example. .Close .Open ChirouzeClearyMitchell05 Olivier Chirouze & David Cleary & George G. Mitchell A software methodology for applied research: eXtreme Researching Software - Practice & Experience V35n15 (Dec 2005) pp1441-1454 =EXPERIENCE DISTRIBUTED XP Erickson .Close .Open Chisholm94a John Chisholm The Art of Software Design Part II UNIX Review V12n4(Apr 1994)pp17-20 =ESSAY PROCESS .List Investigate: use all resources to gather all possible data users, problem, technology Taxonomy: user's goals, all aspects name, hierarchy Organisation: user goals parallel congruent to program functions Epiphany (Aha!): creative thinking ---> unified vision (metaphors) Dramatization: Scenarios based on goals Iteration: Repeat until USER goals match requirements .Close.List .Close .Open Chisholm94b John Chisholm Mail-enabled Applications: Part I UNIX Review V12n6(Jun 1994) =ARTICLE EMAIL UNIX See .See [Chisholm94c] .Close .Open Chisholm94c John Chisholm Mail-enabled Applications: Part II UNIX Review V12n7(July 1994) =ARTICLE EMAIL UNIX See Part I .See [Chisholm94b] .Close .Open Chittaro06 Luca Chittaro Visualizing information on Mobile Devices IEEE Computer Magazine V39n3(Mar 2006)pp40-45 =DEMO MOBILE USER INTERFACE DATA DISPLAY HCI HALOS Relevance Need to create new ways to display data on mobile device. .Close .Open Chmuraetal90 L J Chmura & A F Norcio & T J Wicinski Evaluating Software Design Processes by Analyzing Change Over Time IEEE Trans SE-16n7(Jul 1990)pp729-740 =case-study lifecycle .Close .Open ChoiZeller02 Jong-Deock Choi & Andreas Zeller Isolating Failure-Inducing Thread Schedules Proc ISSTA02 & ACM SIGSOFT Software Engineering Notes V27n4(Jul 2002)pp210-220 =DEMO TOOL TECHNIQUE TESTING Delta-Debugging NONSEQUENTIAL DEJAVU JAVA Jalapeno Tool found smallest difference in schedules that caused an error to occur. Based on .Seeee ZellerHildebrandt02 .Close .Open ChomskiSchutzenberger63 Naom Chomski & ?? Schutzenberger The Algebraic Theory of Context-free Languages pp 118-161 in Braffort Hirschberg 63 =theory languages topology SEMINAL .Close .Open Choobinehetal92 Joobin Choobineh & Michael V Mannino & Veronica P Tseng A Form Based Approach for Database Analysis and Design Commun ACM V35n2(Feb 1992)pp108-120 CR9305-0337 =DEMO DDD DATA EXPERT cardinallities to determine structure EDDS ERA NORMALISATION System Reality .Close .Open Chorost05 Michael Chorost Rebuilt: How becoming part computer made me more human Houghton Mifflin NY NY 2005 ISBN 0-618-37829-4 =ESSAY COCHLEAR IMPLANT HUMANITY GEEK CYBORG DEAFNESS How do you feel when what you hear depends on a program written in C and you can read the source code? Excellent discussion of science fictional treatments of cyborg's, androids, and the Butlerian Jihad in Dune. Much more... .Close .Open Chow(Ed)84 Software Quality Assurance IEEE Computer Society Tutorial =TUTORIAL SQA QUALITies V&V DESIGN .Close .Open Christensen94 Mark J Christensen(Northrop ESDiv) Would you do this to your customer? IEEE Software magazine v11n1(Jan 1994)pp12 .Close .Open ChristensenCM97 Clayton M Christensen The Inovator's Dilemma: When new Technologies cause Great Firms to Fail Harvard Business School Press Boston MA 1997 ISBN 0-87584-585-1 CR9802-0061 =HISTORY =THEORY ECONOMICS of INNOVATION Applied to software development in pp180-182 .See [Highsmith99] Doing the right things (research, listening to customers, finding improvements and profits) helps an organization fail to develop new makets/values that ultimately eclipses the normal. new_technology = sustaining_technology | disruptive_technology. Disruptive technology re-creates the market with new values and metrics and initially shows comparatively low profits, performance, and market. Historical examples: disk drives, mechanical shovels, motor bikes, Quicken, ... Sustaining tech fits given customers but disruptive tech discovers new customers that fit the given tech. New customers who need less performance at a lower price, higher convenience, and/or higher reliability. Disruptive is down-market. There are more reasons and profit to move up-market than down-market. Disruptive technology undermines the old market. It starts with a tiny unpredictable new one. Agnostic marketing! Survival: create small separated suborganisation with room to fail and learn. Don't ask the customer; watch them. K.I.S.S.! Uses trajectory maps showing performance (supply and demand) vs time. cf. Kuhn's paradigm shift in science. Thom's Catastrophe theory. Koestler's matrix shift. Toynbee's David and Goliath. .Close .Open ChristensenChang96 Mark J Christensen(Northrop ESDiv) & Carl Chang Blueprint for the Ideal Requirements Engineer IEEE Software magazine V13n3(Mar 1996)p12 =ESSAY SYSTEM REQUIREMENTS RE continues thruout the life cycle embracing end-to-end responsibillity and allowing only smooth and controlled evolution based on understanding the concrete application domain RE language needs to be formal with both text and graphical notations. .Close .Open Christy09 Peter Christy Commentary: A Trip without a Roadmap ACM Queue V7n1(Mar 2009) .See http://queue.acm.org/detail.cfm?id=1515746 =CASE STUDY REVIEW TECHNOLOGY REQUIREMENTS RIA FITNESS PERFORMANCE USER Review of .See [Norwalk09] No user requirements -- straight to technological solution. Performance an afterthought. Quote .Box A good start is to not imagine what users want or need, but instead to talk with them about it. Try to walk in their shoes and understand how your software might help make their lives better (or not, as in this case). If you don't have time to do that yourself, then you should at least work with good product marketing people and listen to what they have to say. .Close.Box .Close . 2009-07-10 Fri Jul 10 10:09 Who killed Technology One persistent theme in software development is the mismatch betwen the technology that the developer knows and loves vs the culture+systems+users within which the the technology is deployed. So here is the first example of a cool technology not acheiving its stated objectives because of political and economic forces. I plan a whole series on this topic.... .Open Chroust86 G Chroust(IBM Vienna) Backtracking in Software Process Models p64-68 in .See [Dowson86]. =case-study non-sequential lifecycle .Close .Open ChungNixonYuMylopoulos99 Lawrence Chung & Brian A Nixon & Eric Yu & John Mylopoulos Non-functional Requirements in software engineering Kluwer Acad Norwell MA 2000 ISBN 0-7923-8666-3 QA76.758 .N65 1999 =THEORY+CASESTUDYs FORMAL NFR SOFTGOALS SIGs GRAPHICS TABLES LOGIC QUALITIES REALITIES SYSTEMS TECHNIQUES Accuracy, security, performance, SIG:= "Softgoal Independency Graph", pp17+48+85 presenting arguments connecting statements independently of their (boolean) value: "dialectical style of reasoning". refinements and correlations {BREAK, HURT, UNKNOWN, HELP, MAKE}, AND, OR, EQUAL. denied, undecided, satisficed. Consolidates and summarizes: .See [MylopoulosChungNixon92] .See [BorgidaMylopoulosReiter93] .See [ChungNixonYuMylopoulos99] .See [MylopoulosChungYu99] .See [MylopoulosChungLiaoWangYu01] also see .See [Nixon00] .Close .Open Church56 Alonzo Church Introduction to mathematical logic: Volume I Princeton Univ Press 1956 No17 in Princeton mathematical series =TEXT LOGIC Skolem normal form in section 42 &43 .Close .Open ChurchillBly99 Elizabeth F Churchill & Sara Bly Virtual Environments at Work: ongoing use of MUDs in the WOrkplace ACM SIGSOFT SE Notes V24n2(Mar 1999)pp99-107 (Proceedingd of WACC'99) =EXPERIENCE using MUDs to aid software development Supports: maintaining relationships+coordination+reduces time for som interaction .Close .Open Chusho93 Takeshi Chusho What makes Software Tools successful? IEEE Software Magazine V10n5(Sep 1993)pp63-65 .Close .Open CiancariniFranzeMascolo00 P Ciancarini & F Franze & C Mascolo Using a Coordination Language to Specify and Analyze Systems Containing Mobile Components ACM TOSEM Trans Software Engineering & Methodology V9n2(Apr 2000)pp167-198 =IDEA LANGUAGE MOBILE PoliS MODEL-CHECKING TUPLE-SPACES vs CHAM UNITY .Close .Open CiapessoniEtal99 Emanuelle Ciapessoni & Alberto Coen-Porisini & Ernani Crivelli & Dino Mandrioli & Piergiorgio Mirandola & Engelo Morzenti From Formal Models to Formally Based Methods: An Industrial Experience ACM TOSEM V8n1(Jan 1999)pp79-113 CR9906-0432 =EXPERIENCE TRIO FUNCTIONAL NONFUNCTIONAL PERFORMANCE Make haste slowly. EVOLUTION Adding formalism to existing .Close .Open CicaleseRotenstreich99 Cynthia Della Torre Cicalese & Shmuel Rotenstreich Behavioral specification of distributed component interfaces IEEE Computer Magazine V32n7(Jul 1999)pp46-53 =THEORY COMPONENTS RELIABILITY IDL CORBA JAVA RMI BISCOTTI::=Java+contracts .Close .Open CiolkowskiLaitenbergerBiffl03 Marcus Ciolkowski & Oliver Laitenberger & Stefan Biffl Software Reviews: The State of the Practice IEEE Software Magazine V20n6(Nov/Dec 2003)pp46-51 =POLL 226 SQA WALKTHROUGHS INSPECTIONS ISERN IESE VISEK .Set Why: to improve quality and enforce standards. When: 40% requirements and design, 30% code. 20..40% have regular reviews. What: 20% have no formal procedure for selecting what is reviewed. Individual preparation: only 40%. using checklists, ad hoc, simulation and other t echniques. Meeting: 40% Followup: 35% Monitor and optimize: 25% ( data collected 60%) Effectiveness estimate: varies from 0 to 100%. 50% in 21..60%. .Close.Set .Close .Open ClabenHartmutWolz93 Ingo Claben & Ehrig Hartmut & Dietmar Wolz Algebraic Specification techniques and tools for software development: The ACT approach World Sci Pub Co River Edge NJ $38 ISBN 981-02-1227-5 .Close .Open Clark73 R. Lawrence Clark A Linguistic Contribution to GOTO-less Programming Datamation, December 1973. Reprinted in Comm ACM, April 1984 =JOKE LANGUAGES COMEFROM proposed the comefrom statement. .Close .Open ClarkB00 Bradford K Clark Quantifying the effects of Process Improvement on Effort IEEE Software Magazine V17n6(Nov/Dec 2000)pp65-70 =POLL ESTIMATION CMM 161 projects, ... 1 CMM level can reduce effort by 4%..11% .Close .Open ClarkD00 David Clark Are Too Many Programmers Too Narrowly Trained? IEEE Computer Magazine V33n6(Jun 2000)pp12-15 =INTERVIEWS EDUCATION quotes norman matloff(UCD), les hatton, constantine, davis, & roger Pressman narrow ==> cheap&fast to hire==> inefficient&bad work Confuses training progammers with educating computer scientists. .Close .Open ClarkeGrumbergPeled99 Edmund M Clarke Jr & Orna Grumberg & Doron A Peled Model Checking MIT Press 1999 ISBN 0-262-03270-8 QA 76.76 V47 C553 1999 =MONOGRAPH FORMAL LOGIC CTL MODEL CHECKING SMV SPIN OBDDS KRIPKE SYMMETRY GROUPS CSUSB cs565/656 .Close .Open ClarkeRosenblum06 Lori A Clarke & David S Rosenblum A Historical perspective on runtime assertion checking in Software Development ACM SIGSOFT Software Engineering Notes V31n3(May 2006)pp25-37 =HISTORY ASSERTIONS LOGIC PROVING DEBUGGING Ada Eiffel Anna C++ Euclid Turing Excellent bibliography on pages 34-37 .Close .Open ClarkeWing96 Edmund M. Clarke & Jeannette M. Wing Formal Methods: State of the Art and Future Directions ACM Computing Surveys V28n4(Dec 1996)pp625-643 =SURVEY .Close .Open Cleaveland79/80 James C Cleaveland Mathematical Specification SIGPLAN v??n??(1979 or1980) p31-41 .Hole =DEMO formal .Close .Open CleavelandParrowSteffen93 Rance Cleaveland & Joachim Parrow & Bernhard Steffen The Concurrency Workbench: A Semantics-Based Tool for the Verification of Concurrent Systems ACM ToPLAS V15n1(Jan 1993)pp36-72 CR (C.2.2) Tool analysing non-sequential CCS Mu-calculus using Standard ML .Close .Open CleavelandSmolkaEtal96 Rance Cleaveland & Scott A Smolka et al Strategic Directions in Concurrency Research ACM Computing Surveys V28n4(Dec 1996)pp607-625 =SURVEY NONSEQUENTIAL concurrency@cwi.nl .Close .Open Cleland-HuangChangChristensen03 Jane Cleland-Huang & Carl K Chang & Mark Christensen Event-Based Traceability for Managing Evolutionary Change IEEE Trans Software Engineering V29n9(Sep 2003)pp796-810 =DEMO REQUIREMENTS PUBLISH CHANGES ARTIFACTS SUBSCRIBE DOORS Event-Notifier EBT See .See http://re.cti.depaul.edu/ebt/ .Close .Open Cleland-HuangEtAl07 Jane Cleland-Huang & Raffaella Settimi & Eli Romanova & Brian Berenbach & Stephen Clark Best Practices for automated traceability IEEE Computer Magazine V40n6(Jun 2007)pp27-35 =ADVERT POIROT REQUIREMENTS TRACEABILITY TOOL =HOWTO IMPROVE DOCUMENTATION Detailed technical description of a tool that extracts links between documents in a software project. Describes a model of requirements and other artifacts: from Business Goals to Feature, Business use case, system use case, component, concrete ability, release, and product. Advice: create traceable artifacts .Set Use a project glossary Write good requirements: correct, unambiguous, complete, prioritized, verifiable, understandable, identifiable, etc. Structure the documents: headlines and sections. Uncover/create synonyms across domains. Create `rich content`: document the domain properties that link system requirements to user requirements. (dick)|- this is a special case of M A Jackson's recent thinking. -- .Find [Jackson0] .See [Vickers07] .Close.Set Plan and introduce automatic tools/processes to maintain and/or expose traces. .Close .Open Cleland-HuangMarreroBerenbach08 Jane Cleland-Huang & Will Marrero & Brian Berenbach Goal-Centric Traceability: Using Virtual Plumblines to maintain critical Systemic qualities IEEE Trans Software Engineering V34n5(Sep/Oct 2008)pp685-699 =CASESTUDIES REGRESSION TESTING QUALITIES KAOS QAM SIG SOFTGOALS i* ATAM GCT GCT::acronym="Goal Centric Traceability". Put tests for qualities into regression testing and derive tests from goals. Tests can be done statically or by running code. But are automatically traced to impacts on quality goals. QAM::acronym="Quality Assessment Methods", These may be manual or automatic. They can be: executable models(simulations), Manually evaluated models, Runtime monitors, or test cases. Develops from .See [Cleland-HuangEtAl07] .Close .Open Clemenconetal96 Christian Clemencon & Bodhisattwa Mukherjee & Karsten Schan Distributed Shared Abstractions(DSA) on Multiprocessors IEEE Trans Soft Eng VSE22n2(Feb 1996)pp132-152 =DEMO NET NONSEQUENTIAL DATA ABSTRACTION HARDWARE .Close .Open ClementBesselaar93 Andrew Clement & Peter Van den Besselaar A retrospective look at PD Projects Comm ACM V36n6(Jun 1993)pp29-37 =POLL EXPERIENCE Participatory DESIGN JAD USER STAKEHOLDER PD REQUIREMENTS PD:="Participatory Design". Took 25 published (at IFIP) projects and got 15 response to questionaire. Selected 10 most substantive. Claims there had been hundreds of PD projects. Results include temporary empowerment, technologists thinking outside of the box, mostly accurate requirements -- but not necessarily in the market. PD is a complex process with far reaching implications to an organization and so involves juggling many competing forces. Need to address immediate needs and have an insider. All goals, plans, and rationales have to be continuously discussed and revized. Politics! .Close .Open ClementsEtal02 Paul Clements & David Garlan & Len Bass & Judith Stafford & Robert Nord & James Ivers & Reed Little Documenting Software Architectures: Views and beyond Pearson Education, Upper Saddle River NJ 2002 ISBN 0201703726 $CR 0411-1291 =UNREAD ARCHITECTURE VIEWS STYLES UML Notes .Hole .Close .Open ClementsJonesNorthropMcGrego05 Paul G Clements & Lawrence G Jones & Linda M Northrop & John D McGregor Project Management in a Software Product Line Organization IEEE Software Magazine V22n5(Sep/Oct 2005)pp54-62 =CASE STUDY PRODUCT LINE DOMAIN MANAGEMENT ASSETS VARIATIONS EVOLUTION REUSE Though similar maintaining and extending a product line requires some changes in traditional approaches. Lists similarities and differences. Adding a product to an existing line is based on the assembly of existing assets. Choosing the correct new product involves assessing both the existing assets and products as well as the traditional analysis. .Close .Open Cline96 Marshall P Cline The Pros and Cons of Adopting and Applying Design Patterns in the Real World Comm ACM V39n10(Oct 1996)pp47-49 Objects allow hinges and patterns resolve dilemmas in nonfunctional requirements .Close .Open Cloyd01 Molly Hammar Cloyd Designing User-Centered Web applications in web time IEEE Software Magazine V18n1(Jan/Feb 2000)pp62-69 =EXPERIENCE FAST WEB B2B APPLICATIONS USER How to introduce human factors methods into a reluctant development organization. Usability and first-time-to-market are now "must have" qualities. 1: user, 2: low tech prototypes prove concept, 3: storyboard, 4: module = use case+screen mockups, 5: others develop modules. .Close .Open Coad88 P Coad Jr Design Approaches & DoD-STD-2167 ACM SIGSOFT Software Engineering Notes v12n1 (Jan 1987)p50 =ESSAY lifecycle .Close .Open Coad90 Peter Coad Object Oriented Analysis Object Int & Ed Yourdon Press Prentice Hall NJ =HANDBOOK object-oriented SAD DFD ERD STD .Close .Open Coad92 Peter Coad Object-Oriented Patterns (Special Issue: Modeling) Comm ACM V35n9(Sep 1992)pp152-159 .Close .Open Coadetal95 Peter Coad with David North & Mark Mayfield Object Models: Strategies & Patterns & Applications Prentice Hall 1995 $49 ISBN 0-13-108614-6 CR9607-0462:"based on talks?" ref in Software Development Magazine(Jul 1995)p35 .See [Coadetal95a] with disk .Close .Open Coadetal95a Peter Coad(mailto: coad@oi.com) with David North(dnorth@aig.com) & Mark Mayfield(mayfield@oi.com) title Software Development Magazine(Oct 1995)pp39-50 .See [Coadetal95] DEMO OBJECT-ORIENTED MODELS SCENARIOS strategies tactics .Close .Open CoadLefebvre99 Peter Coad & Eric Lefebvre Modeling in Color Software Development Magazine V7n3(Mar 1999)pp39-140 =THEORY use Color for common analysis class stereotypes: role, time, thing, description .Close .Open CoadMayfield97 Peter Coad & Mark Mayfield Designing with Interfaces for Java Software Development V5n4(Apr 1997)pp47-48+50+52+54 .Close .Open CoadNorthMayfield97 Peter Coad & David North & Mark Mayfield Object Models: Strategies, Patterns, and Applications Yourdon Press(Prentice Hall Int) 1997 ISBN 0-13-840117 $48 =TEXT OO MODELS OMT UML PATTERNS reviewed ACM SIGSOFT Software Eng Notes V23n3(May 1998)pp123-126 "cute style" 148 strategies + 31 design patterns Playground::=http://ww.oi.com/playground.htm .Close .Open CoadNicola93 Peter Coad & Jill Nicola Object-oriented Programming Yourdon Press Englewood Cliffs NJ 1993 ISBN 0-13-032616-X CR9502-0058 =ADVERT .Close .Open CoadYourdon91 Peter Coad & Edward Yourdon Object Oriented Design Yourdon Press Prentice Hall NJ 1991 =HANDBOOK object-oriented coupling and cohesion problem domain+HCI+task management+data management Review: Alejandro Teruel IEEE Computer Magazine V25n3(Mar 1992)p125 CR9404-0198 .Close .Open CoadyKiczalesFeeleySmolyn01 Yvonne Coady & Gregor Kiczales & Mike Feeley & Greg Smolyn (UBC) Using AspectC to improve Modularity of Path-Specific Customization in Operating System Code ACM SIGSOFT proc ESEC-8 FSE-9 Software Engineering Notes V26n5(Sep 2001)pp88-98 =CASESTUDY ASPECTS MODULARITY FreeBSD C Layered architectures work well with OS's but some decisions can not be confined to a single layer but drill down through many layers. Aspects let this be handled in a modular way by encapsulating cross-cutting concerns. .Close .Open CobbEtal98 Maria A Cobb & Harold Foley III & Ruth Wilson & Miyi Chung & Kevin B Shaw An OO Database Migrates to the Web IEEE Software magazine V15n3(May/Jun 1998)pp22-30 =EXPERIENCE OBJECT-ORIENTED Geographic DATA CORBA JAVA SMALLTALK IDL NET/WEB .Close .Open CobleighAvruninClarke08 Jamieson M Cobleigh & Gregory Avrunin & Lori A Clarke Breaking up is Hard to do: An Evaluation of Automated Assume-Guarantee Reasoning =EXPERIMENT TOOL AUTOMATED VERIFICATION NONSEQUENTIAL Ada Code FLAVERS LTSA ACM TOSEM Trans Software Eng & Methodology V17n2(Apr 2008)#7pp1-52 Given a system with two or parallel subsystems can we compute the necessary and sufficient conditions for the whole to perform as specified. FSF::="Finite State Verification". Using the L* algorithm to find assume-guarantee conditions can slow the process but doesn't waste memory. Some assume-guarantee conditions discovered where large: 250 states. Not known if this is the best one. .Close .Open Cockburn96 Alistair Cockburn The 3 Rings of Object Technology Object Magazine (Nov 1996) pp20-22 DATA MODEL vs OBJECT-ORIENTED: structure vs changes. Modeling data on disk vs data in organization conceptual+logical+physical. Date model quicker. SCENARIOS:channel effort test completeness and variations. .See [CRC] encourages creativity. .Close .Open Cockburn00 Alistair Cockburn .See arc@acm.org Characterizing People as Non-Linear, First-Order Components in Software Development Proc SCI/ISAS2000 VI pp728-736 .See [SCI00] =EXPERIENCE 20 projects PEOPLE AGILITY ONESIZE A commonly observed pattern by methodologists and tool smiths .Box The people on the projects were not interested in learning our system. They were successfully able to ignore us, and were still delivering software, anyway. Almost any methodology can be made to work on some project. Any methodology can manage to fail on some project. Heavy processes can be successful. Light processes are more often successful, and more importantly, the people on those projects credit the success to the lightness of the methodology. people are .List are communicating beings, doing best face-to-face, in person, with real-time question and answer. have trouble acting consistently over time. are highly variable, varying from day to day and place to place. generally want to be good citizens, are good at looking around, taking initiative, and doing "whatever is needed" need both think time and communicating opportunities. work well from examples. prefer to fail conservatively than to risk succeeding differently prefer to invent than to research can only keep a small amount in their heads, and do make mistakes find it hard to change their habits. .Close.List Individual personalities easily dominate a project. A person's personality profile strongly affects their ability to perform specific assignments. paper documentation is the least effective communication medium available. .Close.Box .Close .Open Cockburn 00b Alistair Cockburn selecting a project's methodoloist IEEE Software Magazine V17n3(Jul/Aug 2000)pp64-71 =IDEA PEOPLE before MEHODS size and criticallity(fear) drive ve need for bigger methods. nonlinear method->cost, d cost/d method is large. consider priorities and reconsider them later. face-to-face communicates better than paprr .Close .Open Cockburn00c Alistair Cockburn Balancing Lightness with Sufficiency Cutter IT Journal V13n11(Nov 2000)pp26-33 =ARTICLE METHODS PROCESSES PROJECT p26. "software development can be thought of as a cooperative game of invention and communication with limited resources." .See http://members.aol.com/humansandt/crystal/game Start with closest fitting methods. Need to tune and prune procedures to fit particular projects needs as they evolve. Hunting for sweet spots. No substitute for rapid feedback. technology >< team size >< damage potential >< culture. See .See [Cockburn00?] What is sufficient for now may be insufficient when the team is gone. A team has an insufficient methodology when it does not communicate often or well enough for its members to carry out their work. Crystal_Clear::=http://members.aol.com/humansandt/crystal/clear .Close .Open Cockburn02 Alistair Cockburn Games Progremmers Play Software Development Magazine V10n2(Feb 2002)pp28-32 =IDEA PROCESS GAME THEORY Software development considered as a game of invention and communication. Primary goal: deliver software that fits problem space. Secondary goal: leave tracks to make the next game easier to win. .Close .Open Cockburn03 Alistair Cockburn Agile Software Development Addison-Wesley Boston MA 2001 ISBN 0-201-69969-9 US$34.99 Reviewed IEEE Software Magazine V20n1(Jan/Feb 2003)pp97-98 and .See [CR] 0305-0454 .See [CR] 0307-0652 =HANDBOOK IDEAS PROCESS AGILE Communication+collaboration+insight+study+practice+experimentation .Close .Open CockburnHighsmith01 Alistair Cockburn & Jim Highsmith what IEEE Computer Magazine V34n11(Nov 2001)pp131-133 =ADVERT AGILE PEOPLE trump Process .Close .Open CODASYL71 CODASYL Database Task Group CODASYL Database Task Group report ACM NY NY 1971 =STANDARD data logic ENTITIES SETS(FUNCTIONS) .Close .Open Codd70 ?? Codd A Relational Model for Large Shared Data Banks Commun ACM 13 6 (Jun 1970) pp 377-387 (also CACM25) =DEMO data structures System .Close .Open Codd82 ?? Codd Relational Databases: a practical foundation for productivity Commun ACM v25 n2 Feb82 pp109-117 =DEMO data structures .Close .Open Codenieetal97 Wim Codenie & Koen De Hodt & Patrick Steyaert & Arlette Vercammen From Custom Applications to Domain-Specific Frameworks Comm ACM V10n10(Oct 1997)pp71-77 =EXPERIENCE REUSE GENERIC need more than fill-in-the-blanks (hotspots); must document how-to+effort of reuse as a contract .Close .Open Codephirst07 Colin Codephirst (alias) & Nail Maiden (ed) From the horse's mouth IEEE Software Magazine V24n6(Nov/Dec 2007)pp21-23 =JOKE REQUIREMENTS SPECIFICATION WORST PRACTICES .Close .Open Codephirst09 Colin Codephirst (alias) & Nail Maiden (ed) Where have all the stencils gone? IEEE Software Magazine V26n4(Jul/Aug 2009)pp =HISTORY STENCILS FLOWCHARTS =JOKE REQUIREMENTS Technique was easy and fun to use, impressed the stakeholders, and contributed little to understanding the problem. Compare .See [Codephirst07] .Close .Open Coen-Porisinietal91 Alberto Coen-Porisini & Flavio De Paoli & Carlo Ghezzi & Dino Mandrioli Software Specialization Via Symbolic Execution IEEE Trans SE-17 n9 (Sep 1991)pp884-899 CR9302-0092 =DEMO logic symbolic execution re-engineering specialization .Close .Open Coen-Porisinietal94 Alberto Coen-Porisini &Richard A Kemerer & Carlo Ghezzi & Dino Mandrioli A Formal Framework for ASTRAL Intralevel Proof Obligations IEEE Trans on Soft Eng vSE-20n8(Aug 1994)pp548-561 =MATHEMATICAL PROOF FORMAL TIMING FSMS .Close .Open Coen-Porisinietal97 Alberto Coen-Porisini & Carlo Ghezzi & Richard A Kemerer Specification of Realtime Systems using ASTRAL IEEE Trans on Soft Eng vSE-20n8(Aug 1994)pp548-561 =ADVERT SPECIFICATION TIMING LANGUAGE .See [Coen-Porisinietal94] .Close .Open Cohen79 ?? Cohen Non-Deterministic Algorithms ACM Comp Surveys 11 2 (Jun 1979) pp79-94 =SURVEY non-sequential optimization .Close .Open Cohen90 Jacqes Cohen Constraint Logic Programming Languages Commun ACM V33n7(Jul 1990)pp52-68 =DEMO CLP non-sequential AI .Close .Open Cohen04 Jaques Cohen Bioinformatics: an Introduction for computer Scientists ACM Comput Surveys V36n2(Jun 2004)pp122-158 =SURVEY BIOINFORMATICS BIOLOGY .Close .Open CohenBirkinGarfieldWebb04 Cynthia F Cohen & Stanley J Birkin & Monica J Garfield & Harold W Webb Managing Conflict in Software Testing Commun ACM V47n1(Jan 2004)pp76-81 =INTERVIEWS 10 TESTERS PEOPLE MANAGEMENT PROCESS Uncovered (obvious) sources of conflict and proposes resolutions. Example: Time is scarce. So: Plan for overruns, manage schedule changes, learn from experience. p79: Managers matter: "The developers fired the manager". .Close .Open CohenCampbell93 Donald Cohen & Neil Campbell Automating Relational Operations on Data Structures IEEE Software Magazine(May 1993)pp53-59 Example: topological sort on page 54 .Box do( x' in graph & no y in graph(y before x); out:!x; graph:~x; ) .Close.Box .Close .Open Cohenetal97 Don Cohen & Martin S Feather & K Narayanaswamy & Stephen S Fickas Automatic Monitoring of Software Requirements .See [ICSE'97] =IDEA FLEA AMOS .Close .Open CohenFeldman04 Yossi Cohen & Yishai A Feldman Automatic High-Quality Reengineering of Database Programs by abstraction, Transformation and Reimplementation ACM TOSEM Trans Software Eng & Methodology V12n3(Jul 2003)pp285-316 =EXPERIENCE TOOL MIDAS REENGINEER network to RELATIONAL DATAbase COBOL SQL PERFO RMANCE simple translation of procedural code to relational/SQL leads to slow data base response. Need to abstract the plan for the legacy code. Used Plan Calculus with Query graphs. .Close .Open CohenHarwoodJackson86 B Cohen & W T Harwood & M I Jackson The specification of Complex cystems Addison Wesley Wokingham UK 1986 UCR Rivera QA76.9.s88 1986 =theory nonsequential specification VDM .Close .Open Cohn04 Mike Cohn User Stories Applied: for agile software development Addison-Wesley 2004 ISBN 0-321-20568-5 =UNREAD USER REQUIREMENTS AGILE XP .Close .Open CohnFord03 Mike Cohn & Doris Ford Introducing an agile Process to an Organization IEEE Computer Magazine V36n6(Jun 2003)pp74-78 =EXPERIENCE AGILE PROCESS PEOPLE RISKS Scrum programmer: .Box initially need a balance of scepticism and enthusiasm. Need top talent. Can initially classify Scrum sprints as "prototyping","requirements capture, ... "stabilization". Do not use a distributed development team initially.... especially after a merger. culture clash. Some initially see agile as micromanagment. .Close.Box Testers: don't let them program! If they want to then hire them as programmers! Testing is up front and managers get involved. Manager problems: promise customers what? What progress now? How does it effect xyz? When is the end of the project? Involve Human Resources! Performance reviews without predicted deliverables? .Close .Open CoistagliolaEtal06 Gennaro Coistagliola & Vincenzo Deufemia & Filomena Ferrucci & Carmine Gravino Constructing Meta-CASE workbenches by exploiting visual language generators IEEE Trans Software Engineering V32n3(Mar 2006)pp156-175 =DEMO GRAPHIC TOOLS for PROCESSES CASE UML GXL MEG WoG GXL::XML="Graph eXchange Language". MEG::Tool="Modeling Environment Generator". WoG::Tool="WOrkbench Generator". VLDesk::="Visual Language Desk" Figure 1 shows Cannallen's UML icon's for web components. Uses analysis/robustness diagrams with entity+interface+control classes. Examples of UML models of tools: meta-CASE. In usecase diagram replaces include by INCLUDED and extends by EXTENDED. Adds artifacts to activity diagrams and adds a dashed arrow indicating a constraints between artifacts. .Close .Open ColbergThomborson02 Christian S Colberg & Clark Thomborson Watermarking, Tamper-proofing, and Obfuscation -- tools for Software Protection IEEE Trans Software Engineering V28n8(Aug 2002)pp735-746 =IDEA SECURITY RISKS ETHICS TECHNICAL Intellectual Property Security has has long been about protecting host systems from attacks by mobile code. This articles looks at protecting mobile code from abuse by its host! .Close .Open Colbert02 Ed Colbert Avionics architecture Description Language ( AADL ) IEEE Los Angeles Chapter Bulletin (Jan 2002) p6 =ABSTRACT DESIGN LANGUAGE UML MetaH TOOLS STANDARD SAE Automotive avionic Full paper presented at chapter meeting 8pm Jan 9th 2002, Los Angeles. .Close .Open Coleman79 Derek Coleman A Structured Programming Approach to Data Springer Verlag NY 1979 =DEMO sequential DDD language data .Close .Open Colemanetal94 Derek Coleman & Patrick Arnold & Stephanie Bodoff & Helena Gilchrist & Fiona Hayes & Paul Jeremaes Object-oriented development: the FUSION Method Prentice Hall Englewood Cliffs NJ 1994 ISBN 0-13-338823-9 CR9502-0058 =HOWTO OBJECT_ORIENTED MODEL FORMAL CRC BOOCH REGULAR ERD OMT COLLABORATION HP Combination of OMT Booch CRC and some formal methods. Prefigures UML and RUP, Subsumed in OPEN. Uses regular expressions to express dynamics. Unusually precise definitions! .Close .Open ColemanHayesBear92 Derek Coleman & Fiona Hayes & Stephen Bear Introducing ObjectCharts or How to Use Statecharts in Object-Oriented Design IEEE Trans SE-18n1(Jan 1992)pp9-18 CR9301-0026 =IDEA ObjectCharts OBJECT GRAPHIC STD STATECHART Harel .Close .Open CollierDeMarcoFearey96 Bonnie Collier & Tom DeMarco & Peter Fearey A Defined Process for Project Postmortem Review IEEE Software Magazine VSE13N4(Jul 1996)pp65-72 How to do a Postmortem::= anonymous survey; collect objective data; debriefing; project history day; publish; act .See http://www.wildfire.com/research/postmortems.html .Close .Open Collins02 Rosann Webb Collins Software localization for Internet software: Issues and methods. IEEE Software Magazine V19n2(Mar/Apr 2002)pp74-80 =EXPERIENCE PROBLEMS INTERNATIONAL WEB/NET examples: date formats, one graphic: meaningful, meaningless, holy, or even obscene! .Close .Open CollinsBicknell98 Tony Collins & David Bicknell Crash: learning from the world's worst computer disasters Simon and Schuster London Uk 1998 ISBN 0-684-81687-3 =ANECDOTE RISK COST PQRST HISTORY 1830-1998 UK USA ... Simplify and standardize before you computerise. Cost is three times bigger than your most meticulous estimate. Big systems fail. Disastors happen when techies have control. Especially if they have power. Make sure you have a Plan B for when a new system fails -- even if all the tests and diligence seem to make failure impossible. Run old in parallel with old. Do one piece at a time. A computerized system that depends on its users acting perfectly or differently will fail. Plan for human errors and shortcuts. Cancel software development that will have no tangible benefits within 6.months .. 1.year. Instead buy COTS and change the organisation to fit it. Customers must be experts and sceptics. Know what is needed here and what has been done elsewhere. Better to do it yourself than use consultants or even local MIS. Avoid big-bangs. Go incremental. Normally a project fails and neither the customers nor the suppliers are to blame - they say. Lawyers profit. Don't set or accept artificially tight deadlines. Ten deadly sins: overambition, pride, presumption, credulity, consultancy, modification, concealment, buck-passing, lawyers. Suggestions: .List CEO must remain in control and be reay to terminate project. First tune existing system to 80% of capacity and simplify business procedures to 2 sides of A4 paper. Proceed warily. Put business ahead of technology. Look for a system that needs no changes and is minimally proprietary. Choose Lowest level technology: ( PCs < workstations/minis < mainframes ) Get a complete list of all consultant's clients. Demand clear explanations - no meaningless jargon. Technical designers should work as or with end-users for a week/month/year before designing a new system. Freeze design before developing new software. Suppliers will still misundertand it. Further features or users will be added after system has succeeded and not before. Fixed price contract with consultant: We won't pay until it works to our satisfaction. Two stages: up to a complete frozen written spec., and after spec. if it beneficial in < 6 months. Have evidence system can handle expected loads/demands. Include data design and setup costs. Look for cheap but reliable ways to populate any databases Go live in small steps. No miracles! Instead the new system will be worse than the old, but slowly some benefits will appear. Big systems fail. Keep It Simple. No more than one year at a time. Best if less than 6 months. Computerize one bit at a time. Expect to throw the first attempt away. .Close.List .Close .Open Collinsetal94 W Robert Collins Keith W Miller & Bethany J Spielman & Phillip Wheery How Good is Good Enough? An Ethical Analysis of Software Construction and Use Commun ACM V37n3(Jan 1994)pp81-91 .Box Presumes quality assurance is limitted to discussion and testing. Case study with inadequate analysis/design and bad cut-over plan. Tables of obligations between provider, buyer, USER, and penumbra Applies Rawls Theory of Justice. Concludes possibility of suits under theories of negligence, misrepresentation, strict liability, & malpractice. Notes that malpractice applies the standard of care of the appliction area, not that of software production! Does not ref Mumford refs McFarland91 .Close.Box .Close .Open CollofelloBuck87 James S Collofello & Jeffrey J Buck Software Quality Assurance for Maintenance IEEE Software V4n5(Sep 1987)pp46-51 =REPORT SQA QUALITY .Close .Open Colmerauer90 Alain Colmerauer An Introduction to Prolog III Commun ACM V33n7(Jul 1990)pp68-90 =LRM logic-programming non-sequential AI .Close .Open Colonna93 Jean-Francois Colonna The Subjectivity of Computers(Letter) Commun ACM V36n8(Aug 1993)pp15-18 = ESSAY RISKS .Box Numerical errors and dependence on initial conditions. Hypercard shows no differences due to associativity over 60 iterations! Assumes that floating point is computing? .Close.Box .Close .Open Colwell02 Bob Colwell Near Misses: Murphy's Law Is Wrong IEEE Computer Magazine V35n4(Apr 2002)pp9-12 =ESSAY EXPERIENCE RISKS ENGINEERING vs SCIENCE Learning from mistakes. eg. Challenger. Hubble. Mars Climate Orbiter etc. Engineers often can not afford a replicated scientific experiment -- especially testing something to destruction! "To engineer is human" -- Petroski85: never make the same mistake twice. "Failure is not an option" -- Gene Kranz 2000: NASA pushing the envelope means design mistakes so need test pilots. Erroneous sqrt vs 1.5 safety factor in aircraft wing design. Engineers must do two different things: design to achieve perfection and design as though errors are going to be made. A pattern: major failure occurs in unusual circumstances: three mile island & Chernobyl. Often as a result of humans in the loop. Perrow 1999: Normal accidents: Living with High-Risk Technologies: Coupling and interactions make systems harder to control and understand. James Chiles 2001: Inviting Disasters: Lessons from the Edge of Technology: Murphy is wrong -- things can fail to go wrong many times before a big disaster happens in the same way. "Near misses are nature's way of telling us something's wrong, and we'd better fix it fast." However: repeatedly getting away with something makes us feel that it is safe. The near disaster becomes the norm. Hence the requirements a bent a bit. Disasters are averted by deep understanding of the system and all its quirks plus the ability to keep ones head when all else are losing their's. Example lightening hitting Apollo 12. Emotional stress effects judgment. Beware management manipulation: "do you want your boss to know how stupid you are?", "We go with or without you"(sign off and they will blame you). "Take off your engineering hat and think like a manager..", "Ships are not supposed to be docked safely in the harbor all the time". User friendly designs can hide how close to disaster the user is/was. .Close .Open Colwell03 Bob Colwell Design Reviews IEEE Computer Magazine V36n10(Oct 2003)pp8-10 + letter V36n12(Dec 2003)p6-7 =ANECDOTES PEOPLE DESIGN QUALITY INSPECTION SQA Article describes some disastrous design reviews. Jesse N Alexander's letter gives some rules: .List Reviews (informal high level discussion) are not inspections(formal and detailed error hunt). No Managers allowed. Meeting metrics must measure the process not the people. Define the Roles. Criticize the design not the designer. No design allowed. .Close.List .Open Colwell04 Bob Colwell Brainstorming, influence, and icebergs IEEE Computer Magazine V37n4(Apr 2004)pp9-12 =EXPERIENCE PEOPLE MEETINGS .Close .Close .Open Colwell04b Bob Colwell Interface Quotas and Internet-Derived Value IEEE Computer Magazine V37n12(Dec 2004)pp10-11 =ESSAY USER SAFETY SIMPLICITY WEB/NET Keep user interfaces similar to old & thouqht-free. Use internet to simplify & unify user interfaces. .Close .Open Comaford95 Christine Comaford What's Wrong with Software Development? Software Development Magazine(Nov 1995)pp27..28 9 RISKS problems and solutions .Box 1. understand your business better 2. understand your users better 3. manage developers better 4. better infrastructure for applications 5. understand the real mening of RAD 6. more reliable estimation for client/server development 7. control prototypes 8. better architectures 9. better testing .Close.Box .Close .Open CommonerHoltEvenPnueli71 F Commoner & ?? Holt & ?? Even & ?? Pnueli Marked Directed Graphs Jnl Computer and Systems Sciences V5pp511-523 =THEORY formal graphic petri nets non-sequential My reduction of this work is in .See http://www/dick/maths/math_76_Concurency.html#Marked%20Directed%20Graphs .Close .Open ComputerworldStaff05 Computerworld Staff Computerworld Development Survey gives nod to C# Computerworld (Mar 28 2005) .See http://www.computerworld.com/printthis/2005/0,4814,100542,00.html =POLL LANGUAGES C# JAVA VB JavaScript C++ API .Net IDE Linux Open Source Summary by ACM TechNews .See http://technews.acm.org/articles/2005-7/0404m.html#item8 50% use some open source code. 72% C#, 66% Java, 62% Visual Basic, 54% C++, 50% JavaScript... 58% Web Services being developed .Close .Open Conallen98 Jim Conallen Modeling Web Application Design with UML .See http://www.rational.com/uml/resources/whitepapers/dynamic.jtmpl?doc_key=100462 new stereotypes: server, client, xml, form, target, ... .Close .Open Conallen99 Jim Conallen(jconalle@Rational.com) Modeling web application architectures with UML Commun ACM V42n10(Oct 1999)pp63-70 in .See [Booch99] =ESSAY WWW/NET DESIGN UML stereotypes vs .See [RMM] Also see .See [Conallen98] on the WWW web application implement business logic and when accessed changes the state of the business. Separate business ADM from presentation UI. ADM:=Analysis/Design model classes: separate client side pages from server side pages. serverside builds clientside. components: Iconic stereotypes stereotypes for: server pages, client pages, links,builds, form, parts of forms, frame, target, applets, javascript, activex,... Details to be announced .See http://www.rational.com/ .Close .Open Conallen01 Jim Conallen Modeling Web-Tie Components Software Development Magazine V9n1(Jan 2001)pp49-55 =ADVERT WAE MODEL WWW UML WAE ::= Web Application Extension. Proposes new sereotype: <>, >, <>, <>, <, >, <>, <>, <, <>, <>, <> Note: `uses dependency arrows backwards and associations for behaviorial dependencies`. Compare with .See [Conallen00] .Close .Open Conallen02 Jim Conallen Building Web Applications with UML (2nd edn.). Addison-Wesley Pearson Boston MA 2002 ISBN 0-201-73038-3 .See [CR] 0305-0332 =TEXT WEB/NET HTML UML USER UX PQRST XML workflows process JavaScript Java ActiveX/COM RMI/IIOP DCOM UDDI SOAP WSDL A thorough coverage of web site development using UML based on authors own practice and experience. WAE::="Web Application Extension", not OMG standard but Rational Profile. Uses statecharts to map out transitions between web pages. UX::="User experience". Uses the Objectory icons for Interface, Control, and Entity objects. Describes development Processes using UML but does not use OMG SoftProc Modelling02-11-14.pdf but Rational's 27070_BusinessModeling.pdf See .See [Conallen01] .See [Conallen00] .Close .Open ConcasEtAl07 Giulio Concas & Michele Marchesi & Sandro Pinna & Nicola Serra Power-laws in a large Object-Oriented Software System IEEE Trans Software Engineering V33n10(Oct 2007)pp687-708 =EMPIRICAL STATISTICS OBJECT-ORIENTED METRICS Pareto Log-normal Yule Power-law POWER LAWs Measured metrics on three large OO development tools to determine distributions of properties. Found patterns: most metrics have a log-normal or Pareto distribution. Quoted theories for these distributions. Noted that for these distributions extreme values are more likely than the normal/chi-square/t family of distributions. The mean value is not a good estimated of position. Basic process: number of entities have a numeric property. Entities are picked at random and the chosen entities property is increased. How many entities will have a given range of properties? If the each entity has the same chance and the same change is made the resulting distribution is binomial. If the size of the increase depends on the value of the property the distribution is log-normal. (Yule process): If the increase is fixed but the chance if the entity being chosen depends on the property value then the distribution is Pareto. (log-normal): p(x) = if(x<0, 0, (1/sqrt(2*\pi))*exp(-(ln(x)-\mu)**2/(2*\sigma**2))). Example metrics: #methods/class, #all instance variables/class, #LOC/class, class out-degree (see note below). (Pareto): p(x) = if(x