In nature, out of every possible arrangement of several elements, only a few arrangements are stable. This is illustrated with atoms combined together, or smaller particles arranged together into atoms, where not every combination is sustainable. Unstable arrangements tend to move toward stable ones over time. Whenever you observe the elements, you mostly see stable [...]
Continue Reading »
Tags: abstraction, pattern, patternity, Programming, research, solution, tool
Posted in Patternity, Patterns, Programming • 1 Comment »
In my very first job, I was doing R&D, working on a map-matching algorithm. The goal of this algorithm was to pinpoint a moving car on a vector map, based on the data from various sensors, including a GPS, an electronic compass and the car odometer. Such algorithm was essential for the business of the [...]
Continue Reading »
Tags: abstraction, analysis, design, methodology, pattern, problem, Programming, research, uml
Posted in Patterns, Programming • Comments Off
Sounds like a challenge: a paper is proposing an approach for a formal definition of architecture, design, and implementation, among other things. The link was offered and commented on a post from Ralph Johnson, that everyone knows for being one of the four in the « Gang of Four ». Though I have not tried to fully understand [...]
Continue Reading »
Tags: architecture, concept, design, pattern, research
Posted in Programming • 1 Comment »
Low coupling between objects is a key principle to help you win the battle against software entropy. Making sure your dependencies are under control matters. Several tools can enforce dependencies restrictions, such as JDepend. However in a real project with many classes, packages and modules, the real issue is how to decide and configure the [...]
Continue Reading »
Tags: abstraction, analysis, dependencies, design, domain, interface, java, oo, pattern, patternity, Programming, research, tool
Posted in Patternity, Patterns, Programming • Comments Off
In the post “Playing with laser beams to create very simple rhythms” I explained a theoretical approach that I want to materialize into an instrument. The idea is to create complex rhythms by combining several times the same rhythmic patterns, but each time with some variation compared to the original pattern. Several possible variations (or [...]
Continue Reading »
Tags: arduino, beam beats, beat, drum machine, electronic, experience, instrument, interactive, interface, Music, musical instrument, Physical Computing, research, rhythm, tangible
Posted in Beam Beats, Music, Physical Computing • 2 Comments »
Composite patterns, such a the Bureaucracy pattern, are patterns built by the composition of other « smaller » patterns. However even usual design patterns can be considered composite patterns made of smaller subpatterns. The goal is therefore to find out which are the main subpatterns that enable to reconstruct as many design patterns as possible. The subpatterns [...]
Continue Reading »
Tags: classdiagram, combinatorial, java, oo, pattern, patternity, research, svg, tool, uml, variant, visual
Posted in Patternity, Patterns, Programming • 4 Comments »
I have experimented an approach that considers every design pattern as the recursive composition of smaller patterns. This led to a prototype tool to illustrate its benefits by generating design-level documentation of annotated source code. Eat your own dog food The source code of this tool itself was used as the code base to apply [...]
Continue Reading »
Tags: api, application, classdiagram, design, framework, oo, pattern, patternity, research, tool, uml, visualization
Posted in Patternity • 1 Comment »