Subversion Repositories tendra.SVN

Rev

Rev 7 | Blame | Compare with Previous | Last modification | View Log | RSS feed

digraph Goals {
        node [shape=box];
        ranksep=1.5;
        rankdir=LR;

        subgraph cluster_Documentation {
                color=cyan;
                node [color=cyan];
                label="Documentation";

                n18     [label="To document thoroughly\nfor users"];

                n19     [label="To document thoroughly\nfor developers"];
                n26 -> n19;
        }

        n28 -> n19;


        subgraph cluster_Education {
                color=purple;
                node [color=purple];
                label="Education";

                n14     [label="To promote compiler internals\nas an understandable \
                        project,\nnot a magical black box"];

                n16     [label="To educate on good\ndesign in general"];
                n14 -> n16;
                n17 -> n16;

                n17     [label="To destroy assumptions on\nwhat \"should\" be done"];
                n14 -> n17;
        }

        n19 -> n14;


        subgraph cluster_Programing {
                color=red;
                node [color=red];
                label="Programing";

                subgraph cluster_CoreValues {
                        label="Core Values";

                        n1      [label="To continiously produce\ncorrect code"];

                        n2      [label="To ensure code correctness\nthrough various means"];
                        n1 -> n2;

                        n3      [label="To improve performance\nunless it violates 1 or 2"];
                        n1 -> n3;
                        n2 -> n3;
                }

                n7      [label="To be modular and unbiased\nin supported producers \
                        for languages"];

                n8      [label="To be portable"];

                n11     [label="To produce clean and understandable\noutput comparable \
                        to handwritten assembly"];
                n31 -> n11;

                n12     [label="To be easy to modify and adapt"];
                n26 -> n12;

                n13     [label="To serve each specific application\ndomain with 100% \
                        applicability,\nwithout introducing unrelated features"];
                        /* i.e. seperate projects */
                n20 -> n13;
                n7  -> n13;
                n26 -> n13;

                n20     [label="To adhere to standards"];
                n1  -> n20;

                n21     [label="To identify precisely the\ncontext of messages and to\n\
                        which standard they apply"];
                n20 -> n21;

                n22     [label="To be bug-free and reliable"];
                n2  -> n22;
                n26 -> n22;

                n26     [label="To hide implementation details\nbehind \
                        cleanly-abstracted APIs"];
                n7  -> n26;

                n31     [label="To implement code generation\nfor as many platforms as\nwe \
                        are able to maintain"];
                n11 -> n31;
                n8  -> n31;

                n33     [label="To never break the build"];

                n34     [label="Test cases upto date with\nthe implemented spec"];

                n35     [label="Test cases proactive, not reactive"];
                n34 -> n35;
        }

        n5  -> n11;

        n4  -> n12;
        n5  -> n12;
        n23 -> n12;

        n18 -> n34;


        subgraph cluster_Social {
                color=blue;
                node [color=blue];
                label="Social";

                n6      [label="To promote TDF adoption"];

                n15     [label="To attract developers\nto our philosophy of coding"];
                n27 -> n15;

                n23     [label="For development to be\neasily accessible and\nnot of an \
                        elite core"];
                n27 -> n23;

                n24     [label="To not stray from the\n\"feel\" of TenDRA"];
                n27 -> n24;

                n25     [label="To be unbiased in accepting advice"];

                n27     [label="To maintain dignity, professionalism\nand our reputation \
                        as \"nice guys\""];

                n28     [label="To attract developers\nto our projects"];
                n23 -> n28;
                n15 -> n28;

                n32     [label="To maintain a reputation\nfor uncompromising quality"];
        }

        n30 -> n6;

        n1  -> n24;
        n2  -> n24;
        n3  -> n24;

        n19 -> n28;
        n12 -> n28;


        subgraph cluster_Subprojects {
                color=green;
                node [color=green];
                label="Subprojects";

                n29     [label="To produce a clean framework\nfor code quality \
                        testing"];
                        /* lint, etc */

                n30     [label="To produce a clean framework\nfor TDF manipulation"];
                        /* libTDF */

                n4      [label="To produce a clean framework\nfor parser development"];

                n5      [label="To produce a clean framework\nfor code generation"];
        }

}