Matt, Thank you for the excellent and thorough response! We will use this information in our research.
Michael On Mon, Nov 7, 2016 at 9:37 AM, Matt McCormick <matt.mccorm...@kitware.com> wrote: > Hello Michael et al, > > Thank you for your interest in ITK. Some follow-up on the patterns and > attributes with pointers to additional information and attributes can > be found below. > > > On Sat, Oct 15, 2016 at 4:39 PM, Michael Skeen <mmsk...@gmail.com> wrote: > > Hello ITK Community, > > > > > > I am part of an undergraduate research group focusing on software > > architecture patterns and quality attributes at Utah Valley University. > We > > recently analyzed the work published on ITK in the Architecture of Open > > Source Applications (AOSA) and referenced it in a paper we presented at > the > > 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), as > > attached. As a part of our continuing research we wish to validate our > > architectural analysis for ITK with the current developers. > > > > > > We would like to know if we are missing any patterns or quality > attributes > > that may have been included in ITK, or if there are any we listed that > > aren’t used. Any additional comment on these topics you might have would > > also, of course, be welcome. > > > > > > We believe we found the following software architectural patterns in this > > application: > > > > > > Pattern Name | Is This Found in the Architecture? (yes / no / don't > know) | > > Comments (optional) > > > > Pipes & Filters > > Yes. More information can be found in the Data Processing Pipeline > section of the ITK Software Guide: > > https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch3. > html#x34-390003.5 > > > > > Plugin > > Yes. See, for example the ImageIO system: > > https://itk.org/Doxygen/html/classitk_1_1ImageIOBase.html > > > > > Other? > > Yes. See, for example the Architecture section of the ITK Software Guide: > > https://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1pa2. > html#x33-26000II > > > > > We also identified the following quality attributes: > > > > > > Attribute Name | Is This Found in the Architecture? | Comments (optional) > > > > Usability > > Yes. We work hard on developer usability. See, e.g. > > https://itk.org/ITK/help/documentation.html > > > > Extensibility > > Yes. We recently developed an extensible module system for the toolkit. > See > > https://blog.kitware.com/advance-itk-with-modules/ > > > > Flexibility > > Yes. For example, see the image registration framework, which can be > adapted to new problems: > > http://journal.frontiersin.org/article/10.3389/fninf.2014.00044/full > > > > Maintainability > > Testability > > Yes and yes. For more information, see: > > http://journal.frontiersin.org/article/10.3389/fninf.2014.00013/full > > > > The additional attributes also apply: > > > Scalability. We support image processing through streaming. > > > Performance. ITK is a high performance toolkit that makes an effort to > perform well on multi-core, many-core, and GPGPU systems. See, for > example: > > http://www.insight-journal.org/browse/publication/972 > > > Portability. ITK is portable across many platforms, including x86_64 > Linux, Windows, Mac OSX, but also ARM architectures, Android, POWER8, > and JavaScript. See > > https://blog.kitware.com/compile-cc-into-javascript- > with-emscripten-and-docker/ > > > Modularity. Yes, since ITK version 4, ITK is organized into Groups and > Modules. > > > Cost. Legality. ITK has a strong focus on collaborative, open source > development to sustainably create one of the most powerful medical > image analysis libraries in the world. There is also an explicit > attention to legality: ITKv4 is licensed as Apache 2.0, and algorithms > with software patents are excluded from the library. > > > Thanks, > Matt > > > > > > For your convenience, we have a complete list below of the patterns and > > quality attributes we referred to when conducting our research. To > clarify, > > we are specifically studying architectural patterns, rather than design > > patterns such as the GoF patterns. > > > > > > Architectural Patterns Considered > > > > > > Quality Attributes Considered > > > > Active Repository > > > > > > Scalability > > > > Batch > > > > > > Usability > > > > Blackboard > > > > > > Extensibility > > > > Broker > > > > > > Performance > > > > Client Server > > > > > > Portability > > > > Event System > > > > > > Flexibility > > > > Explicit Invocation > > > > > > Reliability > > > > Implicit Invocation > > > > > > Maintainability > > > > Indirection Layer > > > > > > Security > > > > Interceptor > > > > > > Testability > > > > Interpreter > > > > > > Capacity > > > > Layers > > > > > > Cost > > > > Master and Commander > > > > > > Legality > > > > Microkernel > > > > > > Modularity > > > > Model View Controller > > > > > > Robustness > > > > Peer to Peer > > > > > > > > Pipes and Filters > > > > > > > > Plugin > > > > > > > > Presentation Abstraction Control > > > > > > > > Publish Subscribe > > > > > > > > Reflection > > > > > > > > Rule-Based System > > > > > > > > Shared Repository > > > > > > > > Simple Repository > > > > > > > > State Based > > > > > > > > Virtual Machine > > > > > > > > > > Please respond by October 25th, if possible. > > > > Thank you for considering our request, and for your continued work on > ITK. > > > > > > Sincerely, > > > > > > Michael Skeen, with > > > > Erich Gubler, > > > > Danielle Skinner, > > > > Brandon Leishman, > > > > Neil Harrison, Ph.D. (advisor) > > > > > > Reference: Neil B. Harrison, Erich Gubler, Danielle Skinner, "Software > > Architecture Pattern Morphology in Open-Source Systems",WICSA, 2016, 2016 > > 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), 2016 > > 13th Working IEEE/IFIP Conference on Software Architecture (WICSA) 2016, > pp. > > 91-98, doi:10.1109/WICSA.2016.8 > > > > > > > > > > _______________________________________________ > > Powered by www.kitware.com > > > > Visit other Kitware open-source projects at > > http://www.kitware.com/opensource/opensource.html > > > > Kitware offers ITK Training Courses, for more information visit: > > http://kitware.com/products/protraining.php > > > > Please keep messages on-topic and check the ITK FAQ at: > > http://www.itk.org/Wiki/ITK_FAQ > > > > Follow this link to subscribe/unsubscribe: > > http://public.kitware.com/mailman/listinfo/insight-developers > > >
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Kitware offers ITK Training Courses, for more information visit: http://kitware.com/products/protraining.php Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/insight-developers