Model-Driven Construction of Embedded Applications Based on Reusable Building Blocks - An Example

For the rapid engineering of reactive systems we developed the SPACE method, in which specifications can be composed of reusable building blocks from domain-specific libraries. Due to the mathematical rigor and completeness with which the building blocks are designed, we can provide tool support facilitating a high degree of automation in the development process. In this paper, we focus on the design of embedded Java applications executed on Sun SPOTs by providing dedicated blocks to access platform-specific functionality. These building blocks can be used in combination with other blocks realizing protocols such as leader election to build more comprehensive applications. We present an example specification and discuss its automatic verification, transformation and implementation.

[1]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[2]  Vidar Slåtten,et al.  ENGINEERING SUPPORT FOR UML ACTIVITIES BY AUTOMATED MODEL-CHECKING | AN EXAMPLE , 2007 .

[3]  Kari Systä,et al.  Object-oriented specification of reactive systems , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[4]  Peter Herrmann,et al.  Compositional Service Engineering with Arctis , 2009 .

[5]  Peter Herrmann,et al.  Service Specification by Composition of Collaborations--An Example , 2006, 2006 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology Workshops.

[6]  Øystein Haugen,et al.  Engineering real time systems - an object-oriented methodology using SDL (2. pr.) , 1993, BCS practitioner series.

[7]  Andy Lapping Model driven development with Ada , 2004 .

[8]  Reinhard Gotzhein,et al.  Automated Generation of Micro Protocol Descriptions from SDL Design Specifications , 2007, SDL Forum.

[9]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[10]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[11]  Peter Herrmann,et al.  Synthesizing Components with Sessions from Collaboration-Oriented Service Specifications , 2007, SDL Forum.

[12]  Trygve Reenskaug,et al.  Working with objects - the OOram software engineering method , 1995 .

[13]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[14]  Peter Herrmann,et al.  Transforming Collaborative Service Specifications into Efficiently Executable State Machines , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[15]  Heiko Krumm,et al.  A framework for modeling transfer protocols , 2000, Comput. Networks.

[16]  Peter Herrmann,et al.  Aligning UML 2.0 State Machines and Temporal Logic for the Efficient Execution of Services , 2006, OTM Conferences.

[17]  Frank Alexander Kraemer,et al.  Engineering Reactive Systems: A Compositional and Model-Driven Method Based on Collaborative Building Blocks , 2008 .

[18]  Elie Najm,et al.  SDL 2007: Design for Dependable Systems, 13th International SDL Forum, Paris, France, September 18-21, 2007, Proceedings , 2007, SDL Forum.

[19]  Vijay K. Garg Elements of distributed computing , 2002 .

[20]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[21]  Zahir Tari,et al.  On the Move to Meaningful Internet Systems 2006: CoopIS, DOA, GADA, and ODBASE, OTM Confederated International Conferences, CoopIS, DOA, GADA, and ODBASE 2006, Montpellier, France, October 29 - November 3, 2006. Proceedings, Part I , 2006, OTM Conferences.

[22]  Thomas Kuhn,et al.  Model-Driven development with SDL – process, tools, and experiences , 2006, MoDELS'06.