Science topic

Software Architecture - Science topic

Explore the latest questions and answers in Software Architecture, and find Software Architecture experts.
Questions related to Software Architecture
  • asked a question related to Software Architecture
Question
1 answer
Is there any method in the literature that helps to generate software design based on some parameters?
Thank you.
Relevant answer
Answer
Generative design is an approach that leverages algorithms and computational models to automatically generate design solutions based on a set of predefined parameters and constraints. It has been applied to various domains, including architecture, industrial design, and software engineering. In the context of software design, generative design can assist in generating architectural blueprints, component layouts, or even high-level code templates.
Few examples:
1. Genetic Algorithms (GA): GA is an optimization technique inspired by natural evolution. It involves generating a population of potential design solutions encoded as individuals, evaluating their fitness based on predefined objectives and constraints, and iteratively improving the population through selection, crossover, and mutation operations. GA can be used to evolve software architectures, component compositions, or code structures based on specified criteria.
2. Constraint-based Design: This approach involves defining a set of constraints and relationships between software design elements, such as components, interfaces, or architectural patterns. A constraint solver or rule-based system then generates design solutions that satisfy the specified constraints. This technique can be useful for generating software designs that adhere to specific architectural principles or quality attributes.
3. Template-driven Design: Template-driven design involves defining a set of design templates or patterns that capture reusable design configurations. These templates can be parameterized to allow customization based on specific requirements. By selecting and instantiating appropriate templates based on user-defined parameters, software designs can be generated efficiently.
4. Machine Learning-based Approaches: Machine learning techniques, such as neural networks or deep learning models, can be trained on existing software designs to learn patterns and relationships. Once trained, these models can generate new design solutions based on input parameters. Machine learning approaches have been used for generating code snippets, suggesting software architectures, or automating design decisions.
However, human expertise and domain knowledge are still crucial for interpreting and refining the generated solutions.
  • asked a question related to Software Architecture
Question
1 answer
In the context of software engineering, software quality measures how well the software is designed and how well the software conforms to that design at the software architecture.
Relevant answer
Answer
hi,
You might get more traction if you posed your two questions as two separate questions.
I have a few questions to ask before attempting to answer your question on quality assessment.
1a. How do you define software quality?
1b. Can there be other definitions? i.e. is quality a definition or a policy?
2. Does quality assessment include the assessment of the quality assessors?
3. Who are the quality assessors responsible to?
4. Do you want to assess software quality before building the code (i.e. predicting the future of something before it has been started) or in the middle (where there is some code to evaluate), or after completing the code?
  • asked a question related to Software Architecture
Question
10 answers
answer both questions
Relevant answer
Answer
La calidad de un diseño de software puede ser evaluda de diversas maneras, pero en general, se busca que el diseño cumpla con ciertas características que lo hagan eficiente, escalable, seguro y que cumpla con los requisitos y expectativas del cliente.
Las siguientes son algunas de las formas de evaluar la calidad de un software:
*Cumplimiento de los requisitos: El diseño debe de cumplir con los requisitos funcionales y no funcionales establecidos para el proyecto.
*Eficiencia: el diseño debe de ser eficiente en términos de uso de recursos como memoria, capacidad de procesamiento y almacenamiento.
*Mantenibilidad: El diseño debe de ser fácil de mantener y actualizar en el futuro.
*Seguridad: El diseño debe de ser seguro y proteger los datos y la información del usuario.
*Escalabilidad: El diseño debe de ser escalable para poder manejar grandes volúmenes de datos o usuarios.
La arquitectura de software, no es más que la estructura subyacente que sostiene el sistema de software, incluyendo componentes, módulos y las relaciones entre ellos. La arquitectura de software proporciona una visión general del sistema de software y ayuda a los desarrolladores a entender cómo deben interactuar los diferentes componentes para cumplir con los requisitos del sistema. La arquitectura de software también ayuda a los desarrolladores a identificar los riesgos y problemas potenciales y a tomar decisiones informadas sobre cómo se deben diseñar y desarrollar los diferentes componentes del sistema. Una arquitectura bien diseñada puede mejorar la calidad del software, la seguridad, el rendimiento, la escalabilidad y la facilidad de mantenimiento.
  • asked a question related to Software Architecture
Question
1 answer
Answer that you consider it to be the architecture of a software.
Relevant answer
Answer
Dear Danay,
All ten of the aforementioned software applications can help architects realize their visions. Your needs determine the best option for you. Maya, SketchUp, and ArchiCAD are often favorites among beginners and young designers.
Revit Architecture
SketchUp
V-Ray
AutoCAD
Maya
ArchiCAD
Grasshopper
Dynamo
Fusion 360
  • asked a question related to Software Architecture
Question
1 answer
Do you know any references about papers on software design/modelling, or software architecture design related to visual acuity measurement in the context of Age-related macular degeneration or glaucoma? I'm mostly interested by the design process, architecture design. The papers I find have pertinent titles but mostly refers to the medical or statistical analysis use of such software in ophtalmology. Thanks.
Relevant answer
Answer
Dear Mr. Ferdinand ,
The advances in technology, such as wider screen sizes and higher screen resolutions, more computing capacity, and lower hardware costs, may have improved vision evaluation in particular. Several vision evaluation tools have already been created and released.
This is an opinion of numbers and performance of self-testing visual acuity available resources. Software designed for specialist clinical use was not included. There is also a need for control of resources for self-testing visual acuity to reduce the risk of users being confused.
Best Regards
Prof .U .Badawy
  • asked a question related to Software Architecture
