Software development nowadays is global. Companies cross borders in the search of qualified perso... more Software development nowadays is global. Companies cross borders in the search of qualified personal. Teams are spread over more than one countries and have to deal with the difficulties of different time zones and other cultures [3, 5, 6, 8]. The distributed collaboration results into many new challenges that must be faced like communication, requirements engineering and API design [11]. The difficulties of distributed software engineering have been researched by M. Nordio et al. on the example of the DOSE course [7, 10].
Writing requirements for embedded software is pointless unless they reflect actual needs and the ... more Writing requirements for embedded software is pointless unless they reflect actual needs and the final software implements them. In usual approaches, the use of different notations for requirements (often natural language) and code (a programming language) makes both conditions elusive. To address the problem, we propose to write requirements in the programming language itself. The expected advantages of this seamless approach, called AutoReq include: avoiding the potentially costly miss due to the use of different notations; facilitating software change and evolution, by making it easier to update code when requirements change and conversely; benefiting from the remarkable expressive power of modern object-oriented programming languages, while retaining a level of abstraction appropriate for requirements; leveraging, in both requirements and code, the ideas of Design by Contract, including (as the article shows) applying Hoare-style assertions to express temporal-logic-style proper...
New collaboration tools allow geographically distributed software-development teams to boost the ... more New collaboration tools allow geographically distributed software-development teams to boost the venerable concept of code review.
We expect, in programming languages, that certain conversions will occur silently and automatical... more We expect, in programming languages, that certain conversions will occur silently and automatically. The most common case, permitted by almost all languages, is assigning an integer value to a real variable, which we expect to work, with the effect that it will convert the integer to the closest real equivalent. We also accept mixed-type arithmetic expressions, such as your_real_number+ my_integer, with the understanding that the result will be of the “heavier” type, real. Most of the time these possibilities of mixedtype assignment and ...
Software Engineering Laboratory: Open Source Eiffel Studio, ETH Zürich, 2012
In any software development team staying up to date on the current changes that are occurring in ... more In any software development team staying up to date on the current changes that are occurring in the project is mandatory. There exist many forms today through which that is accomplished: standup meetings, mailing lists, configuration management logs, and many more. However, a lot of information is proliferated naturally as a result of developers working on projects usually being co-located. However when these developers move into a distributed environment, this natural information proliferation cannot occur, and much ...
Software development nowadays is global. Companies cross borders in the search of qualified perso... more Software development nowadays is global. Companies cross borders in the search of qualified personal. Teams are spread over more than one countries and have to deal with the difficulties of different time zones and other cultures [3, 5, 6, 8]. The distributed collaboration results into many new challenges that must be faced like communication, requirements engineering and API design [11]. The difficulties of distributed software engineering have been researched by M. Nordio et al. on the example of the DOSE course [7, 10].
Writing requirements for embedded software is pointless unless they reflect actual needs and the ... more Writing requirements for embedded software is pointless unless they reflect actual needs and the final software implements them. In usual approaches, the use of different notations for requirements (often natural language) and code (a programming language) makes both conditions elusive. To address the problem, we propose to write requirements in the programming language itself. The expected advantages of this seamless approach, called AutoReq include: avoiding the potentially costly miss due to the use of different notations; facilitating software change and evolution, by making it easier to update code when requirements change and conversely; benefiting from the remarkable expressive power of modern object-oriented programming languages, while retaining a level of abstraction appropriate for requirements; leveraging, in both requirements and code, the ideas of Design by Contract, including (as the article shows) applying Hoare-style assertions to express temporal-logic-style proper...
New collaboration tools allow geographically distributed software-development teams to boost the ... more New collaboration tools allow geographically distributed software-development teams to boost the venerable concept of code review.
We expect, in programming languages, that certain conversions will occur silently and automatical... more We expect, in programming languages, that certain conversions will occur silently and automatically. The most common case, permitted by almost all languages, is assigning an integer value to a real variable, which we expect to work, with the effect that it will convert the integer to the closest real equivalent. We also accept mixed-type arithmetic expressions, such as your_real_number+ my_integer, with the understanding that the result will be of the “heavier” type, real. Most of the time these possibilities of mixedtype assignment and ...
Software Engineering Laboratory: Open Source Eiffel Studio, ETH Zürich, 2012
In any software development team staying up to date on the current changes that are occurring in ... more In any software development team staying up to date on the current changes that are occurring in the project is mandatory. There exist many forms today through which that is accomplished: standup meetings, mailing lists, configuration management logs, and many more. However, a lot of information is proliferated naturally as a result of developers working on projects usually being co-located. However when these developers move into a distributed environment, this natural information proliferation cannot occur, and much ...
Uploads
Papers by Bertrand Meyer