Aspect-Oriented Model-Driven Engineering for Embedded Systems Applied to Automation Systems

Automation and control systems include many “intelligent” automation devices, which are usually implemented as complex embedded systems. New methods and tools are demanded to cope with the increasing design complexity, while keeping the project on schedule. Proper handling of nonfunctional system requirements is a key factor during the design of industrial automation systems, since in some application domains they are as important as (sometimes, more important than) functional requirements. This paper presents a model-driven engineering approach, which combines Unified Modeling Language (UML) and aspect-oriented software development (AOSD) to design real-time and embedded automation systems. The proposed approach allows a smooth transition from the initial phases to implementation by using software tools, comprising the system specification and the automatic generation of source code. By combining UML with model-level aspects and a script-base code generation tool, it enables the use of AOSD during system design and implementation, even though the target platform does not natively support such concepts. Experimental results on using this approach to design real-world examples of automation systems are presented. The results indicate a positive impact on the design of automation systems. The encapsulation of nonfunctional requirements was improved, increasing the reuse of developed artifacts. Generated source code statistics indicate that the proposed approach can generated a fair amount of code per model element.

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Marco A. Wehrmeister,et al.  Optimizing Real-Time Embedded Systems Development Using a RTSJ-Based API , 2004, OTM Workshops.

[3]  Georg Frey,et al.  An MDD process for IEC 61131-based industrial automation systems , 2011, ETFA2011.

[4]  Alberto L. Sangiovanni-Vincentelli,et al.  Synthesis of Multitask Implementations of Simulink Models With Minimum Delays , 2010, IEEE Transactions on Industrial Informatics.

[5]  Wim Dehaene,et al.  UML for electronic systems design: a comprehensive overview , 2008, Des. Autom. Embed. Syst..

[6]  Elisabet Estévez-Estévez,et al.  Model-Based Validation of Industrial Control Systems , 2012, IEEE Transactions on Industrial Informatics.

[7]  Harold Ossher,et al.  Using subject-oriented programming to overcome common problems in object-oriented software development/evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[8]  Bruce Powel Douglass,et al.  Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit , 2010 .

[9]  Marco A. Wehrmeister An aspect-oriented model-driven engineering approach for distributed embedded real-time systems , 2009 .

[10]  Siobhán Clarke,et al.  Managing embedded systems complexity with aspect-oriented model-driven engineering , 2010, TECS.

[11]  Julian Proenza,et al.  Guest Editorial Special Section on Industrial Communication Systems , 2010 .

[12]  Elisabet Estevez,et al.  Automatic transformation of logic models within engineering of embedded mechatronical units , 2011 .

[13]  Tzilla Elrad,et al.  Motorola WEAVR: Aspect and model-Driven Engineering , 2007, J. Object Technol..

[14]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[15]  Carlos José Pereira de Lucena,et al.  Modularizing design patterns with aspects: a quantitative study , 2005, AOSD '05.

[16]  Devon Simmonds,et al.  Aspect-Oriented Approaches to Model Driven Engineering , 2008, Software Engineering Research and Practice.

[17]  Ruzanna Chitchyan,et al.  AOSD Ontology 1.0: Public Ontology of Aspect-Orientation , 2005 .

[18]  W. Retschitzegger,et al.  Towards a Common Reference Architecture for Aspect-Oriented Modeling , 2006 .

[19]  David Hästbacka,et al.  Model-driven development of industrial process control applications , 2011, J. Syst. Softw..

[20]  João Araújo,et al.  The Need for Early Aspects , 2009, GTTSE.

[21]  Carlos José Pereira de Lucena,et al.  On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework , 2003, SBES.

[22]  Fernando Valles-Barajas,et al.  A survey of UML applications in mechatronic systems , 2011, Innovations in Systems and Software Engineering.

[23]  Tzilla Elrad,et al.  Motorola WEAVR: Aspect Orientation and Model-Driven Engineering , 2007 .

[24]  Insup Lee,et al.  Timed and Resource-Oriented Statecharts for Embedded Software , 2010, IEEE Transactions on Industrial Informatics.

[25]  Stefan Hanenberg,et al.  Expressing different conceptual models of join point selections in aspect-oriented design , 2006, AOSD.

[26]  Marco A. Wehrmeister,et al.  DERAF: A High-Level Aspects Framework for Distributed Embedded Real-Time Systems Design , 2007, EA@AOSD.

[27]  Thomas Ledoux,et al.  Aspect-Oriented Software Development , 2003 .

[28]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[29]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[30]  Kleanthis Thramboulidis,et al.  A Real-Time-Linux-Based Framework for Model-Driven Engineering in Control and Automation , 2011, IEEE Transactions on Industrial Electronics.

[31]  Lirong Dai,et al.  Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach , 2010, Sci. Comput. Program..

[32]  Alberto L. Sangiovanni-Vincentelli,et al.  Platform-Based Design and Software Design Methodology for Embedded Systems , 2001, IEEE Des. Test Comput..