Question
22 answers
Hello everyone
I need your help in these questions, please
1- what is difference between: model-view control (MVC), domain-driven design (DDD), and model-driven design (MDD)?
2- how can I describe MVC, DDD and MDD? are they consider analysis approach or what?
3- how are they effect on system architecture and its performance?
Relevant answer
Answer
mvc is a completely different subject than the other two.
1- Model View Controller (MVC) is a programming architecture that divides software into three separate parts. These sections include Model for database communication, View for creating a user interface to display and change database data, and Controller for processing user requests.
But DDD and MDD are software analysis and design methodologies, each of which looks at the issue from a different angle of view, and with tools, best practices, and designing patterns such as factory and repository, etc., it is impossible to solve it....
2- As mentioned, DDD and MDD are introduced during software analysis and design, the effect of which continues until the moment of application, but mvc is the architecture of programming layering(3 tier), which is in C# ASP .Net MVC
3- All three of these affect the architecture of the system. DِِDD and MDD affect the type of business operation of the system and its service and the type of its facilities, and ultimately affect the classes and services.But mvc is an independent architecture that separates the program into three different layer
  • asked a question related to Software Architecture
Question
3 answers
We, the organizers of the 2nd International Workshop on Software Engineering for Healthcare (SEH 2019) held in conjunction with ICSA 2020, in Salvador, Brazil, would like to kindly invite you to participate in this workshop, which will occur on Monday, March 16th.
We will have an exciting keynote about Health 4.0 by Dr. Paulo Oliveira Antonino head of the Embedded Software Engineering department of the Fraunhofer Institute for Experimental Software Engineering (IESE) in Kaiserslautern, Germany. 
Additionally, we will discuss research works and cases studies on interesting topics of: 
  • Agile development of medical software
  • Apps for diagnostic support
  • Data mining applied in medical systems
  • Security, risk management, compliance, and conformity assessment of medical devices and Apps, and EHR systems
  • Technology applied for medication traceability
Program and registration information are available in https://tinyurl.com/seh2020
We hope to see you in Salvador, Brazil!
Our best regards,
SEH 2020 Organizing Committee
Relevant answer
Answer
ok dear Lina Garcés
  • asked a question related to Software Architecture
Question
5 answers
For example I'm investigating in the Software architecture field specially in Migration from Legacy Software into the Cloud-base infrastructure (Microservices) .
Relevant answer
Answer
How to Represent a Problem / Main Question in my research to be as a fundamental theory for my thesis ? For example I'm investigating in the Software architecture field specially in Migration from Legacy Software into the Cloud-base infrastructure (Microservices).
You can frame your research problem / problem statement only when you'd done decent literature review on your research topic i.e. what are the issues surrounding the research problem you try to solve e.g. there are still multi-platform instability issues e.g. immature mesh services or layer 2 network extension, security exposure, lacking developers or operations staff skill set / training etc. to migrate legacy software into cloud-based containers / microservices which can be stateless and span across multi-cloud environments etc.
How you frame your research questions are depending on your research problem and research objectives. Once you have nailed down the research questions, you can form your hypotheses easily for your empirical research. Do note all the research questions you posed must be answer at the end of your research report.
Your research problem and questions can't be or as a fundamental theory of your thesis. As part of your literature review, you should also review what theory / theories / theoretical framework your research should underpin on so that your developed conceptual framework / research model is "grounded" on those theories that can "hold water" and wouldn't be challenged during proposal defense. Wishing you all the best.
  • asked a question related to Software Architecture
Question
3 answers
Dear Collaborator,
We are researchers at the University of Sao Paulo, Brazil. We are carrying out an online survey to investigate which strategies have been used by industrial practitioners and researchers for achieving interoperability concerns (e.g., technical, syntactic, semantic, organizational interoperability).
With your valuable contribution, we also intend to understand the benefits and drawbacks of existing interoperability solutions.
Therefore, we would kindly invite you to answer the survey available in http://limesurvey.labes.icmc.usp.br/index.php/225146?lang=en
Participation in the study typically takes 20 minutes and is strictly anonymous.
We will provide a digital CERTIFICATE for participants who require it.
We appreciate if you can forward this invitation to your colleagues.
Thank you for your participation,
For more information, feel free to contact us
Kind regards,
PhD(c) Pedro Henrique Dias Valle (pedrohenriquevalle@usp.br)
Lina Garcés, PhD (linamgr@icmc.usp.br)
Prof. Dr. Elisa Yumi Nakagawa (elisa@icmc.usp.br)
Relevant answer
Answer
The survey is difficult to use, since it requires detailed responses for techniques that were identified as not used. Also, since multiple efforts applied in my experience, not all techniques that were applied were applied the same in different efforts.
  • asked a question related to Software Architecture
