Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

27 lines
1.4 KiB

Design Considerations for TriBITS
---------------------------------
Some of the basic requirements and design goals for TriBITS are outlined in
the `TriBITS Overview`_ document.
.. ToDo: Discuss design requirements for TriBITS in more detail.
As stated in `TriBITS Dependency Handling Behaviors`_, `No circular
dependencies of any kind are allowed`_. That is, no TriBITS package (or
its tests) can declare a dependency on a `downstream`_ package, period! To
some, this might seem over constraining but adding support for circular
dependencies to the TriBITS system would add significant complexity and
space/time overhead and is a bad idea from a basic software engineering
perspective (see the *ADP (Acyclic Dependencies Principle)* in `Software
Engineering Packaging Principles`_). From a versioning, building, and
change-prorogation perspective, any packages involved in a circular dependency
would need to be treated as a single software engineering package anyway so
TriBITS forces development teams to glob all of this stuff together into a
single `TriBITS Package`_ when cycles in software exist. There are
numerous wonderful ways to break circular dependencies between packages that
are proven and well established in the SE community (for example, see [`Agile
Software Development, 2003`_]).
.. ToDo: Discuss why it is a good idea to explicitly list packages instead of
.. just searching for them. Hint: Think performance and circular
.. dependencies!