Software Is a Directed Multigraph
نویسندگان
چکیده
The architecture of a software system is typically defined as the organization of the system, the relationships among its components and the principles governing their design. By including artifacts coresponding to software engineering processes, the definition gets naturally extended into the architecture of a software system and process. In this paper we propose a holistic model to organize knowledge of such architectures. This model is graph-based. It collects architectural artifacts as vertices and their relationships as edges. It allows operations like metric calculation, refactoring, bad smell detection and pattern discovery as algorithmic transformations on graphs. It is independent of development languages. It can be applied for both formal and adaptive projects. We have implemented prototype tools supporting this model. The artifacts are stored in a graph database. The operations are defined in a graph query language. They have short formulation and are efficiently executed by the graph database engine.
منابع مشابه
Using LINQ as a universal tool for defining architectural assertions
We demonstrate that Microsoft LINQ can be used as a convenient tool to define architectural assertions. We introduce an abstract model of software based on a directed multigraph and formalize the notion of software architecture and architectural assertions. We demonstrate how Microsoft Visual Studio can be harnessed to extract the architecture of a given software project and append it with asse...
متن کاملOn Multigraph Extremal Problems
1 . Introduction . In this paper we shall consider multigraphs and digraphs (= directed graphs) with bounded multiplicity : an integer r is fixed and we shall assume, that the considered multigraphs or digraphs have no loops, further, if u and v are two vertices of a multigraph M, they can be joined by more than one edge, however, they cannot be joined by more than r edges. In case of digraphs ...
متن کاملDecomposing Semi-complete Multigraphs and Directed Graphs into Paths of Length Two
A P3-decomposition of a graph is a partition of the edges of the graph into paths of length two. We give a necessary and sufficient condition for a semi-complete multigraph, that is a multigraph with at least one edge between each pair of vertices, to have a P3-decomposition. We show that this condition can be tested in strongly polynomial-time, and that the same condition applies to a larger c...
متن کاملMultigraph Clustering for Unsupervised Coreference Resolution
We present an unsupervised model for coreference resolution that casts the problem as a clustering task in a directed labeled weighted multigraph. The model outperforms most systems participating in the English track of the CoNLL’12 shared task.
متن کاملCycle packings in graphs and digraphs
A cycle packing in a (directed) multigraph is a vertex disjoint collection of (directed) elementary cycles. If D is a demiregular multidigraph we show that the arcs of D can be partitioned into Ai. cycle packings where Ain is the maximum indegree of a vertex in D. We then show that the maximum length cycle packings in any digraph contain a common vertex.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011