Question
3 answers
For example, in the case of a web application, an architectural description includes building the system of databases, web servers, application servers, e-mail, and cache systems.
Relevant answer
Answer
I agree with C K Gomathy
  • asked a question related to Software Architecture
Question
1 answer
What is the consistency rule?
If we consider the nature of consistency [Spanaudakis, Zisman 2001], then we imagine that the consistency rule is a relationship between
two elements of different diagrams.
Let's just consider these consistency rules, which are relations between elements of different diagrams.
If we're using the uppercase letter UML diagram type, and the lowercase UML element of this diagram, then we would get the following table for UML diagrams and the next table for UML elements.
Table 1. UML diagrams
A - Business Use Case Realization Diagram (ACT)
B - Business Use Case Diagram (UC)
C - Business Class Diagram (CLASS)
Q - Internal Use Case Realization Diagram (SD)
S - Business State Machine Diagram (STM)
U - System Use Case Diagram (UC)
Z - System Use Case Realization Diagram (ACT)
Table 2. UML elements
a - Actor (UC)
c - Class (CLASS)
h - Operation (CLASS)
i - Instance (ACT)
l - Lifeline (SD)
m - Message (SD)
p - Partition (ACT)
s - State (STM)
u - UseCase (UC)
v - Activity (ACT)
More markings for diagrams and elements can be found at
Using these designations as regular expressions, we can get some common consistency rules and, by the way, identify duplicates of the proposed consistency rules:
1. BuA - mapping between business use cases and activities [Hausmann 2002, Ibrahim 2011]
2. BaQl - mapping between business actors and sequence lifelines [Sapna 2007]
3. UaQl - mapping between system actors and sequence lifelines [Shinkawa 2006, Ibrahim 2012] - similar as 2.
4. JchQm - mapping between class operations and sequence messages [Sapna 2007, Vasilecas 2009, Khai 2011, Ibrahim 2012, Kalibatiene 2013, Xianhong 2013]
5. JcQl - mapping between classes and sequence lifelines [Sapna 2007, Khai 2011, Ibrahim 2012, Kalibatiene 2013, Xianhong 2013]
6. AvCch - mapping between activities and class operations [Sapna 2007, Chanda 2009, Xianhong 2013]
7. AiCc - mapping between activity instances and classes [Chanda 2009].
What consistency rules do you use when constructing your software architectures? I use 87 such consistency rules.
Relevant answer
Answer
Next consistency rule: 8. ApCc - mapping between activity partitions and classes[Chanda 2009, Xianhong 2013]
And what about this one: 9. BaAp - mapping between business actors and activity partitions [Ibrahim 2011] ?
  • asked a question related to Software Architecture
Question
12 answers
I am looking for Open Source software projects that migrated from a monolithic architecture to microservice. I currently found only toy projects, or projects developed as microservices from scratch.
Can anyone help me to find some projects?
Relevant answer
Answer
Thanks for all your contributions. I created a GitHub page where I added all the projects I found. Feel free to send pull requests of new projects to be added: https://github.com/davidetaibi/Microservices_Project_List
  • asked a question related to Software Architecture
Question
7 answers
Hey, i am a student of Masters in software engineering and i want to do thesis in software architecture, can anyone suggest me any topic in the areas of microservices architecture or in design decisions making?
Relevant answer
Answer
(1) a good model of software architecture will help a great deal of design decision making.
(2) SBC software architecture model is a good one I would recommend you to use.
(3) References of SBC software architecture:
  • asked a question related to Software Architecture
Question
5 answers
Do you see any value in the use of SysML for modelling software intensive systems?
SysML is good for building electro-mechanical systems with embedded software components but if you are building a Command and Control software or any other complex software application, it seems SysML is ineffective and does not produce real value (my opinion). I would like to know your opinion and experience on the use of SysML in software intensive systems excluding platform applications such as automobiles or aircrafts.
Thanks a lot.
Alper Akarsu
Relevant answer
Answer
The Systems Model (or User Model) needs a Metamodel to ensure consistency between 9 SysML diagrams.
This is terrible a very bad modeling expereince for software intensive systems.
I would suggest you try the Structure-Behavior Coalescence (SBC) Process Algebra (PA) for the software modeling.
The SBC-PA is a metamodel as well as a systems model for software intensive systems.
-----------------------------------------------
Introduction of SBC-PA can be found in the paper
  • asked a question related to Software Architecture
Question
3 answers
I am student of Master in Information Engineering. The software architecture domain is new for me. I want to do thesis in it. I am thinking to do in "security for software architecture" but I still have to narrow down or may be from where to start I am very confuse. Any one could help me please.
Thanks.
Relevant answer
Answer
ok share it with us if we can help
  • asked a question related to Software Architecture
Question
4 answers
6. Under what circumstances would you want to employ a full-strength ATAM and under what circumstances would you want to employ a Lightweight Architecture Evaluation?
Relevant answer
Answer
when there is no need for formally verified architecture
  • asked a question related to Software Architecture
