[ITK-dev] ITK Architectural Patterns & Quality Attributes for Research
Michael Skeen
mmskeen at gmail.com
Tue Nov 8 10:38:13 EST 2016
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.mccormick at 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 <mmskeen at 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
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-developers/attachments/20161108/6fb67e64/attachment.html>
More information about the Insight-developers
mailing list