Ada95 is a powerful language with a great number of original constructions. Learning these constructions requires the finalization of projects that are both interesting and motivating for students, as well as the coverage of the different constructions during the project. Moreover, the field of mobile robotics is one that requires real-time programming and appropriate software architectures. More particularly, legged robots offer a real challenge as regards autonomy and the coordination of movements of the different legs. This field proves fruitful for the definition of projects on concurrent programming. The present paper describes such a project about an architecture for an omnidirectional legged robot. In a resolutely object-oriented approach, the project helps to teach the main constructions of the Ada language. Among others, it deals with child units, generics, tagged types and type extension, tasking, protected objects, family entries, asynchronous transfer of control, discriminants, etc. Numerous extensions can be considered within this project.
The modeling, analysis and design of systems is generally based on many formalisms to describe discrete and/or continuous behaviors, and to map these descriptions into a specific platform. In this context, the article proposes the concept of functional metamodeling to capture, then to integrate modeling languages. The concept offers an alternative to standard Model Driven Engineering (MDE) and is well adapted to mathematical descriptions such as the ones found in system modeling. As an application, a set of functional metamodels is proposed for dataflows (usable to model continuous behaviors), state-transition systems (usable to model discrete behaviors) and a metamodel for actions (to model interactions with a target platform and concurrent execution). A model of a control architecture for a legged robot is proposed as an application of these modeling languages.
Two major problems appear during the design of a framework. The first is related to synthesizing generic elements for a family of applications and connecting them to an integrated control flow. The second lies in the design of a powerful, modular, reliable architecture that is easy to (re)use and understand. The fact of including design patterns in the architecture of frameworks minimizes the second problem. Indeed, design patterns provide proven, flexible, well-engineered design solutions at a higher abstraction level than classes. Their associated documentation records information from experienced object-oriented designers about solutions to recurrent problems, about contexts in which the patterns are applicable, about forces involved and consequences related to their use. This paper presents a number of the benefits of integrating design patterns in the development of an object-oriented framework related to fuzzy logic control. It also reports on an object-oriented design for Fuzzy Knowledge Based Control (FKBC) that includes design patterns to facilitate the development, maintenance and documentation of the FKBC framework.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.