10.1145/2889443.2889456acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedings
ARTICLE

Constraints as polymorphic connectors

ABSTRACT

The architecture of interactive systems does not match the procedural decomposition mechanisms available in most programming languages, leading to architectural mismatch. Constraint systems have been used only as black boxes for computing with primitive values of a specific type and for specific domains such as user interface layouts or program compilation. We propose constraints as a general purpose architectural connector for both describing the large-scale structure of interactive systems and matching that description with the actual implementation.

References

  1. J. Aldrich, C. Chambers, and D. Notkin. ArchJava: Connecting Software Architecture to Implementation. In Proceedings of the 24th International Conference on Software Engineering, ICSE ’02, pages 187– 197, New York, NY, USA, 2002. ACM. ISBN 1-58113-472-X.. URL http://doi.acm.org/10.1145/581339.581365. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Apple Inc. Auto Layout Guide. URL https://developer. apple.com/library/mac/documentation/UserExperience/ Conceptual/AutolayoutPG/index.html.Google ScholarGoogle Scholar
  3. Apple Inc. Cocoa Reference, 2009. URL http://developer. apple.com/docs/Cocoa/.Google ScholarGoogle Scholar
  4. Apple Inc. What Are Cocoa Bindings?, 2015. URL https:// developer.apple.com/library/mac/documentation/Cocoa/ Conceptual/CocoaBindings/Concepts/WhatAreBindings. html.Google ScholarGoogle Scholar
  5. G. J. Badros, A. Borning, and P. J. Stuckey. The Cassowary Linear Arithmetic Constraint Solving Algorithm. ACM Trans. Comput.-Hum. Interact., 8(4):267–306, Dec. 2001. ISSN 1073-0516.. URL http://doi.acm.org/10.1145/504704.504705. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. K. Bak, K. Czarnecki, and A. Wasowski. Feature and Meta-models in Clafer: Mixed, Specialized, and Coupled. In Proceedings of the Third International Conference on Software Language Engineering, SLE’10, pages 102–122, Berlin, Heidelberg, 2011. Springer-Verlag. ISBN 978-3-642-19439-9. URL http://dl.acm.org/citation. cfm?id=1964571.1964581. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. L. D. Bergman, T. Kichkaylo, G. Banavar, and J. B. Sussman. Pervasive Application Development and the WYSIWYG Pitfall. In Proceedings of the 8th IFIP International Conference on Engineering for Human-Computer Interaction, EHCI ’01, pages 157–172, London, UK, UK, 2001. Springer-Verlag. ISBN 3-540-43044-X. URL http://dl.acm.org/citation.cfm?id=645350.650726. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Birnbaum, R. Bareiss, T. Hinrichs, and C. Johnson. Interface Design Based on Standardized Task Models. In Proceedings of the 3rd International Conference on Intelligent User Interfaces, IUI ’98, pages 65–72, New York, NY, USA, 1998. ACM. ISBN 0-89791-955- 6.. URL http://doi.acm.org/10.1145/268389.268400. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Bohannon, B. C. Pierce, and J. A. Vaughan. Relational Lenses: A Language for Updatable Views. In Proceedings of the Twentyfifth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, PODS ’06, pages 338–347, New York, NY, USA, 2006. ACM. ISBN 1-59593-318-2.. URL http://doi.acm.org/ 10.1145/1142351.1142399. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Bohannon, J. N. Foster, B. C. Pierce, A. Pilkiewicz, and A. Schmitt. Boomerang: Resourceful Lenses for String Data. In Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’08, pages 407–419, New York, NY, USA, 2008. ACM. ISBN 978-1-59593-689-9.. URL http: //doi.acm.org/10.1145/1328438.1328487. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Borning. The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory. ACM Trans. Program. Lang. Syst., 3:353–387, October 1981. ISSN 0164-0925.. URL http://doi.acm.org/10.1145/357146.357147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. H. Borning. Thinglab–a Constraint-oriented Simulation Laboratory. PhD thesis, Stanford, CA, USA, 1979. AAI7917213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Chatty. Programs = Data + Algorithms + Architecture: Consequences for Interactive Software Engineering. In J. Gulliksen, M. B. Harning, P. Palanque, G. C. Veer, and J. Wesson, editors, Engineering Interactive Systems, pages 356–373. Springer-Verlag, Berlin, Heidelberg, 2008. ISBN 978-3-540-92697-9.. URL http://dx.doi.org/ 10.1007/978-3-540-92698-6_22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. U. Dayal and P. A. Bernstein. On the Updatability of Relational Views. In Proceedings of the Fourth International Conference on Very Large Data Bases - Volume 4, VLDB ’78, pages 368–377. VLDB Endowment, 1978. URL http://dl.acm.org/citation.cfm?id= 1286643.1286692. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. L. De Moura and N. Bjørner. Z3: An Efficient SMT Solver. In Proceedings of the Theory and Practice of Software, 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’08/ETAPS’08, pages 337–340, Berlin, Heidelberg, 2008. Springer-Verlag. ISBN 3-540-78799-2, 978- 3-540-78799-0. URL http://dl.acm.org/citation.cfm?id= 1792734.1792766. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. L. Domoszlai, B. Lijnse, and R. Plasmeijer. Parametric Lenses: Change Notification for Bidirectional Lenses. In Proceedings of the 26Nd 2014 International Symposium on Implementation and Application of Functional Languages, IFL ’14, pages 9:1–9:11, New York, NY, USA, 2014. ACM. ISBN 978-1-4503-3284-2.. URL http: //doi.acm.org/10.1145/2746325.2746333. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. W. Du and W. W. Wadge. A 3D Spreadsheet Based on Intensional Logic. IEEE Softw., 7(3):78–89, May 1990. ISSN 0740-7459.. URL http://dx.doi.org/10.1109/52.55232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. Felgentreff, A. Borning, R. Hirschfeld, J. Lincke, Y. Ohshima, B. Freudenberg, and R. Krahn. Babelsberg/JS. In R. Jones, editor, ECOOP 2014 – Object-Oriented Programming, volume 8586 of Lecture Notes in Computer Science, pages 411–436. Springer Berlin Heidelberg, 2014. ISBN 978-3-662-44201-2.. URL http://dx.doi. org/10.1007/978-3-662-44202-9_17.Google ScholarGoogle Scholar
  19. T. Felgentreff, T. Millstein, A. Borning, and R. Hirschfeld. Checks and Balances: Constraint Solving Without Surprises in Object-constraint Programming Languages. In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015, pages 767–782, New York, NY, USA, 2015. ACM. ISBN 978-1-4503-3689-5.. URL http://doi.acm.org/10.1145/2814270.2814311. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. N. Foster, M. B. Greenwald, J. T. Moore, B. C. Pierce, and A. Schmitt. Combinators for Bi-directional Tree Transformations: A Linguistic Approach to the View Update Problem. SIGPLAN Not., 40(1):233–246, Jan. 2005. ISSN 0362-1340.. URL http: //doi.acm.org/10.1145/1047659.1040325. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. B. N. Freeman-Benson. A Module Mechanism for Constraints in Smalltalk. In Conference Proceedings on Object-oriented Programming Systems, Languages and Applications, OOPSLA ’89, pages 389– 396, New York, NY, USA, 1989. ACM. ISBN 0-89791-333-7.. URL http://doi.acm.org/10.1145/74877.74918. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. B. N. Freeman-Benson. Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming. SIGPLAN Not., 25(10):77–88, Sept. 1990. ISSN 0362-1340.. URL http://doi.acm.org/10.1145/ 97946.97957. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. B. N. Freeman-Benson, J. Maloney, and A. Borning. An Incremental Constraint Solver. Commun. ACM, 33(1):54–63, Jan. 1990. ISSN 0001-0782.. URL http://doi.acm.org/10.1145/76372. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 77531.Google ScholarGoogle Scholar
  25. D. Garlan, R. Allen, and J. Ockerbloom. Architectural Mismatch: Why Reuse Is So Hard. IEEE Softw., 12(6):17–26, Nov. 1995. ISSN 0740-7459.. URL http://dx.doi.org/10.1109/52.469757. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Goldberg and D. Robson. Smalltalk-80: The Language and Its Implementation. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1983. ISBN 0-201-11371-6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. D. Jackson. Alloy: A Lightweight Object Modelling Notation. ACM Trans. Softw. Eng. Methodol., 11(2):256–290, Apr. 2002. ISSN 1049- 331X.. URL http://doi.acm.org/10.1145/505145.505149. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. G. E. Krasner and S. T. Pope. A Cookbook for Using the Modelview Controller User Interface Paradigm in Smalltalk-80. J. Object Oriented Program., 1(3):26–49, Aug. 1988. ISSN 0896-8438. URL http://dl.acm.org/citation.cfm?id=50757.50759. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. Lemon. kqueue (2). FreeBSD, 2008.Google ScholarGoogle Scholar
  30. T. M. H. Reenskaug. Thing-Model-View-Editor – an Example from a planningsystem. http://heim.ifi.uio.no/ trygver/1979/mvc- 1/1979-05-MVC.pdf, May 1979. URL http://heim.ifi.uio.no/ ~trygver/1979/mvc-1/1979-05-MVC.pdf.Google ScholarGoogle Scholar
  31. N. R. Mehta, N. Medvidovic, and S. Phadke. Towards a Taxonomy of Software Connectors. In Proceedings of the 22Nd International Conference on Software Engineering, ICSE ’00, pages 178–187, New York, NY, USA, 2000. ACM. ISBN 1-58113-206-9.. URL http: //doi.acm.org/10.1145/337180.337201. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Mernik, J. Heering, and A. M. Sloane. When and How to Develop Domain-specific Languages. ACM Comput. Surv., 37(4):316–344, Dec. 2005. ISSN 0360-0300.. URL http://doi.acm.org/10. 1145/1118890.1118892. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Microsoft. Wunderlist. URL https://www.wunderlist.com/ home.Google ScholarGoogle Scholar
  34. B. A. Myers. User Interface Software Tools. ACM Trans. Comput.-Hum. Interact., 2(1):64–103, Mar. 1995. ISSN 1073-0516.. URL http://doi.acm.org/10.1145/200968.200971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. B. A. Myers and M. B. Rosson. Survey on User Interface Programming. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’92, pages 195–202, New York, NY, USA, 1992. ACM. ISBN 0-89791-513-5.. URL http://doi.acm.org/ 10.1145/142750.142789. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. B. A. Nardi and J. R. Miller. The Spreadsheet Interface: A Basis for End User Programming. In Proceedings of the IFIP TC13 Third Interational Conference on Human-Computer Interaction, INTERACT ’90, pages 977–983, Amsterdam, The Netherlands, The Netherlands, 1990. North-Holland Publishing Co. ISBN 0-444-88817-9. URL http://dl.acm.org/citation.cfm?id=647402.725609. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. T. Neward. The Vietnam of Computer Science. URL http://blogs.tedneward.com/2006/06/26/The+Vietnam+ Of+Computer+Science.aspx.Google ScholarGoogle Scholar
  38. D. Notkin, D. Garlan, W. G. Griswold, and K. J. Sullivan. Adding Implicit Invocation to Languages: Three Approaches. In Proceedings of the First JSSST International Symposium on Object Technologies for Advanced Software, pages 489–510, London, UK, UK, 1993. Springer-Verlag. ISBN 3-540-57342-9. URL http://dl.acm.org/ citation.cfm?id=646897.710010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. S. Oney, B. Myers, and J. Brandt. InterState: A Language and Environment for Expressing Interface Behavior. In Proceedings of the 27th Annual ACM Symposium on User Interface Software and Technology, UIST ’14, pages 263–272, New York, NY, USA, 2014. ACM. ISBN 978-1-4503-3069-5.. URL http://doi.acm.org/10.1145/ 2642918.2647358. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. D. E. Perry and A. L. Wolf. Foundations for the Study of Software Architecture. ACM SIGSOFT SOFTWARE ENGINEERING NOTES, 17:40–52, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. K. W. Piersol. Object-oriented Spreadsheets: The Analytic Spreadsheet Package. In Conference Proceedings on Object-oriented Programming Systems, Languages and Applications, OOPLSA ’86, pages 385–390, New York, NY, USA, 1986. ACM. ISBN 0-89791-204-7.. URL http://doi.acm.org/10.1145/28697.28737. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. H. Samimi, A. Warth, M. Eslamimehr, and A. Borning. Constraints As a Design Pattern. In 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!), Onward! 2015, pages 28–43, New York, NY, USA, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. ACM. ISBN 978-1-4503-3688-8.. URL http://doi.acm.org/ 10.1145/2814228.2814244.Google ScholarGoogle Scholar
  44. M. Shaw. Procedure Calls Are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status. In Selected Papers from the Workshop on Studies of Software Design, ICSE ’93, pages 17–32, London, UK, UK, 1996. Springer-Verlag. ISBN 3-540- 61285-8. URL http://dl.acm.org/citation.cfm?id=645540. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. 657852.Google ScholarGoogle Scholar
  46. M. Shaw and P. C. Clements. A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems. In Proceedings of the 21st International Computer Software and Applications Conference, COMPSAC ’97, pages 6–13, Washington, DC, USA, 1997. IEEE Computer Society. ISBN 0-8186-8105-5. URL http://dl.acm.org/citation.cfm?id=645979.676005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. I. E. Sutherland. Sketchpad: A Man-machine Graphical Communication System. In Proceedings of the May 21-23, 1963, Spring Joint Computer Conference, AFIPS ’63 (Spring), pages 329–346, New York, NY, USA, 1963. ACM.. URL http://doi.acm.org/10. 1145/1461551.1461591. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. R. N. Taylor, N. Medvidovic, and E. M. Dashofy. Software Architecture: Foundations, Theory, and Practice. Wiley Publishing, 2009. ISBN 0470167742, 9780470167748. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. B. T. Vander Zanden, R. Halterman, B. A. Myers, R. McDaniel, R. Miller, P. Szekely, D. A. Giuse, and D. Kosbie. Lessons Learned About One-way, Dataflow Constraints in the Garnet and Amulet Graphical Toolkits. ACM Trans. Program. Lang. Syst., 23(6):776– 796, Nov. 2001. ISSN 0164-0925.. URL http://doi.acm.org/ 10.1145/506315.506318. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. B. T. Vander Zanden, R. Halterman, B. A. Myers, R. Miller, P. Szekely, D. A. Giuse, D. Kosbie, and R. McDaniel. Lessons Learned from Users’ Experiences with Spreadsheet Constraints in the Garnet and Amulet Graphical Toolkits. 2002.Google ScholarGoogle Scholar
  52. B. T. Vander Zanden, D. Baker, and J. Jin. An Explanation-based, Visual Debugger for One-way Constraints. In Proceedings of the 17th Annual ACM Symposium on User Interface Software and Technology, UIST ’04, pages 207–216, New York, NY, USA, 2004. ACM. ISBN 1-58113-957-8.. URL http://doi.acm.org/10.1145/1029632. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. 1029670.Google ScholarGoogle Scholar
  54. M. Weiher. Objective-Smalltalk:, 11 2010. URL http:// objective.st.Google ScholarGoogle Scholar
  55. M. Weiher and C. Dowie. In-Process REST at the BBC. In C. Pautasso, E. Wilde, and R. Alarcon, editors, REST: Advanced Research Topics and Practical Applications, pages 193–209. Springer New York, 2014. ISBN 978-1-4614-9298-6.. URL http://dx.doi. org/10.1007/978-1-4614-9299-3_11.Google ScholarGoogle Scholar
  56. M. Weiher and R. Hirschfeld. Polymorphic Identifiers: Uniform Resource Access in Objective-Smalltalk. In Proceedings of the 9th Symposium on Dynamic Languages, DLS ’13, pages 61–72, New York, NY, USA, 2013. ACM. ISBN 978-1-4503-2433-5.. URL http://doi.acm.org/10.1145/2508168.2508169. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Constraints as polymorphic connectors

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!