Abstract: The gap between formal and informal architecture is discussed with an emphasis on the need to leverage informal architecture artifacts for analysis. A new methodology for creating formal structured models from informal architecture artifacts is presented. The methodology is demonstrated using a sample architecture diagram and the resulting model is analyzed using graph analysis techniques.
12 posts tagged with "architecture"
View All TagsUnderstanding OIDC Authentication Flows
Spectra: A Data Engineering Platform
Spectra, originally Peer Review Insights and Student Metrics (PRISM), is a data engineering and data science project to support engineering student capstone programs.
In 2022, we migrated from manually collecting less than 40 data points per student team to to automatically capturing over 8000 data points across >60 teams per semester. Once we validated the approach at the end of 2022, we spent the first half of 2023, rewriting the system for better modularity to enable for rapid support of new use cases and analysis.
An Agile Approach to Architecture
After spending a year building a software & systems architecture platform, I learned several things. First, no one does architecture the same way. In fact, the feedback we got about what different teams want out of an "architecture" tool was so wildly different that it was the primary reason we stopped pursuing that project.
Second, some teams value data-driven architecture (i.e. more formal architecture models that support things like code generation or system analysis) while others value not having prescribed structure and syntax. But every team values ease of use. One of the top pain points we identified among all of teams we talked to was that thorough architecture wasn't easy enough.
As a result, most teams use informal approaches to define architecture. Informal "boxes and lines" diagrams are used by every team even when formal architecture artifacts such as models are expected.
Agile Architecture in Practice
This article is published as a complement to my article on Agile Architecture. It details our approach to agile architecture at Triple Dot Engineering including some specific tools and processes.
An Introduction to APIs for the Uninitiated
APIs or Application Programming Interfaces are, like their name implies, an interface to an application that allows other systems to interact with them programmatically. In this post, we'll discuss some foundational concepts and distill the lexicon associated with APIs into tangible knowledge.
My Reading List
Last updated March 24, 2023
This article contains my collection of learning resources and reading material to help me grow and stay up to date on industry topics.
Systematic Literature Review: Exploring the Use of Informal Architecture Methodologies in Industry
This literature review was written as part of the course requirements for ESI 6891. This HAS NOT been peer reviewed and should not be considered a peer-reviewed publication.
I feel that this review needs further exploration and refinement beyond the scope of requirements as a course deliverable. However, I feel that until such time when it is further refined the content of the review may provide value in a self-published format. As such, I have chosen to publish it as-is on this site.
This was originally written in October 2022 and was first published on this site in August 2023.
On Microservices
This past week, I had a discussion with a student team about microservices. This is a topic I've wanted to write about for a while and given the immediate relevance to this team, I finally made it a priority.
The microservices architecture is a popular and growing trend in many technology organizations today. But its implementation is often met with unsurmountable challenges by unprepared teams. This article discusses some of the challenges of microservices and how to overcome them.
Mermaid Diagramming
With the recent introduction of Mermaid support in GitHub Markdown, I wanted to explore Mermaid in some more detail. In this article I'll walk through my exploration of diagrams as code with Mermaid and show some detailed examples of practical Mermaid diagrams.