by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract Describes architecting and the task of the architect, with emphasis on bridging the why, what and how of a product. The memory usage of a medical workstation is used as practical illustration. The introduction of a system architect in an architecture unaware organisation is described. A metamorphosis takes place from a threatening meddler into an appreciated indispensable team member. Distribution This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This document is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the document remains complete and unchanged. status: finished architect How much memory do you use? That is too much! engineer asks questions uncovers problems has nicest job for many engineers the system architect = threat or menace
Where is Gerrit in multi-d organisation space? line Philips Medical Semi- conductors CE Components Research NatLab CTT IST ISM EST ISD ISH healthcare SARCH SWA IPA ESAS IT program projects FAM SW reuse IA Gerrit Muller DM comp DS AV PB PvdH LRTO Heartcare HO 2 Gerrit Muller MSorganisation
Who is Gerrit? What is Gaudí? CT OSS NM X-ray MR EasyVision manager system engineering Gaudi Philips Medical ASML Philips NatLab 1980 1990 2000 Gaudi = consolidation education transfer + exploration + application consultation facilitation of system architecting 3 Gerrit Muller MSwhoIsGerrit
Practical illustration; a medical imaging workstation typical clinical image (intestines) URF-systems EasyVision: Medical Imaging Workstation 4 Gerrit Muller MSeasyVision
Problem: unlimited memory consumption (1992) total measured memory usage O S code data bulk data fragmentation performance 0 MB memory usage physical paging to disk memory 64 200 MB 5 Gerrit Muller MSmemoryZeroMeasurement
Solution: measure and iterative redesign 200 MB fragmentation anti-fragmenting bulk data data code budget based awareness, measurement DLLs 74 MB OS measured tuning budget 6 Gerrit Muller MSmemoryUsageReduction
Method: budget per process Budget: + measurable + fine enough to provide direction 30 20 10 0 10 MByte dll's UI communication server storage server print server other UNIX measured (left column) + coarse enough to budget per process (right column) be maintainable 7 Gerrit Muller MSmemoryBudgetAnnotated
Integration uncovers hidden problems component 1 scheduled closing date realized closing date component 2 component 3 integration and test component 4 delay Do you have any design issues for the design meeting? During integration numerous problems become visible The default answer is: No. 8 Gerrit Muller MSintegration
Architecting scope solution context fitting architect technical sound context technology including individuals (human factors) including stakeholders including designers (process) technology only people scope architect system architect product line architect function product product line portfolio architect product scope portfolio 9 Gerrit Muller MSarchitectingScope
Architecture awareness essential team member threat menace perception of architect hard shared labour, end of integration 2 aware, begin of integration poor, crisis 5 4 3 1 mood mutual respect, begin of project unaware, before integration good 10 Gerrit Muller MSawarenessPath
The engineer s perception of the architect How much memory do you use? asks questions uncovers problems That is too much! has nicest job architect engineer for many engineers the system architect = threat or menace 11 Gerrit Muller MSthreatOrMenace
Understand the customer to drive design choices What does Customer need in Product and Why? Customer What Customer objectives Product Customer Product How How What Application Functional Conceptual Realisation key drivers: * throughput * diagnostic quality * film saving - street price 50k$ * 3 exam rooms per exam: * 20 images * auto-print on 3 sheets decomposition antifragmentation DLL's measured 200 MB budget 74 MB 12 Gerrit Muller MSeasyVisionCAFCR
Method to detect problems: Question generator How about the <characteristic> of the <component> when performing <function>? functions query DB render film play movie next What is the memory usage of the user interface when querying the DB brightness import server user interface print server database server export server characteristics memory usage processing latency SNR accuracy component 13 Gerrit Muller MSquestionGeneratorEasyVision
Conclusion meddling architect marketing application service manufacturing mechanics optics electronics software team full of heroes 14 Gerrit Muller MSmeddlerAndHeroes
Benchmarking certainty predictability optimization agility "informatica" curriculum in the Netherlands SEI (CMU) INCOSE IEEE1471 scope Gaudi ambition technology only including process including stakeholders full life cycle including business and human factors 15 Gerrit Muller MSbenchmarking
Some Acknowledgements Hammer, Dieter Hoogenstraaten, Wil Mueller, Juergen Gieles, Hans Eggenhuisen, Huib Kloprogge, Raymond Engel, Bas van Rijnsoever, Bart Driesen, JGH Schelkers, Raymond van der Heijden, Jaap Vermeulen, Gerry Stroucken, Marc Wijnstra, Jan Gerben Algra, Egbert Derks, Frans Faber, Albert Aarts, Peter Watabe, Yasuma van Ouwerkerk, H Huijnen, Ton Gonot, Mathieu van Splunter, Andre van Rooijen, Joost Verberkt, Mark van der Linden, Wim Patrzalek, Jarek Vergoossen, Theo Gijsbers, Rob Huis in 't Veld, Robert Joosten, Jan Mulder, Alwin de Wit, Paul Poesse, Jan Spaak, Wim Thus, Frank van Velden, Jeroen van Venrooy, Roland Dobbelsteen, Jan de Waal, Klaas Muijen, M Peters, Jo van Bommel, Pieter Jan Thijssen, Henk Boot, Gert Jan Vullings, Erik Vermeer, Ad Peeters, Bob Obbink, Henk Bas, Han Rankers, Adrian Akiwumi-Assani, Olu Gopalan, Rajaraman Misdom, Han Schatorie, John Boer, Richard Penners, Maurice America, Pierre Jaspers, Peter Versteijlen, Joost Beelen, Peter Blijd, Jarl Dijkema, Marcel Roelandt, Werner Janson, Paul Bandakka, Mahesh Ledeboer, Jodie Geron, Nic Zieringer, Peter Beuk, Leo Koolen, Gertjan Koushik, Sudeendra Milosevski, Vlatko van den Broek, Ger de Kruif, Peter Daenen, Steven Soepenberg, Gerben Bingley, Peter Follon, Roel Elzinga, Onno van den Donker, Piet Zwaans, Ben Harmsze, Francoise Jansen, Tom van Gogh, Clemy Wissink, Getty Engelsma, Erwin Stut, Wim Luttikhuizen, Paul Bruin, Jan Gooren, Huub den Dekker, Wim van der Laak, Eric Crins, Wim Heerink, Lex Schippers, Alef Schreppers, Jurgen Deckers, Robert van Balen, Auke Huiban, Cristian van Loon, Gerard van den Heuvel, Patrick Lobo, Lincoln van de Meulenhof, Dennis Houtepen, Rob Hofsink, Robert Buurman, Hans Zondag, Eddy Veldmans, Ferdinand Merkus, Paul van Tuijl, Frank Wouters, Kees van der Sterren, William Soede, Michiel van Bommel, Luc Krikhaar, Rene van den Brink, Johan Ham, Kees Bos, Erik Pijpers, Frank Medema, Jeroen Kaag, Bjorn Giesselman, Timo Vos, Frans de Greef, Pierre Fischer, Stefan Pu, Xuemei Boom, Sjirk ten Pierick, Henk Stroucken, Louis Young Tai Liu van der Steen, Marcel Siereveld, Ad van Bakel, Gerian Engbers, Rene van Wetten, Frank Stevers, Frank Wubben, Rob Schellingerhout, Nico Vugts, John 16 Gerrit Muller MSacknowledgements
Gaudí homepage http://nlww.natlab.research.philips.com:8080/ research/swa_group/muller/ containing: more than 30 recent articles and or presentations course material SARCH, ESA stakeholders, OOTI req eng links on this homepage: this presentation annotated text background information Medical Imaging original documentation Medical Imaging MeddlerOrSaviorSlides.pdf MeddlerOrSaviorPaper.pdf MedicalImagingPaper.pdf oldpresentations.html 17 Gerrit Muller MSgaudiHomepage
FAQ Answers to frequently asked questions 18 Gerrit Muller
Architecture and research? The technology management cycle Exploration of new ideas Exploration of new ideas Application of technology Application of technology Consolidation of know how Research Consolidation of know how Product Division 19 Gerrit Muller TechnologyManagementCycle
Is architecting scientific? mathematics physics medicine human hard sciences prove prediction statistics descriptive reasoning charlatan soft handwaving certainty confidence evidence based architecting methods plausible convincing legend hard science crypto biometric identification human example: security factor soft science no science 20 Gerrit Muller MSarchitectureAndScience
Guiding how 1. Functional Decomposition acquisition compress encoding display decompress decoding storage Pipeline 3. Allocation 2. Construction Decomposition view play browse audio video TXT tuner drivers scheduler OS Performance etc. networking MPEG DSP CPU RAM Resource usage 4. Infrastructure framebuffer filesystem etc Exception handling Device abstraction 5. Choice of integrating concepts 21 Gerrit Muller LWAarchitectureHow
The architect as integrator breadth of knowledge generalist generalist depth of knowledge 22 Gerrit Muller MATcomplementaryExpertises
The architect maintains technical roots breadth of knowledge depth of knowledge all-round aspect architect systems architect root knowledge 23 Gerrit Muller MATfromSpecialistToSystemArchitect
sheets that didn t make it into the final presentation 24 Gerrit Muller
Memory Budget; too detailed data 30 20 10 0 MByte UNIX shared libraries UI communication server storage server print server other code 10 20 measured (left column) budget per process (right column) 25 Gerrit Muller MSmemoryBudget
Engineers perception; too detailed, too much text Engineers feeling Which can be nasty, if you don't have any answer Or worse, a problem is hiding underneath A judgement is given Meddling in my backyard, without any substantial know how While we are busy with detailed bug fixing and maintenance Every question or problem explodes into an even more extensive set of questions and problems caused by architect's activity illustrated by examples of architect - Asks questions - Identifies risks and problems - Voices opinions - Does have holes in know how - Does the nice work - Does not provide definite answers or solutions How much memory do you use? Your functions together use more memory than provided That is too much behavior Takes decisions without knowing how memory intensive a hashed dictionary is Makes a toplevel design, for instance a memory budget What happens if we have many small images? Or if we have very large images? 26 Gerrit Muller MSengineerPerception
Integrating CAFCR; too glossy What does Customer need in Product and Why? Customer What Customer How Product What Product How Customer objectives Application Functional Conceptual Realization context understanding intention objective driven opportunities constraint awareness knowledge based 27 Gerrit Muller MSintegratingCAFCR
Architect characteristics; too detailed, too much text Engineers perception Required characteristic of the architect - Asks questions - Identifies risks and problems - Voices opinions - Does have holes in know how - Does the nice work - Does not provide definite answers or solutions Questions are the primary tool of an architect + Prevention is valuable + Focus, selection is key, which requires vision and choices + Sometimes the architect needs to dive in deep + There is more nice work needed than we ever can do + Keeps repeating the previous actions 28 Gerrit Muller MSarchitectCharacteristics
Question generator; other domain How about the <characteristic> of the <component> when performing <function>? functions characteristics accuracy processing memory usage browse play game play movie record show broadcast latency SNR video processor What is the latency induced by the graphics generator when browsing graphics generator mixer monitor control tuner component 29 Gerrit Muller MSfunctionSubsystemCharacteristic
Architecture Awareness Phases; too complex 100% number of known problems architect appreciation 20% 10% 0% project team architectural coverage phase 1 phase 2 architect starts phase 3 phase 4 phase 5 mood architecture awareness happy unaware problems nagging awareness crisis threat trouble- shooting buils up credit amazement 30 Gerrit Muller MSphasesArchitectureAwareness