Papers by Bernard Thirion

In software developments, the simple succession of operations can easily be hard-coded. However, ... more In software developments, the simple succession of operations can easily be hard-coded. However, to control event driven systems, applications must conform to a well-defined sequence of operations, even simultaneous ones, that depends on a variable environment, on time constraints and on synchronization constraints between several sequences. In that kind of applications, too complex intertwined conditional statements must be avoided as well as blocking wait operations. Conditional statements quickly become complex and thus incomprehensible, particularly when several actions must be done simultaneously, whereas wait statements force all the application in a blocked state. Tasks can provide a solution for these kinds of problems. However, difficulties appear when no tasks support is provided by the chosen programming languages, when the number of parallel working tasks is limited, or when describing and implementing synchronization mechanisms are too complex. Moreover, the global behavior of the application is difficult to understand and deadlock situations can occur. Thus, specifying and reusing a flexible, reliable and on-line modifiable construction that defines sequences of different kinds of parallel actions is an easy, generic approach to this problem. The "Grafcet pattern" specifies such a construction. Its description in a pattern form not only provides an architectural solution but also a documentation about its use, the reasons for this particular solution, the benefits and drawbacks related to that pattern, the applicability context, etc.

Software - Practice and Experience, 2000
ABSTRACT Two major problems appear during the design of a framework. The first is related to synt... more ABSTRACT 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. Copyright © 2000 John Wiley & Sons, Ltd.

Ada letters, Mar 1, 2002
Ada95 is a powerful language with a great number of original constructions. Learning these constr... more 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 objectoriented 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.

Workshop on Object-Oriented Technology, Jun 14, 1999
Frameworks are generic applications, described by a set of abstract classes and the way instances... more Frameworks are generic applications, described by a set of abstract classes and the way instances of their subclasses collaborate. They allow a rapid development of new applications through customization. However, two main problems are related to frameworks. First, designing a framework is a highly complex, time-consuming work and secondly, understanding the overall architecture and how to use it is difficult. One way to improve this situation is to include business and design patterns in the framework's architecture. Indeed, each pattern provides a concise and useful architectural guidance to a related problem. Moreover, the (re)use of patterns in software developments allows the integration of flexible modular adaptable well-engineered solutions at a higher level than classes. Business patterns are domain-specific patterns. Integrating these patterns into frameworks - both related to the same business - makes it possible to exploit the generic architecture of frameworks along with the high level abstractions, business knowledge and documentation of the patterns. A fuzzy logic control framework is outlined in the present paper to demonstrate the synergetic approaches of business patterns and frameworks.
Journal Européen des Systèmes Automatisés, 2005
The design of the control software for complex systems is a difficult task. It requires the integ... more The design of the control software for complex systems is a difficult task. It requires the integration of a multitude of interconnected entities and behaviors. The approach proposed consists in using software engineering concepts with, in particular, the object-oriented concepts, the unified modeling language UML and design patterns. In this context, the present paper describes a modeling framework to take greater advantage of these concepts and to design flexible, intelligible control software. It proposes to objectify the behaviors, which leads to a three-level architecture with target objects software images of the system controlled, behaviors applied to these target objets, and combinators - i.e. means for integration and adaptation. To validate the elements mentioned, this paper presents the control software of a walking robot.

Software: Practice and Experience, 2000
ABSTRACT Two major problems appear during the design of a framework. The first is related to synt... more ABSTRACT 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. Copyright © 2000 John Wiley & Sons, Ltd.
Journal of Optics, 1984
... SUMMARY : We use a Liquid Crystal Light Valve (LCLV) as ... L'ttude des perturbations de... more ... SUMMARY : We use a Liquid Crystal Light Valve (LCLV) as ... L'ttude des perturbations de l'image et l'analyse des spectres de diffraction nous ont permis de dkter-miner un modde simplifit des images afichtes qui sera utilist pour le calcul de filtres synthetiques. ...
Journal of Optics, 1982
An experimental study of the optical and electrical parameters of a LC matrix is made: light inte... more An experimental study of the optical and electrical parameters of a LC matrix is made: light intensity and contrast, image repetition frequency and image quality are discussed. It is experimentally shown and mathematically expressed that the main defects encountered are due to the electrical matrix addressing scheme, phase to amplitude conversion and edge effects. Thus the limitations are basic.

Software: Practice and Experience, 1993
This paper describes the object-oriented design of a novel application, for control of complex th... more This paper describes the object-oriented design of a novel application, for control of complex theatrical-set effects defined by an appropriate language. Besides giving a general description of the proposed system, the paper presents the language and its programming environment, which is intended for inexperienced users and integrates facilities to create, edit, check and run the effect scripts. The description of the implementation demonstrates the relevance of an objectoriented approach when it is associated with compiler techniques. The object paradigm is used to build support classes such as character streams, run-time values or symbols as well as syntactic objects. Each syntactic-object class models a different LL(1) grammar non-terminal and allows for an object-oriented predictive parsing. Moreover, organizing the instances of these classes as an object-based parse tree simplifies parsing, unparsing, syntax-directed editing, syntax-directed help, interpretation, etc. The description of these various operations shows the flexibility of our method, e.g. with respect to an iterative prototyping of the language and its environment. key words: Theatrical application Interactive programming environment Object-oriented programming INTRODUCTION Multimedia technology, acknowledged as the next revolution in computing, 1 aims to provide a seamless integration of text, sound, video and animation on a personal computer. Typical applications range from education or decision making to entertainment. Although this technology is fascinating for desktop applications, it may be less adequate when applied to groups of people. Theatres, conferences and exhibitions, as well as museums or planetariums, have virtually the same objectives as multimedia, but they refer to larger audiences. Greater use is made of multisensory presentations in order to compel more emotion and/or understanding. However, desktop-multimedia partly fails to respond to this challenge, especially because of the usual nature of the equipment and hardware involved. The ever-evolving context of a typical group application requires the integration and control of numerous analogue and/or digital sound and video devices, various spotlights, overhead-, slide-or video-projectors, as well as motorized equipment such as mirrors, screens, curtains and scenery.
European Conference on Object-Oriented Programming (ECOOP): Workshops, 1999

