{"id":11825,"date":"2024-03-04T10:33:46","date_gmt":"2024-03-04T09:33:46","guid":{"rendered":"https:\/\/www.iese.fraunhofer.de\/blog\/?p=11825"},"modified":"2025-04-22T14:43:49","modified_gmt":"2025-04-22T12:43:49","slug":"smartness-in-software-based-systems-2","status":"publish","type":"post","link":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/","title":{"rendered":"The engineering of smartness in software-based systems"},"content":{"rendered":"<p class=\"lead\">In <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems\/\">the first part of this blog series<\/a>, we discussed the pursuit of smartness in software-based systems and showed how context awareness often enables what is perceived by end users as \u201csmart behavior\u201d. In today\u2019s post, we address the question of how smartness can be engineered.<\/p>\n<p>Real smartness in software-based systems goes beyond data collection and network capabilities. Software-based systems are smart if they show intelligent behavior. Data collection and network capabilities enable this often, but not necessarily. For example, a GPS navigation system that automatically switches to a dark theme layout in low-light conditions does not require network connectivity. However, even when data collection and network capabilities are necessary, they are not sufficient: More has to be done to create and deliver context-aware functionalities.<\/p>\n<p>In recent decades, we have improved our ability to collect and store large volumes of data, but the next question now is: What do we do with it? Or, more precisely, how should we process it? There are at least two answer paths, which complement each other. One refers to how to process raw or low-level data to derive high-level contextual information that is meaningful for humans. The second is how to process the context to show context-aware behavior. For example, there are many sensors in current mobile phones whose data is processed to indicate whether the user is walking or driving a car or riding a bus. Another example: raw GPS coordinates can be used to tell whether the user is at home, at work, or near a grocery store. And you can always further process lower-level contextual information to derive higher-level contextual information (for example, walking near a grocery store could have a special meaning for a certain system-supported user task in a particular domain).<\/p>\n<h2><strong>Identifying contextual elements<\/strong><\/h2>\n<p>The elicitation of context-aware functionalities requires the identification of contextual elements. A contextual element is \u201cany piece of data or information that enables to characterize an entity in a domain\u201d [1]. Consider, for example, Airbnb. In that system, the list of entities could include, for example, the traveler, the host, and the accommodation. Table 1 shows potential contextual elements that can help characterize these entities.<\/p>\n<p>Table 1. Potential contextual elements of some AirBnB entities.<\/p>\n\n<table id=\"tablepress-4\" class=\"tablepress tablepress-id-4\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Entity<\/th><th class=\"column-2\">Contextual elements<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Traveler<\/td><td class=\"column-2\">Age, marital status, home city, traveling habits<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Host<\/td><td class=\"column-2\">Reputation<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Accommodation<\/td><td class=\"column-2\">Location, type of accommodation, number of rooms<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-4 from cache -->\n<p>Contextual elements that are relevant in one particular application domain may not be so in another. Therefore, an early (and essential) step in the design of context-aware systems is to know what contextual elements are meaningful in the application domain of interest. The identification of contextual elements is a creative process that can be positively influenced by the system designers\u2019 experience with context awareness, which makes the identification (and eventual implementation) of context-aware functionalities a technology-driven activity. In 2016, some researchers investigated the design of context-aware systems in a set of studies and showed how the technology-driven approach works [2]. Of course, not only technology experts but also domain experts can contribute to the identification of contextual elements. Yet another study proposes an iterative process that investigates the domain context using both top-down and bottom-up perspectives [3]. While creativity is still regarded as an essential tool, the approach provides an initial systematization to specific creativity techniques (brainstorming, think out loud, and card sorting).<\/p>\n<h2><strong>Using contextual elements<\/strong><\/h2>\n<p>Now assume you want to add context awareness to your application and have already identified the relevant contextual elements for your application domain. For example, let\u2019s say that in your application, contextual elements such as \u201ccurrent time\u201d, \u201cuser location\u201d, \u201cweather\u201d, \u201cuser activity\u201d, and \u201cuser mood\u201d are available . At this point, the question is: How can these contextual elements be used to describe context-aware functionalities? This is often a trick question because context-aware functionalities deal with implicit input and often provide users with positively unexpected (or \u201csmart\u201d) behaviors. During a user interaction in a traditional application, users provide explicit input to the system, which then generates output. In a context-aware application, implicit input is provided by (or sensed from) the context and influences the system behavior.<\/p>\n<p>The creative process is typically associated with the \u201clightbulb moment\u201d, where it starts with an insight in one\u2019s mind (the idea). This initial idea needs additional components to nurture it (experience and knowledge). The idea is then communicated and expressed through language, and actions are taken to actually implement the idea and produce a creative product [4]. The concept of nurturing can be found in manifestations of the creative process such as <a href=\"https:\/\/hpi.de\/school-of-design-thinking\/design-thinking\/hintergrund\/design-thinking-prozess.html\">Design Thinking<\/a> or the <a href=\"https:\/\/www.thesprintbook.com\/the-design-sprint\">Design Sprint<\/a>, where experience and knowledge are brought into the process by working in multidisciplinary teams and taking time to understand users, their challenges and problems, their needs, and the context they find themselves in.<\/p>\n<p>Understanding users and, especially, their challenges is key to producing creative solutions. In the first part of this series, we <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems\/\">discussed the Kano<\/a> model and the role of delighter features. These unexpected features cause the \u201cwow effect\u201d and are crucial building blocks for truly \u201csmart systems\u201d. Creativity processes are the tools one needs to employ to come up with ideas for such delighter features, as they can\u2019t simply be elicited from users or other stakeholders.<\/p>\n<p>Starting the creative process with the users and their problems in mind and further exploring them with the help of experience and knowledge of multidisciplinary teams will, when implemented properly, lead to desirable solutions. Desirability is a necessary but not sufficient attribute of the result of a successful creative process. Techniques for nurturing ideas and shaping solutions must make sure that it is actually technically feasible to implement it and the resulting solution (i.e., the smart system) is viable from a business point of view [5]. Therefore, it is important to follow an approach to creativity that brings together a thorough understanding of users, their problems, needs, and desires with the potentials and limitations of technology and business.<\/p>\n<p>At Fraunhofer IESE, we created the method VIEW (Vision &amp; Innovation Experience Workshop) for multidisciplinary teams, which utilizes several different creativity techniques and produces concrete solution scenarios for smart systems within one to one-and-a-half days. Techniques are used to discover problems and their root causes, come up with a large number of ideas, and boil them down to concrete solution scenarios. Engineering smart systems and creating desirable context-aware delighter features happens within the creative process, but not by chance. In each technique, we use explanations, examples, triggers, and constraints to stay within the boundaries of business viability and technical feasibility while ensuring that the technology-driven perspective of context awareness is an integral part of the creative process. For example, problem discovery can be steered towards the \u201cright\u201d problems (i.e., those that promise high potential to be solved with context-aware features) through phrasing of the task in this technique. During brainstorming, certain contextual elements can be used to ensure ideas are generated that utilize these elements (i.e., producing ideas for context-aware features). The success of this creative process lies in the tailoring of each individual creativity technique to ensure the creation of ideas for context-aware systems while also producing <em>desirable<\/em>, <em>feasible,<\/em> and <em>viable<\/em> solution scenarios.<\/p>\n<h2><strong>Boosting creativity<\/strong><\/h2>\n<p>In recent years, we have been investigating how creativity can be improved in the elicitation of context-aware functionalities, for creativity techniques alone also have their own limitations. Even for experienced requirements engineers, it may be hard to think about the various different ways in which the context may influence a given user task. To address this issue, we have been doing research on how to leverage contextual data to support the elicitation of context-aware functionalities. This will be the topic of our next and final post in this series: <strong>Data-driven smartness engineering. <\/strong>See you then.<\/p>\n<div class=\"info-box\">\n<p><strong>Do you need support on engineering creativity to discover context-aware functionalities for your software-based systems?<\/strong><\/p>\n<p>Our team in Digital Innovation Design can assist you. <a href=\"mailto:rodrigo.falcao@iese.fraunhofer.de?Subject=&quot;Blog post: The Pursuit of Smartness in Software-based Systems&quot;\">Stay in touch with us<\/a>!<\/p>\n<\/div>\n<h2>References:<\/h2>\n<p>[1] Vieira, Vaninha, Patricia Tedesco, and Ana Carolina Salgado. &#8222;Designing context-sensitive systems: An integrated approach.&#8220; Expert Systems with Applications 38.2 (2011): 1119-1138.<\/p>\n<p>[2] Bauer, Christine, and Anind K. Dey. &#8222;Considering context in the design of intelligent systems: Current practices and suggestions for improvement.&#8220; Journal of Systems and Software 112 (2016): 26-47.<\/p>\n<p>[3] Bauer, Christine, and Sarah Spiekermann. &#8222;Conceptualizing context for pervasive advertising.&#8220; Pervasive Advertising. London: Springer London, 2011. 159-183.<\/p>\n<p>[4] Gl\u0103veanu, Vlad P. and Kaufman, James C. \u201cCreativity \u2013 A Historical Perspective.\u201d in Kaufman, James C. and Sternberg, Robert J. (editors): \u201cThe Cambridge handbook of creativity\u201d, 2<sup>nd<\/sup> edition, New York, 2019. 9-26.<\/p>\n<p>[5] IDEO U. \u201cHow to Prototype a New Business.\u201d <a href=\"https:\/\/www.ideou.com\/blogs\/inspiration\/how-to-prototype-a-new-business\">https:\/\/www.ideou.com\/blogs\/inspiration\/how-to-prototype-a-new-business<\/a>, last accessed: 2023\/11\/28.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the first part of this blog series, we discussed the pursuit of smartness in software-based systems and showed how context awareness often enables what is perceived by end users as \u201csmart behavior\u201d. In today\u2019s post, we address the question&#8230;<\/p>\n","protected":false},"author":130,"featured_media":11831,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[211,177],"tags":[198,127,31,233,77],"coauthors":[555,361],"class_list":["post-11825","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digitale-transformation","category-kuenstliche-intelligenz","tag-english","tag-requirements-engineering","tag-smart-rural-areas-smart-cities","tag-software-engineering","tag-user-experience"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The engineering of smartness in software-based systems - Blog des Fraunhofer IESE<\/title>\n<meta name=\"description\" content=\"How context awareness enables intelligent behavior in software systems: learn to identify contextual elements for enhanced user experience.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The engineering of smartness in software-based systems - Blog des Fraunhofer IESE\" \/>\n<meta property=\"og:description\" content=\"How context awareness enables intelligent behavior in software systems: learn to identify contextual elements for enhanced user experience.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Fraunhofer IESE\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/FraunhoferIESE\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-04T09:33:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-22T12:43:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2024\/02\/Rodrigo_istockChuckSchugPhotography_2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1203\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Dr. Rodrigo Falc\u00e3o, Patrick Mennig\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@FraunhoferIESE\" \/>\n<meta name=\"twitter:site\" content=\"@FraunhoferIESE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr. Rodrigo Falc\u00e3o\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Dr. Rodrigo Falc\u00e3o, Patrick Mennig\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/\"},\"author\":{\"name\":\"Dr. Rodrigo Falc\u00e3o\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/person\\\/a4ce37375fc9a0460105e296caab9204\"},\"headline\":\"The engineering of smartness in software-based systems\",\"datePublished\":\"2024-03-04T09:33:46+00:00\",\"dateModified\":\"2025-04-22T12:43:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/\"},\"wordCount\":1412,\"publisher\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/Rodrigo_istockChuckSchugPhotography_2.jpg\",\"keywords\":[\"English\",\"Requirements Engineering\",\"Smart Rural Areas \\\/ Smart Cities\",\"Software Engineering\",\"User Experience\"],\"articleSection\":[\"Digitale Transformation\",\"K\u00fcnstliche Intelligenz\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/\",\"name\":\"The engineering of smartness in software-based systems - Blog des Fraunhofer IESE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/Rodrigo_istockChuckSchugPhotography_2.jpg\",\"datePublished\":\"2024-03-04T09:33:46+00:00\",\"dateModified\":\"2025-04-22T12:43:49+00:00\",\"description\":\"How context awareness enables intelligent behavior in software systems: learn to identify contextual elements for enhanced user experience.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/Rodrigo_istockChuckSchugPhotography_2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/Rodrigo_istockChuckSchugPhotography_2.jpg\",\"width\":2400,\"height\":1203},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/smartness-in-software-based-systems-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The engineering of smartness in software-based systems\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\",\"name\":\"Fraunhofer IESE\",\"description\":\"Blog des Fraunhofer-Institut f\u00fcr Experimentelles Software Engineering\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\",\"name\":\"Fraunhofer IESE\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/fhg_iese_logo.png\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/fhg_iese_logo.png\",\"width\":183,\"height\":50,\"caption\":\"Fraunhofer IESE\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/FraunhoferIESE\\\/\",\"https:\\\/\\\/x.com\\\/FraunhoferIESE\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/fraunhoferiese\\\/\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/FraunhoferIESE\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/person\\\/a4ce37375fc9a0460105e296caab9204\",\"name\":\"Dr. Rodrigo Falc\u00e3o\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/meneses_rodrigo-96x96.jpg21b80fc056783a7134e31278766ff775\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/meneses_rodrigo-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/meneses_rodrigo-96x96.jpg\",\"caption\":\"Dr. Rodrigo Falc\u00e3o\"},\"description\":\"Dr. Rodrigo Falc\u00e3o ist seit 2017 als Software Engineer am Fraunhofer IESE t\u00e4tig, wo er als Senior Architect &amp; Project Manager in der Abteilung Architecture-Centric Engineering arbeitet. Im Jahr 2022 promovierte er an der Technischen Universit\u00e4t Kaiserslautern in Informatik. Sein Schwerpunkt lag dabei auf datengetriebenen Ans\u00e4tzen zur Unterst\u00fctzung der Erhebung kontextbezogener Funktionalit\u00e4ten. Zu seinen Forschungsinteressen geh\u00f6ren Kontextbewusstsein, datengetriebene Kontextmodellierung, empirisches Software Engineering und Interoperabilit\u00e4t. Bevor er zum IESE kam, arbeitete er 15 Jahre lang in der Softwareentwicklungsbranche, wo er u.a. als Projektleiter, Systemanalytiker und Entwickler t\u00e4tig war. Aus diesem Grund liegt ihm die Vorstellung eines Br\u00fcckenschlags zwischen Industrie und Wissenschaft ganz besonders am Herzen. --- Dr. Rodrigo Falc\u00e3o has been a software engineer at Fraunhofer IESE since 2017, where he works as a Senior Architect &amp; Project Manager in the Architecture-Centric Engineering department. In 2022, he completed his PhD in Computer Science at the Technical University of Kaiserslautern, focusing on data-driven approaches to support the elicitation of context-aware functionalities. His research interests include context awareness, data-driven context modeling, empirical software engineering, and interoperability. Before joining IESE, he worked for 15 years in the software development industry, holding roles such as project leader, system analyst, and developer. For this reason, he is passionate about the idea of bridging the gap between industry and academia.\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/author\\\/rodrigo-falcao\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The engineering of smartness in software-based systems - Blog des Fraunhofer IESE","description":"How context awareness enables intelligent behavior in software systems: learn to identify contextual elements for enhanced user experience.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/","og_locale":"de_DE","og_type":"article","og_title":"The engineering of smartness in software-based systems - Blog des Fraunhofer IESE","og_description":"How context awareness enables intelligent behavior in software systems: learn to identify contextual elements for enhanced user experience.","og_url":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/","og_site_name":"Fraunhofer IESE","article_publisher":"https:\/\/www.facebook.com\/FraunhoferIESE\/","article_published_time":"2024-03-04T09:33:46+00:00","article_modified_time":"2025-04-22T12:43:49+00:00","og_image":[{"width":2400,"height":1203,"url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2024\/02\/Rodrigo_istockChuckSchugPhotography_2.jpg","type":"image\/jpeg"}],"author":"Dr. Rodrigo Falc\u00e3o, Patrick Mennig","twitter_card":"summary_large_image","twitter_creator":"@FraunhoferIESE","twitter_site":"@FraunhoferIESE","twitter_misc":{"Verfasst von":"Dr. Rodrigo Falc\u00e3o","Gesch\u00e4tzte Lesezeit":"7\u00a0Minuten","Written by":"Dr. Rodrigo Falc\u00e3o, Patrick Mennig"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/#article","isPartOf":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/"},"author":{"name":"Dr. Rodrigo Falc\u00e3o","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/person\/a4ce37375fc9a0460105e296caab9204"},"headline":"The engineering of smartness in software-based systems","datePublished":"2024-03-04T09:33:46+00:00","dateModified":"2025-04-22T12:43:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/"},"wordCount":1412,"publisher":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2024\/02\/Rodrigo_istockChuckSchugPhotography_2.jpg","keywords":["English","Requirements Engineering","Smart Rural Areas \/ Smart Cities","Software Engineering","User Experience"],"articleSection":["Digitale Transformation","K\u00fcnstliche Intelligenz"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/","url":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/","name":"The engineering of smartness in software-based systems - Blog des Fraunhofer IESE","isPartOf":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/#primaryimage"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2024\/02\/Rodrigo_istockChuckSchugPhotography_2.jpg","datePublished":"2024-03-04T09:33:46+00:00","dateModified":"2025-04-22T12:43:49+00:00","description":"How context awareness enables intelligent behavior in software systems: learn to identify contextual elements for enhanced user experience.","breadcrumb":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/#primaryimage","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2024\/02\/Rodrigo_istockChuckSchugPhotography_2.jpg","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2024\/02\/Rodrigo_istockChuckSchugPhotography_2.jpg","width":2400,"height":1203},{"@type":"BreadcrumbList","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/smartness-in-software-based-systems-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.iese.fraunhofer.de\/blog\/"},{"@type":"ListItem","position":2,"name":"The engineering of smartness in software-based systems"}]},{"@type":"WebSite","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#website","url":"https:\/\/www.iese.fraunhofer.de\/blog\/","name":"Fraunhofer IESE","description":"Blog des Fraunhofer-Institut f\u00fcr Experimentelles Software Engineering","publisher":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iese.fraunhofer.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization","name":"Fraunhofer IESE","url":"https:\/\/www.iese.fraunhofer.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2016\/08\/fhg_iese_logo.png","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2016\/08\/fhg_iese_logo.png","width":183,"height":50,"caption":"Fraunhofer IESE"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/FraunhoferIESE\/","https:\/\/x.com\/FraunhoferIESE","https:\/\/www.linkedin.com\/company\/fraunhoferiese\/","https:\/\/www.youtube.com\/c\/FraunhoferIESE"]},{"@type":"Person","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/person\/a4ce37375fc9a0460105e296caab9204","name":"Dr. Rodrigo Falc\u00e3o","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2023\/08\/meneses_rodrigo-96x96.jpg21b80fc056783a7134e31278766ff775","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2023\/08\/meneses_rodrigo-96x96.jpg","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2023\/08\/meneses_rodrigo-96x96.jpg","caption":"Dr. Rodrigo Falc\u00e3o"},"description":"Dr. Rodrigo Falc\u00e3o ist seit 2017 als Software Engineer am Fraunhofer IESE t\u00e4tig, wo er als Senior Architect &amp; Project Manager in der Abteilung Architecture-Centric Engineering arbeitet. Im Jahr 2022 promovierte er an der Technischen Universit\u00e4t Kaiserslautern in Informatik. Sein Schwerpunkt lag dabei auf datengetriebenen Ans\u00e4tzen zur Unterst\u00fctzung der Erhebung kontextbezogener Funktionalit\u00e4ten. Zu seinen Forschungsinteressen geh\u00f6ren Kontextbewusstsein, datengetriebene Kontextmodellierung, empirisches Software Engineering und Interoperabilit\u00e4t. Bevor er zum IESE kam, arbeitete er 15 Jahre lang in der Softwareentwicklungsbranche, wo er u.a. als Projektleiter, Systemanalytiker und Entwickler t\u00e4tig war. Aus diesem Grund liegt ihm die Vorstellung eines Br\u00fcckenschlags zwischen Industrie und Wissenschaft ganz besonders am Herzen. --- Dr. Rodrigo Falc\u00e3o has been a software engineer at Fraunhofer IESE since 2017, where he works as a Senior Architect &amp; Project Manager in the Architecture-Centric Engineering department. In 2022, he completed his PhD in Computer Science at the Technical University of Kaiserslautern, focusing on data-driven approaches to support the elicitation of context-aware functionalities. His research interests include context awareness, data-driven context modeling, empirical software engineering, and interoperability. Before joining IESE, he worked for 15 years in the software development industry, holding roles such as project leader, system analyst, and developer. For this reason, he is passionate about the idea of bridging the gap between industry and academia.","url":"https:\/\/www.iese.fraunhofer.de\/blog\/author\/rodrigo-falcao\/"}]}},"jetpack_featured_media_url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2024\/02\/Rodrigo_istockChuckSchugPhotography_2.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/11825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/users\/130"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/comments?post=11825"}],"version-history":[{"count":4,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/11825\/revisions"}],"predecessor-version":[{"id":11842,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/11825\/revisions\/11842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/media\/11831"}],"wp:attachment":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/media?parent=11825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/categories?post=11825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/tags?post=11825"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/coauthors?post=11825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}