Combining aspects and object-orientation in model-driven engineering for distributed industrial mechatronics systems

Recent advances in technology enable the creation of complex industrial systems comprising mechanical, electrical, and logical – software – components. It is clear that new project techniques are demanded to support the design of such systems. At design phase, it is extremely important to raise abstraction level in earlier stages of product development in order to deal with such a complexity in an efficient way. This paper discusses Model Driven Engineering (MDE) applied to design industrial mechatronics systems. An aspect-oriented MDE approach is presented by means of a real-world case study, comprising requirements engineering up to code generation. An assessment of two well-known high-level paradigms, namely Aspect- and Object-Oriented paradigms, is deeply presented. Their concepts are applied at every design step of an embedded and real-time mechatronics system, specifically for controlling a product assembler industrial cell. The handling of functional and non-functional requirements (at modeling level) using aspects and objects is further emphasized. Both designs are compared using a set of software engineering metrics, which were adapted to be applied at modeling level. Particularly, the achieved results show the suitability of each paradigm for the system specification in terms of reusability quality of model elements. Focused on the generated code for each case study, statistics depicted an improvement in number of lines using aspects.

[1]  Mark Rouncefield,et al.  Model-driven engineering practices in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[2]  Carlos Eduardo Pereira,et al.  Sm@rtConfig: A context-aware runtime and tuning system using an aspect-oriented approach for data intensive engineering applications , 2013 .

[3]  María Bárbara Álvarez Torres,et al.  On the Move to Meaningful Internet Systems 2004: OTM 2004 Workshops , 2004, Lecture Notes in Computer Science.

[4]  Lee,et al.  [IEEE 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing - Orlando, FL, USA (2008.05.5-2008.05.7)] 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC) - Cyber Physical Systems: Design Cha , 2008 .

[5]  Alberto L. Sangiovanni-Vincentelli,et al.  An industrial system engineering process integrating model driven architecture and model based design , 2012, MODELS'12.

[6]  Alan Burns,et al.  The meaning and role of value in scheduling flexible real-time systems , 2000, J. Syst. Archit..

[7]  Gregor Kiczales Aspect-oriented programming , 2005, ICSE '05.

[8]  Marco A. Wehrmeister,et al.  Aspect-Oriented Model-Driven Engineering for Embedded Systems Applied to Automation Systems , 2013, IEEE Transactions on Industrial Informatics.

[9]  Edward A. Lee Cyber Physical Systems: Design Challenges , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[10]  Carlos José Pereira de Lucena,et al.  On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework , 2003, Anais do XVII Simpósio Brasileiro de Engenharia de Software (SBES 2003).

[11]  Christof Ebert,et al.  Guest Editors' Introduction: Embedded Software Technologies and Trends , 2009, IEEE Softw..

[12]  Insup Lee,et al.  Cyber-physical systems: The next computing revolution , 2010, Design Automation Conference.

[13]  Siobhán Clarke,et al.  Towards a standard design language for AOSD , 2002, AOSD '02.

[14]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1959, Commun. ACM.

[15]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[16]  Steve Hodges,et al.  Auto-ID based control demonstration phase 1: pick and place packing with conventional control , 2003 .

[17]  Julian Proenza,et al.  Guest Editorial Special Section on Communication in Automation , 2016, IEEE Trans. Ind. Informatics.

[18]  Miguel A. Fernández,et al.  An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases , 2012, Empirical Software Engineering.

[19]  權寧住,et al.  Mechatronics , 2019, CIRP Encyclopedia of Production Engineering.

[20]  Stefan Hanenberg,et al.  A UML-based aspect-oriented design notation for AspectJ , 2002, AOSD '02.

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

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

[23]  Richard F. Paige,et al.  Rigorous identification and encoding of trace-links in model-driven engineering , 2010, Software & Systems Modeling.

[24]  Vinay Kulkarni,et al.  Measuring metadata-based aspect-oriented code in model-driven engineering , 2012, 2012 3rd International Workshop on Emerging Trends in Software Metrics (WETSoM).

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

[26]  Miguel A. Fernández,et al.  Where does model-driven engineering help? Experiences from three industrial cases , 2011, Software & Systems Modeling.

[27]  Kent Beck Kent Beck's Guide To Better Smalltalk , 1998 .

[28]  Marco A. Wehrmeister,et al.  Support for early verification of embedded real-time systems through UML models simulation , 2012, OPSR.

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

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

[31]  Marco A. Wehrmeister,et al.  Early Verification of Embedded Systems: Testing Automation for UML Models , 2012, 2012 Brazilian Symposium on Computing System Engineering.

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

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

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

[35]  Alois Knoll,et al.  Models for automatic generation of safety-critical real-time systems , 2007, The Second International Conference on Availability, Reliability and Security (ARES'07).

[36]  Ruzanna Chitchyan,et al.  Survey of Aspect-Oriented Analysis and Design Approaches , 2015 .

[37]  Dániel Varró,et al.  A research roadmap towards achieving scalability in model driven engineering , 2013, BigMDE '13.

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

[39]  Kent Beck,et al.  Kent Beck's Guide to Better Smalltalk: SIMPLE SMALLTALK TESTING , 1997 .

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

[41]  Carlos Eduardo Pereira,et al.  SIMOO-RT-an object-oriented framework for the development of real-time industrial automation systems , 2002, IEEE Trans. Robotics Autom..

[42]  Gaurav Bhatia,et al.  Model-Based Development of Embedded Systems: The SysWeaver Approach , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

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

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

[45]  Alan Burns,et al.  Real-Time Systems and Programming Languages , 2009 .

[46]  M. Maranzana,et al.  Code Generation from the Description of QoS-Aware Applications , 2006, 2006 2nd International Conference on Information & Communication Technologies.

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

[48]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[49]  Christoph Elsner,et al.  Aspect-Oriented, Model-Driven Software Product Lines: Model-driven engineering support for product line engineering , 2011 .

[50]  Edward A. Lee,et al.  Modeling Cyber–Physical Systems , 2012, Proceedings of the IEEE.

[51]  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).

[52]  Duncan McFarlane,et al.  Auto-ID based control demonstration. Phase 2: pick and place packing with holonic control , 2003 .

[53]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[54]  Robert E. Lyons,et al.  The Use of Triple-Modular Redundancy to Improve Computer Reliability , 1962, IBM J. Res. Dev..

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