Question
12 answers
Hello Sir/Mam,
I wants suggestion about Open Problems/Challenges in field of Security Architecture for IoT Systems for my Thesis work and need feedback about the significance of this research field (Is this a trending research field now a days?).
Kindly Guide me.
Thanks
Relevant answer
Answer
Dear Umair Khalid,
the security aspects of IoT and 5G Networks is a new broad and interesting field of research. In this connection, see my answer below:
For interesting Research Area (RA) and security topics in IoT see my answer below:
The following IoT security RAs are currently important:
RA5: Detecting anomalies in the IoT – Self Adaptive IDS (Intrusion Detection System)
RA6: Machine learning for IoT Security & Privaty support
RA7: Adaptive Trust Systems in the IoT; Adaptive trust estimation
Here are some sources of literature on these RAs.
Best regards
Anatol Badach
RA 5: Detecting anomalies in the IoT
V. A. Desnitsky, I. V. Kotenko and S. B. Nogin:Detection of Anomalies in Data for Monitoring of Security Components in the Internet of Thingshttps://ieeexplore.ieee.org/document/7190452/
R. Ferrando and P. Stacey: Classification of Device Behaviour in Internet of Things Infrastructures: Towards Distinguishing the Abnormal From Security Threatshttps://arrow.dit.ie/cgi/viewcontent.cgi?article=1156&context=engscheleart2
S. Ahmad, A. Lavin, S. Purdy and Z. Agha: Unsupervised real-time anomaly detection for streaming datahttps://www.sciencedirect.com/science/article/pii/S0925231217309864
S. Ahmad, S. Purdy: Real-Time Anomaly Detection for Streaming Analyticshttps://arxiv.org/pdf/1607.02480.pdf
H. HWJ Bosman, G. Iacca, A. Tejada, H. J. Wörtche, A. Liotta: Spatial anomaly detection in sensor networks using neighborhood informationhttps://www.sciencedirect.com/science/article/pii/S1566253516300252
H. HWJ Bosman: Anomaly detection in networked embedded sensor systemshttps://pure.tue.nl/ws/files/31668745/20160912_Bosman.pdfAnomaly
JP Vasseur and M.G. Seewald: Threat Detection and Mitigation for IoT Systems using Self Learning Networks (SLN)https://docbox.etsi.org/Workshop/2016/201606_SECURITYWS/S05_MITIGATINGMECHANISMS/CISCO_SEEWALD.pdf
RA6: Machine learning for IoT Security & Privaty support
F. Restuccia, Member, S. D’Oro and T. Melodia: "Securing the Internet of Things: New Perspectives and Research Challenges" https://arxiv.org/pdf/1803.05022.pdf
S. Kaplantzis, A. Shilton, N. Mani and Y. Sekercioglu: Detecting Selective Forwarding Attacks in Wireless Sensor Networks using Support Vector Machineshttps://pdfs.semanticscholar.org/1364/90cbfdec54735532a977a6d36d488eb14dca.pdf
J. Ca˜nedo and A. Skjellum: Using Machine Learning to Secure IoT Systemshttps://ieeexplore.ieee.org/document/7906930/
A. Balaji Buduru: An Adaptive Approach to Securing Ubiquitous Smart Devices in IoT Environment with Probabilistic User Behavior Predictionhttps://repository.asu.edu/attachments/176569/content/Buduru_asu_0010E_16584.pdf
RA7: Adaptive Trust Systems in the IoT; Adaptive trust estimation
H. Son, N. Kang, B. Gwak and D. Lee: An Adaptive IoT Trust Estimation Scheme Combining Interaction History and Stereotypical Reputationhttps://ieeexplore.ieee.org/document/7983132/
  • asked a question related to Software Architecture
Question
4 answers
I've recently read about a Reinforcement Learning (RL) agent with an LSTM controller overseeing an LSTM path integration module receiving occassional visual input from a CNN (Banino et al., 2018).
Does the functionality gain of combining different NNs eventually flat out? Is model standardization, bringing an air of component-based development (CBD) into NN architectures, for the best? Or are end-to-end implementations with higher integration values to be preferred?
Relevant answer
Answer
I agree handcrafting components is going to be critical in the future. I think creating hybrid networks with both hand crafted as well as learner components is going to be the next step. Since neural nets are too rigid post training this to truly instill some dynamic component hand crafting would be the most ideal way.
  • asked a question related to Software Architecture
Question
4 answers
how to determine bounds based on DDD (Domain Driven Design)?
Relevant answer
Answer
My opinion is that you have your answer already in your question: Find your bounded contexts. I also had to refactor a software monolith and it was very helpful to focus on the data model first. With this data model, you know the entities in your system. In a second step, you should consider the functionality of your monolith. Do it not in a fine granular way. Try to abstract from the implementation and to identify logical components. If you find such components, then your are able to describe their functionality and to describe the parts of the model it needs. Subsequently, you can separate your data model to the components and you get your bounded contexts. Furthermore, your components are nice approximations of microservices.
So, in short:
  1. Data model of the whole application (abstract)
  2. Functionality of the whole application (abstract)
  3. Find logical components
  4. Describe the functionality of components and determine, which parts of the data model they affect
  5. The separated data model build your bounded contexts
  6. The components are your microservices
I hope, it helps
  • asked a question related to Software Architecture
Question
7 answers
From a recent IEEE software article we are looking for those legs that make architectural design decisions sustainable in terms of documentation effort, maintainability and trace links to other software artifacts, balancing the items describing a decision and the capturing effort needed to maintain such knowledge evolvable over time.
Relevant answer
Answer
Hi Peter, Michael
Thank you for the input. I will check the references mentioned.
In addition, and regarding decisions in Agile contexts, there are some ideas using a minimalistic approach you can find in the following article: Uwe Zdun, Rafael Capilla, Huy Tran, Olaf Zimmermann: Sustainable Architectural Design Decisions. IEEE Software 30(6): 46-53 (2013)
Also, Olaf Zimmermann when we worked for IBM distinsguished between 3 types of decisions (strategic, technical and 1 more I can't remember) but it seems not easy to know which decisions aremore relevant than others. From our view, we limit the granularity o f the decisiones to the level of package and class in order to limit the number of dependencies between decisions. However, there are some recent attempts from Olaf for capturing decisions at the code level using a semi-automatic approach.
Cheers
Rafa
  • asked a question related to Software Architecture
Question
3 answers
I am a master student, i have trouble in finding the right article/ book to understand the basics and to get in-depth knowledge of Multilayer and Multitier architecture.any suggestion will be appreciated 
Relevant answer
Answer
I'd go with Jaime's suggestions...
  • asked a question related to Software Architecture
Question
5 answers
I am having trouble finding information on the use of a 3D IFC file within a building automation program, there seems to be no program that can interrogate a 3D file. 
Relevant answer
Answer
Thanks peter, I would love to read these papers
  • asked a question related to Software Architecture
Question
1 answer
Hi All
When I debug a project in Nios II Eclipse, there is an error: "error starting gdbserver". Can anyone solve this?
Thank You
Relevant answer
Answer
If you are running an antivirus program with a built-in firewall this may be blocking the listening tcp port opened by the nios2-iss executable. You must unblock the nios2-iss.exe program to enable it to operate through the firewall. Please consult the help section of your antivirus program for instructions on how to do this.
  • asked a question related to Software Architecture
Question
3 answers
I'm creating a network of an avionics architecture with CAN-bus, how could I simulate that arch? (e.g. Labview?)
Thanks!
Relevant answer
Answer
For simulating avionics architectures, it is important to first understand the level of integration of the platform. If the set of parameters that usually travel along databuses is well delimited and the knowledge of the systems behavior is reasonable, the MATLAB/SIMULINK tools are useful. It becomes a hurdle as the complexity of the architecture increases. For example, for Human-machine interfaces in avionics applications, you can try to use the VAPS XT that shake-hands with the Mathworks products. 
The attached link can guide you on this matter. 
  • asked a question related to Software Architecture
Question
3 answers
I am curious whether there exists a systematic literature (both systematic mapping or systematic literature study) review about the use of software architecture styles such as e.g. SOA or layered architecture in the safety-critical embedded systems domain. This includes automotive, avionic, railway, industry 4.0, and cyber-physical systems.
Relevant answer
Answer
Hello Stefan,
As far as I known there is no SLR on that topic, so it is an interesting one to approach. What I found is the work in [1].
Regards,
[1] Dersten, S., Axelsson, J., Froberg, J. Effect analysis of the introduction of AUTOSAR - A systematic literature review (2011) Proceedings - 37th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2011, art. no. 6068350, pp. 239-246.
  • asked a question related to Software Architecture
Question
8 answers
I am looking for source code of knowledge based systems in order to be able to analyze their precise software architecture and quality. I am NOT interested in tools for building knowledge based systems (e.g. CLIPS, JESS, etc.). What I am searching for are complete systems containing a user interface for common users, integrating external services (e.g. a web service, a database, etc.) and who's core is a knowledge based system (not necessary an expert system).
In this case "knowledge based system" means a software doing "some kind of reasoning" (including expert systems, etc.). I am NOT looking for knowledge management systems only.
Thank you for your help!
Relevant answer
Answer
You can start with d3web.
However, a long list of knowledge based and expert system are already mentioned by someone in stack over flow. 
List of Knowledge Based and expert systems
  • asked a question related to Software Architecture
Question
2 answers
My understanding is that it depends upon the software. If software handles the faulty prefetching misses to recover from error and do error related work, it is faulty. If the software handler is implemented in a way that it ignores the prefetching misses and replace them with nops. then it is non faulty?
Any ideas and related sources will be useful
Relevant answer
Answer
TLB ==> Translation Lookaside Buffer?  If so, for the HW architecture(s) that I am familiar with, SW is unaware of a TLB miss and has no involvement.  Also, prefetch of instructions has no SW involvement at all -- this is a purely HW function.  The net result of either a TLB miss or a prefetch failure is a decreas in MIPS.  This is typically observed when a change in context occurs -- the machine execution slows down while the various caches, TLB, and pipelines are repopulated.  This can, of course, be mitigated with a branching pipeline design but it can never be eliminated.
  • asked a question related to Software Architecture
Question
2 answers
Hi there , 
I wish to get prominent inputs from respective scholars in software and networking , how your school of thought on architecture , components , diagrams and etc. Is it possible all of that in one layout and how to ensure it is understandable to the layman reader / assessor.
Relevant answer
Answer
Hi Ahmed,
I do not recommend to put everything in a single layout. It will be difficult to absorb.  I would recommend that you develop your readers along your text in order to give the required knowledge slowly so that they can understand it.  Do your best to make your diagram as simple as possible.  The diagram should target a certain perspective. 
My recommendation for the best modeling approach is to
1. Build your high level architecture including (baseline, guidelines, design decisions, and dictionary).
2. Detail your architecture by building the software components model.
3. Build your hardware and network model separately.
4. Build a deployment model that merges the components and the network models.
I hope my feedback is useful to your work.
regards
Osama Mabrouk
  • asked a question related to Software Architecture
Question
10 answers
Which are the needs and limitations of languages (ADLs) and notations that have been used in the description of SoSs? Which are the main concerns framed in SoSs architecture description? How can we assess the expressiveness of ADLs employed in this context? These and other questions are part of a larger survey available online. I appreciate if you can participate in this survey and help in the distribution of this invitation to your colleagues.
Relevant answer
Answer
I model systems with pen and paper.
  • asked a question related to Software Architecture
Question
6 answers
Looking for software architect researchers suggestions
Relevant answer
Answer
Look for reference architectures and patterns for big data. This book provides a good source of information in this context:
  • asked a question related to Software Architecture
Question
4 answers
What are the evaluation methodologies available for software architectures?
Are there any newer methods (Specially for Web architectural styles)?
At the moment I refer the method introduced by Thomas Fielding. [ https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm ]
I wonder if there are better methods.
Thanks in advance
Relevant answer
Answer
Thank you everyone for the knowledge provided 
  • asked a question related to Software Architecture
Question
4 answers
Architecture styles are
Data-centered architectures
Data flow architectures
Call and return architectures
Object-oriented architectures
Layered architectures
Relevant answer
Answer
hi,
for me there is no absolute answer to that question. The architecture shall be choosen depending on you project. What you want to do, what size, what team organization, what skills, etc.
Anyway your question was about cost effectiveness.
The main cost driver usually is (late) rework, so for me, reducing developpemnt costs has more to do with  process than architecture.
 anyway, the one major criteria for a cost effective architecture is to allow easy and localized  late fixes/changes
  • asked a question related to Software Architecture
Question
6 answers
I am working on my project and I need to find the artifacts of reference architecture
Relevant answer
Answer
A good foundation on architectural view is discussed in Software architectures by Shaw and Garlan. 
  • asked a question related to Software Architecture
Question
8 answers
I would like to work about Siza works in Portugal with my students in a territorial scale. I need the topography, rivers, cities and provinces delimitations in a shapefile format. Thanks
Relevant answer
Answer
I am pretty sure Portugal has its own SDI portal.  If you are fine with the Portuguese language, then this could be a big help.
  • asked a question related to Software Architecture
Question
4 answers
if you have any info or links, could you help me pls
Relevant answer
Answer
Hi Zaid,
A reference architecture is different of a reference model. So, commonly a reference architecture for specific domain, can be created based on a reference model or reusing parts of other reference architectures.
It exists domain independet reference architectures that  are focused in technological domains (e.g., OASIS is a reference architecture to build SOA-based software systems).
I consider that OASIS could be a good example for your question, because it has been used to create SOA-based reference architectures for specific domains, that in turn are instantiated to create software architectures for such domain. 
  • asked a question related to Software Architecture
Question
6 answers
I am trying to figure out an adequate framework for building a system with micro services architecture. Also Web oriented. I have a few options:
  • Symfony2
  • Yii
  • Laravel
  • Primefaces
  • Django
So I need one of the above or another recommended framework. To keep up to date about microservices please follow the attached link. Best regards
Relevant answer
Answer
Have a look at http://oasp.github.io/ . IT's a platform, that Capgemni is using in their projects - also for Microservices
  • asked a question related to Software Architecture
Question
8 answers
I want to get data from social sites like Facebook, twitter, instagram etc. about my company (interest) etc. and later on I want to apply some analytic on that particular data like reports, security, reply message, post status etc.
Is there any open source tool available for this particular purpose ? I go through with search and found that, we can retrieve data from Twitter Hashtags '#' for this purpose, but for this we have to make a website in which that data will be published. Is there any other solution for this particular task ?
Relevant answer
Answer
Hi Asad,
to capture and analyze tweets you can use the open-source DMI-TCAT toolset, available at https://github.com/digitalmethodsinitiative/dmi-tcat.
To capture Facebook data you can use the online tool Netvizz, available at http://apps.facebook.com/netvizz 
Best,
Erik
  • asked a question related to Software Architecture
Question
3 answers
Hi,
I am wondering whether there is any research work that combines the software architecture quality of the developed systems with the employer attractiveness? For example that bad software architecture quality has negative impacts on the attractiveness of employers?
Kind regards,
Michael
Relevant answer
Answer
I think there shoud be an impact in regard to the company,but there is also a bias. It is good for an graduate to have a company like Amazon, Microsoft, in the vita.
But a part of beeing a good architect is the working environment. And the possiblity for further education. Therfore also factors like how long stayed a graduate or an employee in the company and which posiblility exist of further education. Also a mix of expirienced employees and newbees may have an impact of the quality of the created architecture.
Therefore it is hard to understand the process to become a good software architect.
Anyway why do you ask this question?
  • asked a question related to Software Architecture
Question
3 answers
I looked over the internet that NVRAM might use many type of non-volatile memory, such as flash, FeRAM, MRAM, etc.. I got confused about NVRAM that used flash and embedded flash. Some references about them will be really helpful. 
Relevant answer
Answer
 Hello Rizal,
Maybe this article could help you.
Best regards.
  • asked a question related to Software Architecture
Question
1 answer
I have gone through google i/o 2010 rest api calls with service api, content provider api, simple pattern using content provider api and sync adapter also checked job queue with event bus etc. but not able to decide which will be the best approach to consume rest services in android.
some ref links are
Relevant answer
Answer
I think that the right approach is going to depend to the App's requirements. There is a library called Retrofit (http://square.github.io/retrofit/). It is very easy to use and it hides much of the complexity to conect  an Android App to a RESTful service. Check it out  and decide if it fits to your App.
  • asked a question related to Software Architecture
Question
3 answers
Hi
I have been using Medini-QVT which is no longer actively maintained and needs to be used within an old version of Eclipse. The documentation I found around avtd is extremely scant. Has anybody got experience with using qvtd, the extend to which it supports the QVT-Relational spec and how it compares to Medini-QVT?
Appreciate any inputs :).
Relevant answer
Answer
I am using the MediniQVT Engine in Eclipse Kepler. The MediniQVT plugin is built on top of the MediniQVT engine, which runs stand-alone.This plugin is not compatible with newer versions of Eclipse, but I see no reason why the engine should not run in newer versions of Eclipse. The trickiest part was to figure out how to run the engine without the plugin, because it is documented nowhere. I could give you instructions how to get it running if you are interested.
Furthermore, I also took a look at QVTd. I actually use QVTd for the generation of QVTr scripts. I am not really up to date concerning the project status, but I think QVTd is not ready to execute QVTr transformations. You might also be interested in the Fujaba TGG interpreter or Henshin TGG.
  • asked a question related to Software Architecture
Question
6 answers
I want to design a steel or concrete bridge in any design software. So does anyone have step by step procedure of modelling of bridge in software with IS Code.
Relevant answer
Answer
Hi, Suspension bridge are more complicated tahn e.g. trusses as you have no influence lines any more.
You could use Code_Aster that proposes similar possibilities than Abacus or Ansys.
Code_Aster is a free software running on Linux systems.
You can download it at :
Best regards.
  • asked a question related to Software Architecture
Question
3 answers
MRE, MMRE, RMS and PRED(n) are known methods for me. I am looking for suggestions for other or perhaps better methods?
Relevant answer
Answer
use case points estimation is relatively widely used and is also commonly integrated into UML tools. Otherwise expert-based estimation, often enhanced with a Wide-Band-Delphi based consensus building process.
  • asked a question related to Software Architecture
Question
32 answers
I had years of experience on the subject of software testing. I set up a software test department from scratch. We did test plans, created test scenarios and checklists for manual tests. We tried to perform smoke, functional, usability and regression tests. I also had some  experience on test automation just for stress test. We first specified possible bottleneck scenarios, and then saved them, finally we set load test parameters such as NumberOfUsers, BandWidth Range and run
But that is it...
Is there anyone who really implemented test automation? Which tools are you using and suggest?
What percentage of your test cases are automated? What is the ROI?
Thanks much.
Relevant answer
Answer
One needs to differentiate between the automatic generation of tests and the automatic execution of tests.
Unit testing should be implemented as functional testing of components from a contract/user perspective, i.e. that the service/method/operation is nor refused (no exception thrown) if all pre-conditions hold and that all post-conditions hold if the service is provided. The component is tested in a test-bed of mock objects which fulfill their respective components (usually provided by a dependency injection framework) and hence one only tests the functionality of the component being tested - not the lower level components it uses for its own functionality. In integration testing, the mock objects are replaced by actual system objects (once again usually via dependency injection).Note unit and integration tests can be both done across levels of granularity and that they should be the same test code, just that the code is run against the component in a mocking or real environment.
The execution of both, unit and integration tests is usually automated within a build environment like Maven or Gradle. However, the generation of these tests is less often automated. In the case where the component/services contracts are formally or semi-formally specified (e.g.\ using the object constraint language), the generation of these tests can be automated.
Of course there is still non-functional testing like performance, scalability,. security, reliability, ..., testing. Again, the execution of these tests could be automated, whilst the automatic generation of these tests can be automated only to some extend.
  • asked a question related to Software Architecture
