Use of component-based software architectures in industrial control systems

When different business units of an international company are responsible for the development of different parts of a large system, a component-based software architecture may be a good alternative to more traditional, monolithic architectures. The new common control system, developed by ABB to replace several existing control systems, must incorporate support for a large number of I/O systems, communication interfaces, and communication protocols. An activity has therefore been started to redesign the system’s architecture, so that I/O and communication components can be implemented by different development centers around the world. This paper reports on experiences from this effort, describing the system, its current software architecture, the new component-based architecture, and the lessons learned so far. 84 Use of Component-Based Software Architectures in Industrial Control Systems

[1]  M. H. Barton,et al.  Software Engineering for Real Time Systems , 1990 .

[2]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[3]  Gabriel A. Moreno,et al.  Enabling predictable assembly , 2003, J. Syst. Softw..

[4]  Clemens Szyperski,et al.  Component software , 1997 .

[5]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[6]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[7]  Judith A. Stafford,et al.  Ensembles: abstractions for a new class of design problem , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[8]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[9]  Stanley A. Schneider,et al.  ControlShell: component-based real-time programming , 1995, Proceedings Real-Time Technology and Applications Symposium.

[10]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

[11]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[12]  Mary Shaw,et al.  Truth vs. knowledge: the difference between what a component does and what we know it does , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[13]  Jos Warmer,et al.  The object constraint language , 1998 .

[14]  John Daniels,et al.  UML Components: A Simple Process for Specifying Component-Based Software , 2000 .

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

[16]  Jian Chen,et al.  Reasoning about concurrent objects , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[17]  PerOlof Bengtsson,et al.  Architecture-Level Modifiability Analysis , 2002 .

[18]  Lowy,et al.  Programming .Net Components , 2003 .

[19]  S.A. Hissam,et al.  Building systems from commercial components , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[20]  Mikael Svahnberg,et al.  Supporting Software Architecture Evolution , 2003 .

[21]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[22]  Benjamin J. Shannon,et al.  Java 2 platform enterprise edition specification , 2001 .

[23]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[24]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[25]  Per Runeson,et al.  Using Students as Experiment Subjects – An Analysis on Graduate and Freshmen Student Data , 2003 .

[26]  Alan W. Brown,et al.  Engineering of component-based systems , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[27]  Heinz Schmidt,et al.  A Complexity Calculus for Object-Oriented Programs , 1994 .

[28]  Stanley A. Schneider,et al.  The ControlShell component-based real-time programming system , 1995, Proceedings of 1995 IEEE International Conference on Robotics and Automation.

[29]  David Garlan,et al.  Architectural Mismatch: Why Reuse Is So Hard , 1995, IEEE Softw..

[30]  Jim Cooling,et al.  Software Engineering for Real-Time Systems , 2002 .

[31]  Oscar Nierstrasz,et al.  A Component Model for Field Devices , 2002, Component Deployment.

[32]  Frank Yellin,et al.  The java virtual machine , 1996 .

[33]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[34]  David A Chappell Understanding ActiveX and OLE , 1996 .

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

[36]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[37]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[38]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[39]  Karl Johan Åström,et al.  Computer-controlled systems (3rd ed.) , 1997 .

[40]  Mark Klein,et al.  On the Relationship of Software Architecture to Software Component Technology , 2001 .

[41]  James Conard,et al.  Introducing .NET , 2001 .

[42]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[43]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[44]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[45]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[46]  Ana H. Paro MMS: A Communication Language for Manufacturing , 1995, Project 7096 . CCE-CNMA.

[47]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[48]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[49]  Barbara Liskov,et al.  Data Abstraction and Hierarchy , 1987 .

[50]  Lars Lundberg,et al.  A distributed component architecture for a large telecommunication application , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.

[51]  Frank E. Redmond Dcom: Microsoft Distributed Component Object Model , 1997 .

[52]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[53]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[54]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[55]  Astrom Computer Controlled Systems , 1990 .

[56]  Aloysius K. Mok,et al.  Real-time support in COM , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[57]  Andreas Speck,et al.  Component-based control system , 2000, Proceedings Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2000).

[58]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .