SCIENCE CHINA Information Sciences, Volume 61 , Issue 5 : 050101(2018) https://doi.org/10.1007/s11432-017-9372-7

Situation analytics — at the dawn of a new software engineering paradigm$^\dagger$

More info
  • ReceivedDec 21, 2017
  • AcceptedFeb 26, 2018
  • PublishedApr 20, 2018


In this paper,I first review the seminal work by Thomas Kuhn — The Structure of Scientific Revolutions— and elaborate my view on paradigm shifts in software engineering research and practice as it turns 50 years old in 2018. I then examine major undertakings of the computing profession since early days of modern computing, especially those done by the software engineering community as a whole. I also enumerate anomalies and crises that occurred at various stages, and the attempts to provide solutions by the software engineering professionals in the past five decades. After providing such a background, I direct readers' attention toward emerging anomalies in software engineering, at a severity level that is causing another software engineering crisis, and suggest a set of criteria for feasible solutions. The main theme of this paper is to advocate that situation analytics, equipped with necessary definitions of essential concepts including situation and intention as parts of a new computational framework, can serve as the foundation for a new software engineering paradigm named the Situation-Centric Paradigm. In this framework, situation is considered a new abstraction for computing and is clearly differentiated from the widely accepted existing abstractions, namely function and object. I argue that the software engineering professionals will inevitably move into this new paradigm, willingly or unwillingly, to empower Human-Embedded Computing (HEC) and End-User Embedded Computing (EUEC), much more than what they have done with traditional human-centered or user-centric computing altogether. In the end, I speculate that an ultimate agile method may be on the rise, and challenge readers to contemplate “what if" hundreds of thousands “end-user developers" emerge into the scene where the boundaries between end users and developers become much more blurred.


This paper was partially supported by 111 Intelligence Base of High Confidence Software Technologies.


[1] Bauer F, Bolliet L, Helms H. Report of a conference sponsored by the nato science committee. In: NATO Software Engineering Conference, 1968. 8. Google Scholar

[2] Xu Y, Helal A. Scalable Cloud-Sensor Architecture for the Internet of Things. IEEE Internet Things J, 2016, 3: 285-298 CrossRef Google Scholar

[3] Mei H, Huang G, Xie T. Internetware: a software paradigm for internet computing. Computer, 2012, 45: 26--31. Google Scholar

[4] Chentouf Z. Cognitive software engineering: a research framework and roadmap. J Softw Eng, 2014, 7: 530--539. Google Scholar

[5] Kennedy M R, Umphress D A. People solutions to software problems. CrossTalk, 2011. 16--20. Google Scholar

[6] Kuhn T S. The Structure of Scientific Revolutions. Chicago: University of Chicago Press, 2012. Google Scholar

[7] Rajlich V. Changing the paradigm of software engineering. Commun ACM, 2006, 49: 67--70. Google Scholar

[8] White A S. An Agile Project System Dynamics Simulation Model. Int J Inf Technologies Syst Approach, 2014, 7: 55-79 CrossRef Google Scholar

[9] Gosling J, Joy B, Steele G L, et al. The Java language specification. Pearson Education, 2014. https://www.pearson.com/us/higher-education/program/Gosling-Java-Language-Specification-Java-SE-8-Edition-The/PGM137443.html. Google Scholar

[10] Boehm B W. A spiral model of software development and enhancement. Computer, 1988, 21: 61--72. Google Scholar

[11] Boehm B W. Software Engineering Economicsvolume. Upper Saddle River: Prentice Hall PTR, 1981. 197. Google Scholar

[12] Beck K, Beedle M, van Bennekum A, et al. Manifesto for Agile Software Development. Twelve Principles of Agile Software, 2001. http://agilemanifesto.org/. Google Scholar

[13] Schwaber K, Beedle M. Agile Software Development With Scrum. Upper Saddle River: Prentice Hall, 2002, 1. Google Scholar

[14] Chang C, Schilit B. Aware computing. Computer, 2014, 47: 20--21. Google Scholar

[15] Ackoff R L. From data to wisdom. J Appl Syst Analy, 1989, 16: 3--9. Google Scholar

[16] Rowley J. The wisdom hierarchy: representations of the DIKW hierarchy. J Inf Sci, 2007, 33: 163-180 CrossRef Google Scholar

[17] Wang D, Amin M T, Li S, et al. Using humans as sensors: an estimation-theoretic perspective. In: Proceedings of the 13th International Symposium on Information Processing in Sensor Networks, Berlin, 2014. 35--46. Google Scholar

[18] Harman M. Software engineering meets evolutionary computation. Computer, 2011, 44: 31--39. Google Scholar

[19] Witte R, Sateli B, Khamis N, et al. Intelligent software development environments: integrating natural language processing with the eclipse platform. In: Proceedings of Conference on Artificial Intelligence. Berlin: Springer, 2011. 408--419. Google Scholar

[20] Petke J, Haraldsson S, Harman M, et al. Genetic improvement of software: a comprehensive survey. IEEE Trans Evolution Comput, 2017. Google Scholar

[21] Neergard L. Obama proposes `precision medicine' to end one-size-fits-all. Drug Discovery and Development, 2015. Google Scholar

[22] Schmidt A, Beigl M, Gellersen H W. There is more to context than location. Comput Graphics, 1999, 23: 893-901 CrossRef Google Scholar

[23] Biferno M A, Stanley D L. The Touch-Sensitive Control/Display Unit: a Promising Computer Interface. Technical Report, SAE Technical Paper. 1983. Google Scholar

[24] Endsley M R. Measurement of Situation Awareness in Dynamic Systems. Hum Factors, 1995, 37: 65-84 CrossRef Google Scholar

[25] Endsley M R. Toward a Theory of Situation Awareness in Dynamic Systems. Hum Factors, 1995, 37: 32-64 CrossRef Google Scholar

[26] McCarthy J. Situation calculus with concurrent events and narrative. 1995. http://www-formal.stanford.edu/jmc/narrative.html. Google Scholar

[27] Mccarthy J, Hayes P J. Some philosophical problems from the standpoint of artificial intelligence. In: Machine Intelligence. Edinburgh: Edinburgh University Press, 1969. 463--502. Google Scholar

[28] Cohen P R, Morgan J L, Pollack M E. Intentions in Communication. Cambridge: The MIT Press, 1990. Google Scholar

[29] Barwise J, Perry J. The Situation Underground. Palo Alto: Stanford University Press, 1980. Google Scholar

[30] Barwise J, Perry J. Situations and attitudes. Philpapers, 1991, 25: 743--770. Google Scholar

[31] Haddawy P, Frommberger L, Kauppinen T, et al. Situation awareness in crowdsensing for disease surveillance in crisis situations. In: Proceedings of the 7th International Conference on Information and Communication Technologies and Development, Singapore, 2015. 38. Google Scholar

[32] Malle B F, Knobe J. The distinction between desire and intention: a folk-conceptual analysis. In: Intentions and Intentionality: Foundations of Social Cognition. Cambridge: The MIT Press, 2001. 45--67. Google Scholar

[33] Chang C K, Jiang H, Ming H. Situ: A Situation-Theoretic Approach to Context-Aware Service Evolution. IEEE Trans Serv Comput, 2009, 2: 261-275 CrossRef Google Scholar

[34] Chang C K. Situation analytics: a foundation for a new software engineering paradigm. Computer, 2016, 49: 24--33. Google Scholar

[35] Dong J, Yang H I, Chang C K. Identifying factors for human desire inference in smart home environments. In: Proceedings of International Conference on Smart Homes and Health Telematics. Berlin: Springer, 2013. 230--237. Google Scholar

[36] Xie H, Yang J, Chang C K. A statistical analysis approach to predict user's changing requirements for software service evolution. J Syst Softw, 2017, 132: 147-164 CrossRef Google Scholar

[37] Jaimes A, Sebe N, Gatica-Perez D. Human-centered computing: a multimedia perspective. In: Proceedings of the 14th ACM International Conference on Multimedia, Santa Barbara, 2006. 855--864. Google Scholar

[38] Larman C, Basili V R. Iterative and incremental developments: a brief history. Computer, 2003, 36: 47--56. Google Scholar

[39] Bullet N S. Essence and accidents of software engineering, fp brooks. IEEE Comput, 1987, 20: 10--19. Google Scholar

[40] Bass L, Weber I, Zhu L. DevOps: A Software Architect's Perspective. Upper Saddle River: Addison-Wesley Professional, 2015. Google Scholar

  • Figure 1

    (Color online) Software engineering paradigm shifts.

  • Table 1   Progress in modern computing from 1968
    State of computing
    Anomalies/crises and
    complexity of problems
    Abundance of SE solutions
    From never
    to seldom
    Early commercial
    SE was coined due to
    programming scalability
    Software factory,
    high-level language,
    waterfall metaphor
    From seldom
    to not much
    Volatile computing
    environments &
    Software development environments,
    early requirements engineering
    From not much
    to occasionally
    PC, Internet,
    storage, servers
    SE in the very-large
    setting, collaborative
    SE on the rise
    Planned process,
    SE environments,
    productivity tools, object-oriented
    risk management,
    formal methods
    From occasionally
    to often
    PDA, data-enriched
    Undue process overhead,
    frequent software failures,
    WWW syndrome,
    poor usability,
    Y2K syndrome
    Agile process,
    open-source, human-
    computer interaction,
    usability testing
    From often to
    Tablets, smart phones,
    B2B/B2C services,
    mobile Internet/smart
    Ever-increasing needs
    for mobility, severe
    concerns on security,
    higher expectations
    on service granularity
    and timeliness
    Model driven, services
    computing, model
    checking, micro-
    services/mobile apps
    From always
    to immersive
    Cloud/edge/fog computing,
    IoT, emergence of 4G/LTE
    Extreme ubiquity,
    complexity on system
    of systems, micro tasks,
    nationwide initiatives
    such as NextGen of UK
    and many derivatives in
    other countries
    crowd sourcing

Copyright 2020 Science China Press Co., Ltd. 《中国科学》杂志社有限责任公司 版权所有

京ICP备17057255号       京公网安备11010102003388号