Question
16 answers
This year, I give a lecture on software architecture for BSc students. I'm still looking for some "action" for the students, and I want to replace 2-3 exercises (4-6 hours) by an experiment. Does anybody has a design for an experiment on UML modeling? For instance, an experiment that waits for replication?
Thanks Marco
Relevant answer
Answer
  • asked a question related to Software Architecture
Question
4 answers
Usually architectural component (definition from the component and connector view (C&C view) used in CMU-SEI) is defined as procedures and/or data stores at software runtime. At the same time, an object in OOP concept also encapsulates data and related methods (functions) at software runtime. Can I assume both components and objects depict the same things, but only their granularities are different?
Relevant answer
Answer
In my point of view, the mapping between component and object is one to many. Meaning, a component consists of a class of more. But a class does not contains a set of components.
To best my knowledge, these is no fully accepted component based programming language compared to Java and C for object-oriented programming language. Because of this, some researchers have developed their component model based on OO programming language. Fractal and OSGI are examples of these models. This is why some people got confused about if it is a component based language, then why they use objects!
But note that, some component based researchers maps between component and object as one to one relation. But it is not common situation.
In case of speaking about architectural component, the mapping should be one to many as you seek for a high level view of software. Meaning the goal is to identify the structure of the software, and this needs large gran entities.
  • asked a question related to Software Architecture
