Abstract-Architecture Compliance Checking (ACC) is an approach to verify the conformance of implemented program code to high-level models of architectural design. ACC is used to prevent architectural erosion during the development and evolution of a software system. Static ACC, based on static software analysis techniques, focuses on the modular architecture and especially on rules constraining the modular elements. A semantically rich modular architecture (SRMA) is expressive and may contain modules with different semantics, like layers and subsystems, constrained by rules of different types. To check the conformance to an SRMA, ACC-tools should support the module and rule types used by the architect. This paper presents requirements regarding SRMA support and an inventory of common module and rule types, on which basis eight commercial and non-commercial tools were tested. The test results show large differences between the tools, but all could improve their support of SRMA, what might contribute to the adoption of ACC in practice.
MULTIFILE
In early game development phases game designers adjust game rules in a rapid, iterative and flexible way. In later phases, when software prototypes are available, play testing provides more detailed feedback about player experience. More often than not, the realized and the intended gameplay emerging from game software differ. Unfortunately, adjusting it is hard because designers lack a means for efficiently defining, fine-tuning and balancing game mechanics. The language Machinations provides a graphical notation for expressing the rules of game economies that fits with a designer's understanding and vocabulary, but is limited to design itself. Micro-Machinations (MM) formalizes the meaning of core language elements of Machinations enabling reasoning about alternative behaviors and assessing quality, making it also suitable for software development. We propose an approach for designing, embedding and adapting game mechanics iteratively in game software, and demonstrate how the game mechanics and the gameplay of a tower defense game can be easily changed and promptly play tested. The approach shows that MM enables the adaptability needed to reduce design iteration times, consequently increasing opportunities for quality improvements and reuse.