12 research outputs found

    CSM-424- Evolutionary Complexity: Investigations into Software Flexibility

    Get PDF
    Flexibility has been hailed as a desirable quality since the earliest days of software engineering. Classic and modern literature suggest that particular programming paradigms, architectural styles and design patterns are more “flexible” than others but stop short of suggesting objective criteria for measuring such claims. We suggest that flexibility can be measured by applying notions of measurement from computational complexity to the software evolution process. We define evolution complexity (EC) metrics, and demonstrate that— (a) EC can be used to establish informal claims on software flexibility; (b) EC can be constant ����or linear� in the size of the change; (c) EC can be used to choose the most flexible software design policy. We describe a small-scale experiment designed to test these claims

    Heterogeneous architecture framework for video analysis system

    Get PDF
    From the point of view of neurobiology the processes of human analysis of sound, images, video are investigated. From the point of view of software engineering, architectural solutions of systems that automate these processes are analysed. Based on the obtained data for the new automation system it has been developed an architectural solution that improves the quality of the video analysis process due to considering images and sounds; has a flexible and scalable structure compared to others, so the systemcan adapt faster to changes in requirements

    Value creation and value capture in software product business: Analyzing product development, B2B sales and software process methodologies

    Get PDF
    This study is about value creation and value capture in B2B software product business in new product development context. The goal of the study is to understand how academic and managerial new product development, B2B sales and software process methodologies fit with the value creation and value capture theory. Research method is desk research. This study breaks new product development, B2B sales and software process methodologies in pieces and analyzes what are the principles for value creation, what actors are involved and how learning and risk are treated. The results of this study are two-folded. Firstly the value creation and value capture and dynamic capability are relatively weak concepts to explain practical innovation work in companies. Secondly, methodologies analyzed are partially conflicting and none of them cover the full process how innovation should be understood and managed. Main issues in are how to reach dominant design and mainstream market in order to reach profits, how to arrange sales channel and how to apply software process properly

    Business process management system untuk sistem informasi penginapan pada syariah rooms hospitality

    Get PDF
    INDONESIA: Proses bisnis merupakan hal yang tidak bisa dipisahkan dengan dunia bisnis. Proses bisnis dapat menjadi sebuah pedoman dalam menjalankan sebuah bisnis agar sesuai dengan visi dan misi perusahaan. Salah satu masalah yang sering terjadi adalah pengelolaan data yang masih manual yang menyebabkan tingkat duplikasi data cukup tinggi dan ketidakrapian dalam pengelolaan tempat dokumen perusahaan yang menyebabkan penumpukan kertas-kertas dokumen perusahaan. Pada akhirnya perusahaan dituntut untuk menggunakan sistem informasi guna mengelola data tersebut dengan baik. Namun, permasalahan muncul diantaranya adalah sistem informasi yang belum sesuai dengan kebutuhan perusahaan dimana terdapat lebih dari satu sistem informasi yang digunakan. Biaya dalam membuat sistem informasi tersebut juga terhitung mahal serta dalam pengembangan fitur- fiturnya yang menyesuaikan perubahan proses bisnis yang dijalankan. Dalam hal ini dibutuhkan sebuah sistem informasi yang dapat menyelesaikan permasalahan- permasalahan tersebut. Sehingga biaya bukan lagi menjadi masalah, pengembangan fitur menjadi lebih mudah dan dapat disesuaikan dengan proses bisnis yang berjalan. Pada penelitian ini dibangunlah sebuah sistem yang dapat menyesuaikan proses bisnis yang dijalankan sebuah perusahaan yang disebut Sistem BPM. Dalam penelitian ini menggunakan pendekatan proses bisnis dalam penggunaan sistem tersebut sehingga sistem bersifat flexible dan reusable. Flexible dalam hal ini adalah sistem dapat dijalankan sesuai dengan proses bisnis yang diinputkan. Sedangkan reusable dalam hal ini adalah web service yang disediakan oleh sistem dapat digunakan pada proses bisnis lain. Adapun studi kasus pada penelitian ini melibatkan Syariahrooms Hospitality dan penelitian ini berhasil membangun sistem BPM yang bersifat flexible dan reusable. ENGLISH: Business processes are an inseparable part of the business world. Business processes can be a guideline in running a business to match the company's vision and mission. One of the most common problems is manual data management which causes a high level of data duplication and untidiness in the management of the company's document space which causes the accumulation of company documents. In the end, companies are required to use information systems to manage the data properly. However, problems that arise include the information system that is not in accordance with the needs of the company where there is more than one information system used. The cost in making the information system is also quite expensive and in developing its features that adapt to changes in the business processes that are carried out. In this case we need an information system that can solve these problems. So that cost is no longer a problem, feature development becomes easier and can be adapted to current business processes. In this research, a system is built that can adjust the business processes run by a company called the BPM System. This research uses a business process approach in using the system so that the system is flexible and reusable. Flexible in this case is the system can be run according to the inputted business processes. While reusable in this case is a web service provided by the system that can be used in other business processes. The case study in this study involved Syariahrooms Hospitality and this research succeeded in building a flexible and reusable BPM system. ARABIC: العمليات التجارية هي جزء لا يتجزأ من عالم الأعمال. يمكن أن تكون العمليات التجارية بمثابة دليل إرشادي في إدارة الأعمال لتتناسب مع رؤية الشركة ورسالتها. إحدى المشكلات التي تحدث غال ًبا هي الإدارة اليدوية للبيانات التي تتسبب في ارتفاع مستوى تكرار البيانات وعدم التنظيم في إدارة مساحة مستندات الشركة .مما يؤدي إلى تراكم مستندات الشركة. في النهاية ، يتعين على الشركات استخدام أنظمة المعلومات لإدارة البيانات بشكل صحيح. ومع ذلك ، تنشأ مشاكل بما في ذلك نظام المعلومات الذي لا يتوافق مع احتياجات الشركة حيث يوجد أكثر من نظام معلومات واحد مستخدم. تعد تكلفة إنشاء نظام المعلومات أي ًضا باهظة الثمن وكذلك في تطوير ميزاته التي تتكيف مع التغييرات في العمليات التجارية التي يتم تنفيذها. في هذه الحالة نحتاج إلى نظام معلومات يمكنه حل هذه المشكلات. بحيث لم تعد هذه التكلفة مشكلة ، يصبح تطوير الميزات أسهل ويمكن تكييفه مع العمليات التجارية الحالية. في هذا البحث ، تم بناء نظام يمكنه تعديل العمليات التجارية التي تديرها شركة تسمى BPM System. يستخدم هذا البحث نهج العمليات التجارية في استخدام النظام بحيث يكون النظام مرنًا وقابل لإعادة الاستخدام. المرونة في هذه الحالة هي أن النظام يمكن تشغيله وفقًا لعمليات الأعمال ال ُمدخلة. بينما يمكن إعادة استخدامها في هذه الحالة ، يمكن استخدام خدمة الويب التي يوفرها النظام في عمليات الأعمال الأخرى. تضمنت دراسة الحالة في هذه الدراسة Syariahrooms Hospitality ونجح هذا البحث في بناء نظام BPM مرن وقابل لإعادة الاستخدام

    An algebraic framework for compositional design of autonomous and adaptive multiagent systems

    Get PDF
    Doctor of PhilosophyDepartment of Computing and Information SciencesScott A. DeLoachOrganization-based Multiagent Systems (OMAS) have been viewed as an effective paradigm for addressing the design challenges posed by today’s complex systems. In those systems, the organizational perspective is the main abstraction, which provides a clear separation between agents and systems, allowing a reduction in the complexity of the overall system. To ease the development of OMAS, several methodologies have been proposed. Unfortunately, those methodologies typically require the designer to handle system complexity alone, which tends to lead to ad-hoc designs that are not scalable and are difficult to maintain. Moreover, designing organizations for large multiagent systems is a complex and time-consuming task; design models quickly become unwieldy and thus hard to develop. To cope with theses issues, a framework for organization-based multiagent system designs based on separation of concerns and composition principles is proposed. The framework uses category theory tools to construct a formal composition framework using core models from the Organization-based Multiagent Software Engineering (O-MASE) framework. I propose a formalization of these models that are then used to establish a reusable design approach for OMAS. This approach allows designers to design large multiagent organizations by reusing smaller composable organizations that are developed separately, thus providing them with a scalable approach for designing large and complex OMAS. In this dissertation, the process of formalizing and composing multiagent organizations is discussed. In addition, I propose a service-oriented approach for building autonomous, adaptive multiagent systems. Finally, as a proof of concept, I develop two real world examples from the domain of cooperative robotics and wireless sensor networks

    Quality Goal Oriented Architectural Design and Traceability for Evolvable Software Systems

    Get PDF
    Softwaresysteme werden heute z.B. aufgrund sich ändernder Geschäftsprozesse oder Technologien mit häufigen Veränderungen konfrontiert. Die Software und speziell ihre Architektur muss diese Änderungen zur dauerhaften Nutzbarkeit ermöglichen.Während der Software-Evolution können Änderungen zu einer Verschlechterung der Architektur führen, der Architekturerosion. Dies erschwert oder verhindert weitere Änderungen wegen Inkonsistenz oder fehlendem Programmverstehen. Zur Erosionsvermeidung müssen Qualitätsziele wie Weiterentwickelbarkeit, Performanz oder Usability sowie die Nachvollziehbarkeit von Architekturentwurfsentscheidungen berücksichtigt werden. Dies wird jedoch oft vernachlässigt.Existierende Entwurfsmethoden unterstützen den Übergang von Qualitätzielen zu geeigneten Architekturlösungen nur unzureichend aufgrund einer Lücke zwischen Methoden des Requirements Engineering und des Architekturentwurfs. Insbesondere gilt dies für Weiterentwickelbarkeit und die Nachvollziehbarkeit von Entwurfsentscheidungen durch explizite Modellabhängigkeiten.Diese Arbeit präsentiert ein neues Konzept, genannt Goal Solution Scheme, das Qualitätsziele über Architekturprinzipien auf Lösungsinstrumente durch explizite Abhängigkeiten abbildet. Es hilft somit, Architekturlösungen entsprechend ihrem Einfluss auf Qualitätsziele auszuwählen. Das Schema wird speziell hinsichtlich Weiterentwickelbarkeit diskutiert und ist in ein zielorientiertes Vorgehen eingebettet, das etablierte Methoden und Konzepte des Requirements Engineering und Architekturentwurfs verbessert und integriert. Dies wird ergänzt durch ein Traceability-Konzept, welches einen regelbasierten Ansatz mit Techniken des Information Retrieval verbindet. Dies ermöglicht eine (halb-) automatische Erstellung von Traceability Links mit spezifischen Linktypen und Attributen für eine reichhaltige Semantik sowie mit hoher Genauigkeit und Trefferquote.Die Realisierbarkeit des Ansatzes wird an einer Fallstudie einer Software für mobile Serviceroboter gezeigt. Das Werkzeug EMFTrace wurde als eine erweiterbare Plattform basierend auf Eclipse-Technologie implementiert, um die Anwendbarkeit der Konzepte zu zeigen. Es integriert Entwurfsmodelle von externen CASE-Tools mittels XML-Technologie in einem gemeinsamen Modell-Repository, wendet Regeln zur Linkerstellung an und bietet Validierungsfunktionen für Regeln und Links.Today software systems are frequently faced with demands for changes, for example, due to changing business processes or technologies. The software and especially its architecture has to cope with those frequent changes to permanently remain usable.During software evolution changes can lead to a deterioration of the structure of software architectures called architectural erosion, which hampers or even inhibits further changes because of inconsistencies or lacking program comprehension. To support changes and avoid erosion, especially quality goals, such as evolvability, performance, or usability, and the traceability of design decisions have to be considered during architectural design. This however often is neglected.Existing design methods do not sufficiently support the transition from the quality goals to appropriate architectural solutions because there is still a gap between requirements engineering and architectural design methods. Particularly support is lacking for the goal evolvability and for the traceability of design decisions by explicit model dependencies.This thesis presents a new concept called Goal Solution Scheme, which provides a mapping from goals via architectural principles to solution instruments by explicit dependencies. Thus it helps to select appropriate architectural solutions according to their influence on quality goals. The scheme is discussed especially regarding evolvability, and it is embedded in a goal-oriented architectural design method, which enhances and integrates established methods and concepts from requirements engineering as well as architectural design. This is supplemented by a traceability concept, which combines a rule-based approach with information retrieval techniques for a (semi-) automated establishment of links with specific link types and attributes for rich semantics and a high precision and recall.The feasibility of the design approach has been evaluated in a case study of a software platform for mobile robots. A prototype tool suite called EMFTrace was implemented as an extensible platform based on Eclipse technology to show the practicability of the thesis' concept. It integrates design models from external CASE tools in a joint model repository by means of XML technology, applies rules for link establishment, and provides validation capabilities for rules and links

    New Approaches for Refactoring to Frameworks

    Get PDF

    Flexible Kommunikation in effizient entwickelten adaptiven vernetzten Dienste- und Gerätesystemen

    Get PDF
    Die fortschreitende Miniaturisierung der IT-Landschaft und die zunehmende Mobilität durch die Ausbreitung von Funkstandards schufen Voraussetzungen um im Sinne des Internet der Dinge Geräte des Alltags miteinander zu vernetzen und so IT-basierte Systeme zu erschaffen, die unterstützend in Situationen des menschlichen Lebens eingreifen. Diese Umgebungen werden im allgemeinen als ambiente Systeme bezeichnet. Für die Integration von Geräten und Diensten unterschiedlicher Hersteller und Anwendungsgebiete werden Domänen übergreifende Frameworks benötigt, die dem Nutzer unabhängig von der Hardware das komfortable und effiziente Entwickeln ambienter Systeme ermöglicht. Die vorliegende Arbeit beschreibt dafür die wichtigsten Anforderungen und stellt einige existierende Frameworks vor. Für den Ansatz der OSGi Remote Services wird die vom Autor realisierte Middleware Comoros vorgestellt, die den Standard mit dem Devices Profile for Web Services kombiniert. Dadurch entsteht eine standardkonforme Lösung, welche die Dynamik der OSGi-Plattform mit der Webservice basierten Kommunikation für Kleinstgeräte kombiniert. Von dieser Lösung ausgehend wurde Comoros um Bereiche erweitert, die für die Entwicklung verteilter ambienter Systeme notwendig sind. Neben einem dynamischen und komfortablen Ansatz für das Daten-Marshaling umfasst die Comoros-Erweiterung auch eine Event-basierte Kommunikation und eine umfassende und einfache Integration von Altsystemen. Weiterhin wird die Hersteller unabhängige Integration von Geräten in die Service-Plattform beschrieben, die für den Einsatz im IoT-Umfeld eine besondere Bedeutung hat. Um auf wechselnde Anforderungen dynamisch reagieren zu können setzt Comoros zudem etablierte Management-Standards um und kann so an die jeweils gültige Anforderung adaptiert werden. Um die Umsetzung der definierten Anforderungen von Comoros zu belegen wurde eine umfangreiche Evaluierung durchgeführt. Der Fokus dieser Evaluierung liegt dabei auf der Vermessung der Effizienz und Leistungsfähigkeit der Middleware, Eigenschaften, die bei einem Einsatz in Ressourcen beschränkten Umgebungen von besonderem Interesse sind. Zusätzlich wurde auch der Entwicklungskomfort vermessen, der Indikator für eine hohe Benutzerakzeptanz ist

    Creating a Metric to Measure Software Flexibility in Object-Oriented Programming

    Get PDF
    Business requirements inevitably change over time due to market shifts, law changes, new product launches or any number of other factors. The software being used by these businesses therefore also has to be adapted to meet the new requirements. How software is built has an impact on how easily and quickly the software can be changed to meet these new requirements. This thesis firstly identifies programming practices which make software difficult to adapt. To establish that these practices are genuinely considered "bad practice" a metric was created for grading the academic rigour of articles discussing a programming practice and this metric was used to perform meta-analyses of each practice identified, this meta-analysis methodology is based loosely on the methodology used for performing meta-analyses of clinical trials. The results of these meta-analyses demonstrated that the identified practices were widely considered bad practice by developers. Another metric was created to grade source code based on the frequency these bad practices appear in the code and give an overview of how flexible the code is. The aim of this metric is to facilitate learning for junior programmers while allowing more experienced programmers to evaluate the flexibility of software. A software tool was launched to enable users to evaluate and test the metric which was created. The metric was evaluated by comparison to alternative metrics and through user feedback
    corecore