Question
3 answers
Discuss how a number of autonomous system having different types of platforms (functional as well as technical) interact with each other and work together
Relevant answer
Answer
{Adedoyin Adegoke}
is a researcher here on research gate that is in the field of system of system. Am sure you will find stuff that will coincides with what you are asking.
  • asked a question related to Software Architecture
Question
7 answers
In recent years service-orientation has become a serious architectural pattern for distributed embedded systems. Projects like DPWS have become quite popular. What do you think are the recent trends in this area and what may a research roadmap for SOA in the embedded world contain?
Relevant answer
Answer
Microservices may interest you ( http://martinfowler.com/articles/microservices.html ), it is the combination of REST services and the Unix design philosophy.
Apparently Netflix's A. Cockcroft initially mentioned it ( http://www.infoq.com/interviews/Adrian-Cockcroft-Netflix ). He (AC) also advocated the use of mobile components in the data center (Arm SoC).
  • asked a question related to Software Architecture
Question
13 answers
In order to estimate efforts for a software project we need to use a software cost estimation model. I want to know whether we do have methods in place to check the effectiveness and reliability for checking the software cost estimation models.
Relevant answer
Answer
Here is a big issue in evaluating the effectiveness of an estimation model. The effectiveness, in simple terms, can be defined as the variance between the estimate and actual. The actual effort varies due to many factors (requirements volatility for one) as pointed by various project management studies. You can collect the variance for many projects but while analyzing you have to account for the variance due to many of the project management methods that could have caused an increase in effort. Without such an account, the variance between actual and the estimate cannot be attributed just to the estimation method.
  • asked a question related to Software Architecture
Question
3 answers
Service-Oriented Architecture
Relevant answer
Answer
A very good reference to start with is "SOA Reference Architecture" by Open Group Standard (http://www.opengroup.org/soa/source-book/soa/index.htm). There you can find definitions and a high level overview. A very good article is "Elements of Service-Oriented Analysis and Design"(https://www.ibm.com/developerworks/webservices/library/ws-soad1/) by IBM. Finally here http://serviceorientation.com/ you can find every SOA aspect you need to know.
  • asked a question related to Software Architecture
Question
4 answers
.
Relevant answer
Answer
Hi,
are you looking for an automatic transformation or for concepts regarding this issue?
This article describes the transformation of SoaML into WSDL, BPEL and SCA. This might help you to generate web service descriptions.
For automatic transformations take a look at Enterprise Architect and Rational Software Architect.
Regards,
Michael
  • asked a question related to Software Architecture
Question
5 answers
The modeling software architecture is designed with particular functional and non-functional requirements. The organization often needs to choose model software architecture for future development from several competing organizational architectures. To achieve non-functional requirements for any modeling software architecture still remain a difficult task as many stakeholders involved in the selection process. In existing system there are three approaches, Non-Functional Requirement (NFR) approach, Quality Attribute Model approach and Intuitive Design approach. For each approach having its own bottlenecks such as decisions are not precisely determined, less modularization, no predictive model, no amenable architecture, no scale up architecture and no organizing requirements etc.,. In order to improve performance, functional behavior, security, reliability and to overcome the limitations of software architecture with quality attributes, the proposed system is to model software architecture to achieve non-functional requirements. There are several methods have been proposed to model and analyze software architecture with respect to desired quality attributes. Our proposed system is to embed three approaches such as Architecture Driven Design, Architecture Decisions and Reasoning Framework in order to implement Non-Functional Requirements. A Reasoning Framework is a mechanism for encapsulating the quality attributes knowledge and tools needed to analyze the behavior of a system with respect to some quality attributes. The reasoning framework resolves open issues of modeling to achieve non-functional requirements.
Relevant answer
Answer
An important and well-known approach to incorporate NFR in an architecture are architectural patterns. The most well known ones are the ones from the POSA books, but there are many more out there. A good source for this is the website from the Hillside Group: www.hillside.net. Another good source are the proceedings of the PLoP conference series (like PLoP, EuroPLoP, AsianPLoP, links to these conferences are also on the Hillside website, and many proceedings are also in the ACM DL). As last I can recommend the PhD thesis from Neil Harrison: http://dissertations.ub.rug.nl/faculties/science/2011/n.b.harrison/