Outline Transferring Technical debt to automated Production Systems (aps) 1. Domain specific constraints 2. Types of Technical Debt 3. Causes of Architectural Technical Debt in aps 4. ATD- Parallel development Pick&Place Unit 5. Accumulation and Recovery Models 6. Conclusion and Outlook Source: Bayer AG, Leverkusen Source: Siemens AG Univ.-Prof. Dr.-Ing. Birgit Vogel-Heuser vogel-heuser@tum.de Head of Chair and Director of Institute, Automation and Information systems (AIS) Faculty of Mechanical Engineering, Technische Universität München 1
Development and Construction aps as long living systems 20-50 Years 10-15 Years 1,5 Years Mechanics (Context) Automation hardware and electrics / electronics Software Automation hardware 10-13 Years Operation Commissioning of System Sensors/Actuators 8-12 Years Microcontroller 3-5 Years Commissioning after Re-Engineering HMI 1,5 Years Chips 1,5 Years Life-Cycle Source:, J. Folmer, C. Legat: Anforderungen an die Softwareevolution in der Automatisierung des Maschinen- und Anlagenbaus. In: at Automatisierungstechnik, 62(3), 3/2014 2
Technical Constraints of software for aps Technical Process (context) Technical system (context) Sensor signals Actuator signals CPU (platform) Inputs PLC-Code Execution Outputs Process Data Real-time requirements of aps hard real-time for the used platform PLC Cyclic behavior of the platform (1µs 1s) Classical PLC as well as Soft-PLC (PC-based) programmed in IEC 61131-3 Languages Increasing amount of IPC and C, C-derivatives Online change is mandatory IEC 61131-3 Languages Sequential Function Chart... Step1 Step2 Transition 1 Transition 2 Step3 Transition 3... Ladder Diagram Var1 Var2 Var3 Var5 Var4 OUT Structured Text OUT:= (Var1 & Var2 & Var3) OR (Var4 & Var5) Function Block Diagram Var1 Var2 Var3 Var4 Var5 & & >= 1 OUT Instruction List LDN Var1 ANDN Var 2 ANDN Var3 ST OUT IEC 61131-3 Programming Languages Proprietary programming languages: Structured Text (ST), Ladder Diagram (LD), Instruction List (IL), Sequential Function Chart (SFC), Function Block Diagram (FBD) Upcoming: C 3
Life cycle phases for aps Requirements specification System specification System design Mechanical design Electrotechnical design Software design Manufacturing Cabinet construction Software implementation Component TEST Mechanical assembly Electrotechnical and Software integration System integration Integrated TEST System delivery Commissioning Startup System handover Project completion Operation / Maintenance 4
Enlarged Types of Technical Debt (TD) in aps according to the enlarged life cycle model Requirements TD = textual description in contract plus layout Enlarged Types of Technical Debt for aps based on (Li et al. 2015) Architectural TD Design TD Code TD Manufacturing TD Test TD Build TD Assembly TD Documentation TD Infrastructure TD Versioning TD Defect TD Commissioning TD Start Up TD Operational & Maintenance TD = different architectural approaches and artifacts in disciplines Design (el.) = Manufacturing (el.) = Source: systech-gmbh.de Circuit / Wiring diagram Terminal connection table Mounting of devices in the cabinet Source: durau.de Effect: sporadic faults 5
Causes of Architectural Technical Debt in aps Types of Technical Debt (Li et al. 2015) Requirements TD Architectural TD Design TD Code TD Test TD Build TD Documentation TD Infrastructure TD Versioning TD Causes of Architecture Technical Debt (ATD) (Martini et al. 2014) Business factors Design and architecture documentation Reuse of Legacy and third party code Parallel development Effects uncertainty Non-completed refactoring Technology evolution Business evolution Time pressure Split of budget New application domain, e.g. food & beverage Varying standards in different countries e.g. CSA, UL, VDI/VDE Different environmental conditions e.g. humidity, temperature, etc. Always heavy penalties for late delivery on-site, acceptance as well as plant availability Lack of cross-discipline responsibilities, different teams for each discipline Lack of budget for software maintenance Defect TD Human factors Sources: Z. Li, P. Avgeriou, P. Lang: A systematic mapping study on technical debt and its management. In: The Journal of Systems and Software, pp. 293-220, 2015. A. Martini, J. Bosch, M. Chaudron: Architecture Technical Debt: Understanding causes and a qualitative model. In: Conference on Software Engineering and Advanced Applications, pp. 85-92, 2014 6
Causes and effects of ATD in aps selected examples causes Sub-causes effects Causes of Architecture Technical Debt (ATD) (Martini et al. 2014) Design and architecture documentation Technology evolution Reuse of Legacy and third party code/components Effects uncertainty Non-completed refactoring Human factors Parallel development Only very rough textual specification given in contract Change of PLC-, drives or HMIplatform, heterogen. fieldbus Outsourcing hardware and/or software development due to lack of development capacity/resources Changes have unforeseen effects on other discipline Need to maintain backward compatibility for a decade Not invented here phenomenon Gap of knowledge between commissioning and start-up staff and design staff See application example Lack of clear specification, misunderstanding -> inappropriate interfaces or functionality Interoperability problems Poor quality (tools), violation of company standards, further development usage impossible Change of motor, requires different frequency converter Hinders new architectures and structures New designed solutions on-site (costly) Violation of internal standards inappropriate solutions from design department 7
ATD parallel development 8
Hardware change and software change: additional sensor during start-up onsite parallel development B1.1 B1.2 extract retract B1.4 FB_ Pusher FB Interface ErrCode M1 Machine group Device number Device 310 M1 sorting line Function 310 B1.1 sorting pusher is Pusher reed 24V mand. Sorting Station to sort work pieces from belt line extended switch DI into slides 310 B1.2 sorting line 320 M1 sorting line Location sort/push Pusher WP in slide 1 pusher is retracted Pusher sort/push Pusher WP in slide 2 Device/Signal type pneum. valve DO reed switch DI pneum. valve DO Power supply [V] 24V 24V 24V Remarks mand. mand. mand. Functionality Error Code Calculation Functionality Extract Pusher Functionality Retractf Pusher retract extract B1.1 B1.2 B1.4 extract retract B1.2 B1.4 1,000 extract retract B1.1 B1.4 30,000 FB_ Error_ Calcul NOT <= NOT >= AND AND ErrCode S R M1 M1 9
TD and ATD accumulation and recovery models Crisis-based ATD management software tends to be unreadable and unmaintainable or lead to unpredicted behavior refactoring is unavoidable but not planned leading to a weak solution ATD accumulation and recovery during feature development ATD grows with every modification of software or electrics not compliant with valid explicit or implicit rules during optimization of existing plants during interdisciplinary development of new plants Events initiating ATD recovery development of a new machine or machine generation (continuous product change) based on a new technology different market requirements (products), e.g. thinner or thicker particle boards different tools, e.g., the introduction of a new engineering tool in electrical engineering or software engineering the change of a team leader the limitations of a numbering system e.g. for MCL implicitly representing the variants 10
Conclusion and outlook Concepts of TD and ATD are in principle applicable to aps Dimensions, some causes and some effects were introduced Challenges of interdisciplinary relations Should lead to a deeper understanding of obstacles for a systematic evolution of aps Management strategies to deal with TD and ATD can be developed in future work focusing on the plant manufacturing industry Need for industrial case studies to gain more data and classify different ATD recovery models 11
Literature Z. Li, P. Avgeriou, P. Lang: A systematic mapping study on technical debt and its management. In: The Journal of Systems and Software, pp. 293-220, 2015., J. Folmer, C. Legat: Anforderungen an die Softwareevolution in der Automatisierung des Maschinen- und Anlagenbaus. In: at Automatisierungstechnik, 62(3), 3/2014. E. Tom, A. Aurum, R. Vidgen: An exploration of technical debt. In: The Journal of Systems and Software, pp. 1498-1516, 2013. A. Martini, J. Bosch, M. Chaudron: Architecture Technical Debt: Understanding causes and a qualitative model. In: Conference on Software Engineering and Advanced Applications, pp. 85-92, 2014 12