In software developments, the simple succession of operations can easily be hard-coded. However, ... more In software developments, the simple succession of operations can easily be hard-coded. However, to control event driven systems, applications must conform to a well-defined sequence of operations, even simultaneous ones, that depends on a variable environment, on time constraints and on synchronization constraints between several sequences. In that kind of applications, too complex intertwined conditional statements must be avoided as well as blocking wait operations. Conditional statements quickly become complex and thus incomprehensible, particularly when several actions must be done simultaneously, whereas wait statements force all the application in a blocked state. Tasks can provide a solution for these kinds of problems. However, difficulties appear when no tasks support is provided by the chosen programming languages, when the number of parallel working tasks is limited, or when describing and implementing synchronization mechanisms are too complex. Moreover, the global beha...

In software developments, the simple succession of operations can easily be hard-coded. However, ... more In software developments, the simple succession of operations can easily be hard-coded. However, to control event driven systems, applications must conform to a well-defined sequence of operations, even simultaneous ones, that depends on a variable environment, on time constraints and on synchronization constraints between several sequences. In that kind of applications, too complex intertwined conditional statements must be avoided as well as blocking wait operations. Conditional statements quickly become complex and thus incomprehensible, particularly when several actions must be done simultaneously, whereas wait statements force all the application in a blocked state. Tasks can provide a solution for these kinds of problems. However, difficulties appear when no tasks support is provided by the chosen programming languages, when the number of parallel working tasks is limited, or when describing and implementing synchronization mechanisms are too complex. Moreover, the global beha...

1 IDM pour une approche combinant synthese et verification de modeles Thomas Collonville, Laurent ... more 1 IDM pour une approche combinant synthese et verification de modeles Thomas Collonville, Laurent Thiry, Bernard Thirion Laboratoire MIPS ENSISA - Universite de Haute-Alsace, 12 rue des freres Lumiere, 68093 Mulhouse Cedex, France {thomas.collonville, laurent.thiry, bernard.thirion}@uha.fr Resume—Deux approches classiques sont couramment utilisees pour la conception de logiciels de commande : la theorie de la supervision et le Model-Checking. La theorie de la supervision permet la synthese d’un superviseur a partir du modele permissif du systeme et du modele des specifications. Une fois associes, le superviseur et le systeme satisfont par construction le compor- tement defini par les specifications. Le Model-Checking permet de valider le modele du systeme realise a partir de proprietes et d’identifier des erreurs de conception. Ces deux approches offrent chacune des avantages et leur integration doit permettre de concevoir des systemes logiciels de maniere plus simple et plus sure. L’Ing...

Ada95 is a powerful language with a great number of original constructions. Learning these constr... more 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, discrim...
Computers in Industry, Dec 1, 2004
The design of software architectures for the control of complex systems is a difficult task. In p... more The design of software architectures for the control of complex systems is a difficult task. In particular, it requires the appropriate means to define then integrate behaviors in a flexible way. Design patterns proved efficient, in terms of flexibility and integration, in the field of software design in general. This paper extends two well-known design patterns in order to adapt them in the field of control. These new patterns describe how to specify behaviors and define the means to combine and adapt them. The interest of these patterns is illustrated by the example of the control of a legged robot.
Iadis, 2005
The design of the control software for complex systems is a difficult task. It requires the model... more The design of the control software for complex systems is a difficult task. It requires the modeling, the simulation, the integration and the adaptation of a multitude of interconnected entities and behaviors. In this context, the present paper describes a modeling framework. It proposes to objectify the behaviors which leads to a two-level modeling process based on three concepts: resources-software images of the controlled system-behaviors applied to these resources, and meta-behaviors,-i.e. means for behavior integration and adaptation. To complete the proposed modeling framework, a coherent model-based approach supported by model-checking tools, that ensures the development of validated applications, is considered. Finally, to illustrate the elements mentioned, this paper uses the control software of a walking robot as a running example.
Proceedings of the 17th IFAC World Congress, 2008, 2008
The development of control software is a complex task: it requires the integration of many descri... more The development of control software is a complex task: it requires the integration of many descriptions and tools for specification, design, deployment, etc. To reduce the gap between the various models used to describe a system, this paper proposes the concept of functional metamodels, i.e. precise descriptions of a modeling language embedded into a functional language. The interest of the concept is the ability to define frameworks to simplify the development process. In particular, the paper proposes a framework for specification, design and deployment and applies it to the example of a legged robot.
In software developments, the simple succession of operations can easily be hard-coded. However, ... more In software developments, the simple succession of operations can easily be hard-coded. However, to control event driven systems, applications must conform to a well-defined sequence of operations, even simultaneous ones, that depends on a variable environment, on time constraints and on synchronization constraints between several sequences. In that kind of applications, too complex intertwined conditional statements must be avoided as
Uploads
Papers by Bernard Thirion